224 / 736SDIFF

Share Difficulty

Почему пул иногда просит меньше результатов, но более сложных

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

Share Difficulty определяет, насколько строгое условие должен выполнить результат майнинга, чтобы пул принял его как share — промежуточное подтверждение выполненной работы. При большей сложности то же число попыток в среднем даёт меньше подходящих результатов. Это отдельная настройка, отличная от сложности поиска блока в сети Bitcoin.

Майнинг создаёт хеши — результаты вычислений, которые можно рассматривать как числа. Чтобы пул мог принять результат, тот не должен превышать заданную цель. Более низкая цель строже, потому что под неё попадает меньше результатов. Поэтому Share Difficulty растёт, когда числовая цель снижается. Для интересующихся протоколом: Stratum V2, правила обмена данными с пулом, передаёт этот предел в поле target сообщения SetTarget. Знать формат сообщения для понимания не нужно: более низкий числовой потолок означает более трудное условие для майнера. [1]

Представим, что пул повысил сложность Петры с 1024 до 2048. При той же вычислительной мощности и одинаковой шкале сложности ожидается примерно вдвое меньше подходящих результатов за равный период. Устройство делает попытки так же быстро; просто меньше из них проходит более строгий отбор. Промежутки между результатами остаются случайными. Петра не должна ожидать, что каждый следующий share придёт ровно через удвоенное время. [2]

Считая только сообщения, пул сравнивал бы разные вещи. Поэтому Braiins объясняет учёт через единицы работы, пересчитанные с учётом сложности. Два принятых результата со сложностью 1024 имеют вместе тот же вес, что один со сложностью 2048. Меньше сообщений не доказывает меньшего вклада. Петра также не должна путать этот учётный вес с точным количеством реально выполненных вычислений: это статистическое доказательство работы. Денежное вознаграждение дополнительно зависит от правил пула. [3]

Изменение Share Difficulty само по себе не ускоряет ASIC — специализированный чип в майнере. Оно также не меняет цель сети для блока Bitcoin. При том же количестве независимых попыток и той же сетевой сложности вероятность найти блок остаётся прежней. Пул лишь меняет, какие промежуточные результаты хочет получать. Поэтому снижение сложности shares не упрощает создание блоков Bitcoin. [3]

При одинаковых настройках слабые и мощные устройства отправляли бы очень разное количество результатов. VarDiff, автоматическая настройка сложности, выравнивает эту разницу и сокращает лишний трафик. Braiins также позволяет задать минимум. Это нижняя граница, а не фиксированное назначение: в зависимости от мощности пул может выбрать сложность выше. Сравнивая настройки с текущим показателем, Петра сначала должна понять, видит ли она минимум или фактически назначенную сложность. [2]

Программа должна понимать, какой работы касается изменение. По текущей спецификации Stratum V2 сообщение SetTarget действует на задания, полученные позже, и на ранее полученные будущие задания с пустым ntime_start. Это поле задаёт начальную временную метку в заголовке блока — его краткой служебной части. Пустое поле означает, что задание ещё ожидает активации. Уже полученное задание с заполненным ntime_start сохраняет свою цель. Поэтому при выяснении причины отклонения недостаточно сравнить результат с последним пределом: его нужно сопоставить с правильным заданием. Обычно этим занимается программа майнинга. [1]

Петра может встретить и показатель best share. Например, Braiins Solo обозначает им share с самой высокой сложностью, найденный в течение сеанса майнинга. Назначенная сложность описывает условие, достаточное для отправки; best share показывает, насколько редким был фактически найденный результат. Рекорд — не накопленный прогресс на пути к блоку. Даже исключительный результат не повышает шанс следующей независимой попытки. [4]

Слишком высокий ручной минимум может сделать отправки настолько редкими, что оценка мощности начнёт сильно колебаться. Мониторинг иногда поднимает тревогу, хотя ASIC продолжает работать. Короткая пауза без share сама по себе не доказывает поломки. Петра сравнивает назначенную сложность, длительность наблюдения, принятую работу и состояние соединения. Вместе эти сведения помогают отличить обычную случайность от настоящей проблемы. [2]

Для полной картины прочитайте эту статью вместе с Mining Share, Mining Target, Hashrate, Mining Pool, Bitcoin. На эту статью также ссылаются Mining Pool, Stratum V1, Stratum V2, Mining Share.

DOC · 001Stratum V2 — SetTarget and mining channelsСпецификация DOC · 002Braiins Academy — Worker management and VarDiffДокументация DOC · 003Braiins Academy — Pool work accountingДокументация DOC · 004Braiins Academy — Best shareДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией