¿Los servidores del grupo se comunican con bitcoind y en qué capacidad?

Estoy tratando de entender cómo fluye todo el proceso. Así es como entiendo actualmente que funciona.

Cliente de minería -> Servidor de grupo -> Bitcoind

getwork:

  • El cliente de minería llama getworkdesde el servidor Pool y, a su vez, llama getwork(¿o algo más?) Desde Bitcoind.

stratum:

  • El cliente de minería ingresa al servidor Pool usando el protocolo stratum, y el servidor Pool llama getwork(¿o algo más?) desde Bitcoind.

getblocktemplate:

  • Las llamadas de los clientes de minería getblocktemplatey las llamadas del servidor Pool getblocktemplatedesde Bitcoind.

Y entiendo que el servidor del grupo hace más que solo transmitir información, pero quería mantenerlo simple. Solo quiero tener una idea de cómo fluye todo junto y qué llamadas hace.

¡Cualquier ayuda es muy apreciada!

Respuestas (1)

getworkes para todos los efectos, completamente obsoleto debido a su ineficiencia. En este punto, un solo dispositivo ASIC puede inundar completamente bitcoindcon solicitudes, ya que pueden agotar el nonce de 32 bits en una fracción de segundo. La situación es lo suficientemente grave como para que grupos como BTC Guild cobren tarifas extraordinariamente altas (más del 6%) a los clientes que usan getworkpara que cambien a métodos más eficientes.

Internamente, los grupos como Eloipool se usan getblocktemplatepara generar trabajo para los clientes y luego usan stratumo getblocktemplatepara comunicarse con los trabajadores según el tipo de solicitud que realicen. getworkno interviene en ninguna etapa. De hecho, actualmente está fijado para su eliminación completa en algún momento.

Entonces, ¿ Eloipoolestá más o menos transmitiendo la misma plantilla getblock que reciben de bitcoind?
De mirar jsonrpc_getblocktemplate.py, diría que sí.
Gracias de nuevo. Te votaría a favor, pero no tengo suficientes puntos.