Unidad 7 · Lección 7.2

Qué hace un minero

Unidad 7: Bloques, minería y Proof of Work · lección 2 de 6

Al terminar esta lección podrás

  • Distinguir los pasos del minero: armar el bloque candidato, calcular el hash, cambiar el nonce y compararlo con el target
  • Saber de dónde salen los ingresos del minero y por qué la minería no crea más bitcoin

Un minero hace dos trabajos muy distintos. El primero es de oficina y se hace de vez en cuando: preparar un bloque candidato. El segundo es pura fuerza bruta y no para nunca: buscar un hash que valga.

Para preparar el candidato, el minero elige transacciones de su mempool, casi siempre las que pagan más comisión por vbyte. Escribe la coinbase, que se paga a sí mismo el subsidio del bloque más todas esas comisiones. Calcula la raíz Merkle y arma la cabecera con el hash del último bloque que conoce, la hora, los bits del target actual y un nonce.

Luego empieza la búsqueda. Calcula el doble SHA-256 de la cabecera y compara el resultado con el target. Si el hash, leído como número, queda por debajo, ha encontrado un bloque. Si no, cambia el nonce y vuelve a probar. El nonce tiene 32 bits, unos 4.300 millones de valores, y una máquina moderna los agota en una fracción de segundo. Cuando se le acaban, cambia algo más: un campo extra dentro de la coinbase, la hora o unos bits de la versión. Cualquier cambio da una cabecera nueva y un hash nuevo.

Si lo encuentra, publica el bloque y los nodos lo comprueban entero: el hash, cada transacción y que la coinbase no cobre más de lo que toca. Si otro minero encuentra antes un bloque, el candidato ya no sirve: hay que armar otro encima del bloque nuevo y volver a empezar.

La minería no crea más bitcoin por trabajar más. Lo que se emite por bloque lo fija el código, y la dificultad se ajusta para que salgan bloques al mismo ritmo. Más potencia hace la red más cara de atacar, no más generosa. Y lo que cobra el minero en la coinbase no se puede gastar hasta que pasen 100 bloques.

Lee en Bitcoinpedia

Actividad

Ordena estos pasos como los hace un minero: calcular el hash de la cabecera con el nonce actual, elegir transacciones de la mempool, comparar el hash con el target, escribir la coinbase, cambiar el nonce, calcular la raíz Merkle. ¿Qué pasos se repiten sin parar y cuáles solo de vez en cuando?

Piénsalo o escríbelo a mano. No guardamos lo que respondas.