Шары и майнинг криптовалют

Шары и майнинг криптовалют

Сложность вычислений топовых криптовалют настолько высока, что для самостоятельного расчета хеша понадобятся годы работы топовой видеокарты. Поэтому майнеры объединятся в пулы, которые оптимизируют добычу, распределяя вычисления между участниками. Владельцы ферм, запуская на своем компьютере bat-файл программы для добычи криптовалюты, часто даже не вникают, что такое шары (shares) в майнинге, для чего нужны и как влияют на заработок.

Дело в том, что среди тысяч участников пула правильный хеш рассчитывает только один компьютер. Вознаграждение за найденную подпись делится между майнерами пропорционально затраченным вычислительным ресурсам. И если правильные ключи служат доказательством работы (proof-of-work) для блокчейна, то shares подтверждают работу участников пула, которые имеют право на свою часть вознаграждения.

Что такое шары в майнинге

Майнеры, работающие в пуле, используют для расчета хеша разнообразную вычислительную технику, отличающуюся производительностью. Соответственно, владелец более мощной фермы вкладывает больше ресурсов в общее дело и может рассчитывать на большее вознаграждение. Для расчета эффективности работы воркеров используются shares (доли). Они представляют собой криптографические подписи блоков данных блокчейна, которые не вполне соответствуют требованиям для публикации, зато отличаются большой трудоемкостью вычисления.

Схема функционирования блокчейна Bitcoin.

Другими словами, это подпись данных, которая не может пройти проверку валидности, а служит маркером для измерения выполненной воркером работы. Шара имеет меньшую сложность вычислений, чем хеш. Поэтому она генерируется фермой намного чаще и служит для более детализированного учета доказательства работы. Давайте разберемся, чем плохи shares и почему они не принимаются системой как подписи.

Отличия шары от хеша

Система автоматически регулирует показатель сложности вычислений ключе подписи блоков, который затрудняет расчет хешей при увеличении общей мощности сети. Например, блоки биткоина должны закрываться каждые 10 минут. Если к сети присоединяется больше майнеров или они апгрейдят оборудование, скорость расчетов растет и время закрытия блока уменьшается. В ответ алгоритм повышает сложность расчетов и восстанавливает длительность закрытия блока.

Принимая хеши, алгоритм блокчейна оценивает трудоемкость вычислений и отсеивает ключи, сложность которых «хуже» заданной. Эти непринятые блокчейном хеши ресурс учитывает в качестве доказательства работы каждого майнера.

Блокчейн требует в качестве PoW валидный хеш, но для корректного учета производительности пулом этот показатель не подходит. Вероятность получения валидного ключа при соло-майнинге составляют примерно 1 хеш за полтора года непрерывных вычислений. Однако, участвуя в распределенных вычислениях, они вносят вклад в общее дело. Он зависит от производительности «железа» и качества канала передачи данных (при нестабильном доступе к интернету ключи могут теряться, не достигая получателя). Пул ведет подсчет количества принятых шар от каждого майнера. Хорошие принимаются в качестве хешей, плохие служат мерилом работы.

Для этой цели ресурс устанавливает собственный критерий сложности, помогающий отобрать хорошие shares. Отличие хеша в том, что хеш соответствует требованиям блокчейна, а шара — требованиям пула.


Например, при сложности 1000, пул устанавливает собственную границу сложности для учета подходящих «частей». Например, 10. В таком случае все «претенденты в хеши», сложность которых ниже 1000 и выше 10, учитываются сайтом как шары. Если же участнику посчастливится «добыть» ключ со сложностью выше 1000, пул отправит его в блокчейн и получит за его публикацию вознаграждение.

Зачем нужны шары

Награда за подпись блока распределяется между участниками пропорционально количеству сгенерированных шар при майнинге, которые были приняты и учтены пулом. Он производит выплату за те шары, которые были приняты за период расчета очередного хеша (если последний был найден).

Вероятность найти верное решение пропорциональна хешрейту, задействованному в майнинге. Следовательно, больший хешрейт должен быть лучше оплачен. Шары — единственный способ честного распределения оплаты за блок между участниками процесса.

Учет шар позволяет пулу произвести реальный расчет хешрейта каждого воркера. В целом чем больше шар отправлено за период, тем выше хешрейт участника.

Шары и безопасность майнинга

Распространенный вопрос среди новичков — зачем майнеру отправлять валидную шару, подходящую для подписи блока данных, в пул. Ведь выгоднее отправить ее в блокчейн и получить вознаграждение самостоятельно.

Система работы пула организована так, что все шары несут в себе информацию о ресурсе, для которого они предназначены. Поэтому ресурс получит монеты независимо от того, будет ли направлен валидный ключ непосредственно от него или из другого источника. Шары без сведений о пуле попросту недействительны.

Самостоятельно «пересобрать» подпись майнеры не могут. Они не получают содержимого всего блока, к которому требуется рассчитать подпись. Для работы достаточно лишь заголовка с хешами фактического содержимого блока. То есть, воркер без пула не в состоянии собрать и отправить валидный хеш.

Единственный вред, который теоретически может нанести майнер — не отправлять найденный валидный ключ на ресурс. Такое действие наносит группе ущерб больший, чем одиночке. Теоретически, при наличии собственных вычислительных мощностей, такая атака может принести определенную выгоду. Она носит название «атака удерживания блока» и увеличивает шансы атакующего самостоятельно найти и представить хеш. Но такие систематические действия быстро вычисляются владельцами ресурса при анализе статистических данных. И пользу они могут принести лишь мощным противникам, а не мелким майнерам. Поэтому попытки применить такие атаки на практике крайне редки.

В результате шары лишь используются в качестве доказательства участия воркера в поиске ключей и служат для расчета итогового вознаграждения.

Ссылка на основную публикацию
Похожие публикации