В сервисе пула майнинга клиент выполняет весь алгоритм PoW? - PullRequest
0 голосов
/ 25 марта 2020

Я знаю, что одноранговый узел в криптовалютной сети может внести свой вклад в решение следующего блока, который должен быть добавлен в цепочку блоков. Чтобы сделать это и получить некоторое вознаграждение, такой партнер должен быть первым, кто сможет разрешить какой-либо алгоритм PoW. Из того, что я понял, пулы майнинга используют вычислительную мощность клиентских машин для максимально быстрого разрешения PoW. Я так полагаю, что сервер майнинга пула является единственным равноправным участником, который непосредственно участвует в сети, и он полностью выполняет алгоритм, используя вычислительную мощность клиентов, которые выполняют только некоторые второстепенные задачи.

Как можно разделить эту вычислительную среду задача для многих клиентов?

1 Ответ

1 голос
/ 26 марта 2020

Пул-сервер получает «задание» от текущего узла монеты по запросу getblocktemplate. После этого сервер на основе полученных задач готовит подзадачи для участников-майнеров, а также предоставляет им еще getblocktemplate структуры с уменьшенным параметром difficulty. Когда майнер решает подзадачу (с уменьшенной сложностью), он отправляет свое решение в пул, это частичное решение называется share. Пул рассчитывает вклад участников по количеству поданных акций и сложности акций.

Сложность некоторых акций может быть достаточной для соответствия сложности монетной сети. Такой ресурс называется solving share, и это блочное решение. В результате это solving share добавляется в блокчейн как блок, и пул получает награду за блок. Технически майнер может напрямую работать с кошельком, без пула. Этот режим называется solo mining.

См. Spe c для getblocktemplate: https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki

...