Resolviendo un bloque con más de un minero conectado al mismo demonio

Bueno, disculpe de antemano si mi pregunta suena graciosa. Pero tengo curiosidad, tal vez alguien pueda arrojar una luz.

Cuando en un grupo de mineros, digamos que hay 100 mineros conectados a un solo nodo daemon, ¿resuelven todos los bloques juntos, computando simultáneamente, el trabajo se divide entre los mineros? ¿O cada minero resuelve el bloque individualmente, en paralelo?

Para profundizar más, por ejemplo, tengo 100 máquinas, ¿debería conectarlas todas a un solo nodo daemon al mío o es mejor dejarlas minar con su propio nodo daemon cada una?

Respuestas (1)

Los mineros se conectan a un grupo de minería, que a su vez se conecta a uno o más nodos de bitcoin. Los mineros obtienen trabajo separado del grupo y trabajan en paralelo.

No es posible trabajar en serie. No hay progreso en la minería. Tu hash (boleto de lotería) es un boleto ganador o no. Luego pasas al siguiente hash. La minería es fuerza bruta. Pasas por miles de millones de boletos de lotería por segundo.

Entonces, dos mineros no pueden encontrar el boleto ganador "juntos". Ambos podrían hacer el mismo trabajo y encontrar el mismo bloque, pero eso sería un desperdicio terrible. Es muy importante que el pool de minería no dé dos veces el mismo trabajo. Dos mineros nunca deben estar revisando los mismos boletos de lotería (hashes).

No es posible conectar a los mineros directamente a un nodo de bitcoin. Solía ​​funcionar en los viejos tiempos cuando se usaba el antiguo protocolo getwork. Sin embargo, bitcoind no tenía muchas encuestas en esos días, por lo que realmente solo funcionó en teoría. En estos días, los mineros hablan de estrato y los nodos de bitcoin hablan de getblocktemplate. Los dos protocolos no son compatibles, por lo que debe haber algo intermedio, generalmente un grupo de minería.