Общаются ли серверы пула с биткойнами и в каком качестве?

Я пытаюсь понять, как протекает весь процесс. Вот как я сейчас понимаю, что это работает.

Клиент майнинга -> Сервер пула -> Bitcoind

getwork:

  • Клиент майнинга звонит getworkс сервера пула, а он, в свою очередь, звонит getwork(или что-то еще?) с Bitcoind.

stratum:

  • Клиент майнинга подключается к серверу пула, используя протокол stratum, а сервер пула вызывает getwork(или что-то еще?) из Bitcoind.

getblocktemplate:

  • Клиент майнинга звонит getblocktemplate, а сервер пула звонит getblocktemplateиз Bitcoind.

И я понимаю, что сервер пула делает больше, чем просто ретранслирует информацию, но я хотел, чтобы это было просто. Я просто хочу получить представление о том, как все это сливается воедино и к чему это приводит.

Любая помощь приветствуется!

Ответы (1)

getworkво всех смыслах полностью устарел из-за его неэффективности. На данный момент одно устройство ASIC может полностью завалить bitcoindзапросами, поскольку они могут исчерпать 32-битный одноразовый номер за доли секунды. Ситуация настолько серьезна, что такие пулы, как BTC Guild, взимают чрезвычайно большие (6%+) комиссионные с клиентов getwork, чтобы заставить их переключиться на более эффективные методы.

Внутри такие пулы, как Eloipool , используют getblocktemplateдля создания работы для клиентов, а затем используют stratumили getblocktemplateдля связи с работниками в зависимости от типа запроса, который они делают. getworkне участвует ни на одном этапе. На самом деле, в настоящее время его планируется полностью удалить в какой-то момент.

Итак, Eloipoolв значительной степени ретранслирует тот же самый getblocktemplate, который они получают от bitcoind?
Глядя на jsonrpc_getblocktemplate.py, я бы сказал так.
Спасибо еще раз. Я бы проголосовал за вас, но у меня недостаточно баллов.