¿Por qué no siempre gana el mismo minero?

Si gana el minero con la habilidad más fuerte para resolver el bloque, ¿por qué no gana siempre el mismo minero? ¿No tendría ese minero la mayor capacidad para realizar la prueba de trabajo en el siguiente bloque y, por lo tanto, ganar cada bloque?

Respuestas (2)

La minería no la gana el minero con la "mayor capacidad para resolver el bloque". La minería es un proceso aleatorio sin progreso. Cada candidato a bloque tiene independientemente una pequeña posibilidad de ser un bloque válido.

Cada minero está trabajando en un conjunto de candidatos de bloque separado que no se superpone. Los candidatos del bloque asignan la recompensa del bloque a su autor con una salida en las transacciones de Coinbase y, por lo tanto, cada minero tiene su propio conjunto de transacciones que difiere del de otros mineros. Como todos están trabajando en un conjunto de trabajo separado, y cada pieza de trabajo tiene una pequeña posibilidad de ganar (¡independientemente de lo que se haya intentado!), la minería es un proceso de Poisson , en lugar de una pila lineal de trabajo que necesita energía. mediante. Por lo tanto, el minero con el mayor poder de hash tiene la mayor posibilidad de ganar el bloque, pero solo de manera probabilística.

Piense en la minería como si comprara un boleto de lotería por cada bloque candidato que se haya triturado. Solo una fracción de los boletos en el bote son boletos ganadores, pero alguien podría sacar un ganador en su segundo intento, mientras que otro ya ha comprado cincuenta boletos perdedores. Sin embargo, cuando compra más boletos más rápido, su probabilidad de ganar es mayor.

Para obtener una mejor visión general de lo que es la minería, puede consultar " ¿Qué es exactamente la minería? ".

Gracias Murch. Entonces, ¿el poder de hash más fuerte te permite entrar en el bote con más frecuencia?
Cada hash es un billete de lotería. Los hashes por segundo (hashrate) son billetes de lotería por segundo. Si hace más hashes por segundo, encontrará bloques con más frecuencia.

Cada minero está trabajando en un bloque diferente. Si bien comparten algunos de los mismos datos, hay varias partes de un bloque que el minero debe decidir por completo, y esas diferencias hacen que los bloques sean diferentes. Esto también significa que tienen hashes diferentes, por lo que cada minero busca en una parte diferente del espacio de búsqueda SHA256d.

Aunque cada uno de los bloques en los que está trabajando cada minero compartirá la misma altura y bloque principal, tendrán diferentes transacciones y pueden tener diferentes números de versión de bloque y marcas de tiempo.

Pero lo más obvio serán las transacciones, que se cifran en la raíz de merkle. Solo una transacción que sea diferente, o solo una transacción en una posición diferente, hará que la raíz de merkle cambie, lo que hace que el encabezado del bloque cambie, lo que hace que el hash sea diferente. Y cada minero tendrá al menos su transacción de base de monedas diferente a la de los demás. Esto se debe a que la transacción de coinbase contiene la salida que paga al minero, por lo que obviamente cada minero hará que su transacción de coinbase se pague a sí mismo, no a otra persona. A partir de este simple hecho, las transacciones en los bloques en los que están trabajando los mineros serán diferentes al menos en la base de monedas.

Entonces, debido a que todos los mineros están trabajando en diferentes bloques, cada vez que lo intenten resultará en un hash de bloque que ningún otro minero ha visto todavía. Por lo tanto, un pequeño minero podría tener la suerte de que el bloque que está probando tenga un nonce que haga que el hash cumpla con el requisito de PoW antes de que un minero más grande encuentre tal nonce para su bloque.

¿Significa esto que cada vez que un minero cumple con el requisito de PoW y, por lo tanto, su bloque se agrega a la cadena de bloques, todos los demás mineros deben desechar el trabajo en sus bloques extraídos actualmente porque el bloque principal para agregar el siguiente bloque cambió? por lo tanto, ¿cambiará el hash del siguiente bloque? Espero que esto tenga sentido.
@pkout Sí, pero en realidad no están desperdiciando trabajo. La minería es un proceso continuo, por lo que todo el trabajo previo realizado no influye en si el minero habría encontrado el bloque si alguien más no lo hubiera hecho.
Así que digamos que un minero A y B extraen bloques. Miner A termina PoW primero, por lo que su bloque se agrega a la parte superior de la cadena de bloques. Eso significa que el siguiente bloque que se agregará tendrá que contener el hash del bloque del minero A como su bloque principal, ¿verdad (porque esa es la nueva parte superior de la cadena de bloques)? Pero el bloque del minero A no se conocía cuando el minero B comenzó a extraer el último bloque, por lo que tendrá que reiniciar el proceso para que comience con el hash del bloque principal correcto en el encabezado del siguiente bloque que se extraerá. , ¿no? Sé que me estoy perdiendo algo, simplemente no puedo entender qué es.
@pkout Sí, eso es lo que sucederá. El minero B cambiará el encabezado en el que trabaja para tener un nuevo bloque anterior y nuevas transacciones (ya que es probable que las transacciones originales hayan sido confirmadas en el bloque de A). Sin embargo, esto no le cuesta nada a B porque la minería no requiere progreso. Todo el trabajo que B había hecho anteriormente no hizo que fuera más o menos probable que el siguiente encabezado de bloque que B intentara fuera válido. Sí, se "reinician", pero se reinician después de todos y cada uno de los intentos. Actualizar al siguiente bloque no es diferente a probar un nuevo nonce.
Ah, ahora lo entiendo. Esta era la pieza que faltaba para mí: "Sí, se 'reinician', pero se reinician después de que se intentaron todos y cada uno de los nonce. Actualizar al siguiente bloque no es diferente a probar un nuevo nonce". Imaginé que una vez que se extrae un bloque, las transacciones en él se congelan hasta que se encuentra el nonce correcto. Ese no es el caso. Cada nonce se prueba en un bloque de transacciones "nuevo", cuyo encabezado apunta a la parte superior de la cadena de bloques más larga actual. ¡Gracias, Andrés!