Как часто обычный майнер обновляет свой блок-кандидат?

Я понимаю, что это общий вопрос без «правильного» ответа, так как каждый майнер может работать по-разному.

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

До сих пор я был:

  • Использование getblocktemplateдля получения списка транзакций.
  • Обновление списка при поступлении нового блока или с интервалом в 1 минуту .

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

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

Вероятно ли, что майнеры будут склонны обновлять свои блоки-кандидаты намного чаще (или реже), чем каждую минуту?

Ответы (2)

Есть несколько факторов, один из которых заключается в базовой реализации протокола Stratum на многих майнерах. Из-за того, как они реализованы, многие майнеры прерывают соединение со своим пулом, если они не видят никаких обновлений в течение 30 секунд, в результате чего большинство пулов будут отправлять рабочие обновления с этой частотой.

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


Исторически перезапуск работы занимал много времени, но современным ASIC, как правило, требуются сотни миллисекунд, чтобы изменить работу, которую они выполняют, тогда как старым майнерам, таким как HashFast, могут потребоваться десятки секунд.

Да, извлечения getblocktemplate достаточно для программного обеспечения для майнинга. Программное обеспечение, такое как bfgminers, использует для этого longpoll, поэтому программное обеспечение всегда актуально. Если вы отключите longpoll на bfgminer, вы можете установить частоту обновления для API getblocktemplate.

Обратите внимание, что BFGminer не будет опрашивать биткойн RPC менее чем каждые 5 секунд, несмотря на более низкую частоту обновления, которую вы установите.