¿Cómo usan los mineros el nonce?
Un minero crea la cabecera de un bloque, pone el nonce en 0 y calcula su hash. Si el hash supera el objetivo, pone el nonce en 1 y vuelve a intentarlo, luego prueba con 2, y así sucesivamente. El nombre es una abreviatura de «número usado una sola vez».
Ningún nonce es mejor que otro. El hash no se puede predecir, así que cada intento tiene la misma pequeña probabilidad de éxito. Eso es lo que hace que la minería sea justa: más intentos por segundo significan más posibilidades, y nada más ayuda.
¿Qué pasa cuando se agotan los valores del nonce?
Cuatro bytes solo permiten 4.294.967.296 valores. Una máquina moderna los prueba todos en bastante menos de una milésima de segundo. Por eso, los mineros cambian otra cosa del bloque y vuelven a empezar con el nonce.
El bucle del minero
- 01
Prueba cada nonce
0, 1, 2 y así hasta 4.294.967.295. Esos son todos los valores que caben en 4 bytes.
- 02
Se agotan rápido
Una sola máquina de 100 TH/s pasa por todos ellos en unos 43 millonésimas de segundo.
- 03
Cambia el nonce adicional
El minero edita un campo libre en su propia transacción de recompensa (la coinbase).
- 04
Nueva raíz de Merkle
Esa transacción cambió, así que la raíz de Merkle cambia y cada nonce da de nuevo hashes nuevos.
Lo más habitual es usar el nonce extra, un campo disponible en la transacción coinbase. Al cambiarlo, cambia la raíz de Merkle, lo que genera un conjunto completamente nuevo de cabeceras para probar. Los mineros también pueden ajustar ligeramente la marca de tiempo y, en muchos equipos actuales, cambiar algunos bits del campo de versión.
Fuentes
- Nonce · Bitcoin Wiki
- Algoritmo de hash del bloque · Bitcoin Wiki
- Referencia sobre la cadena de bloques: cabeceras, árboles de Merkle y objetivo · Documentación para desarrolladores de Bitcoin
Las cifras en tiempo real de esta página provienen de la API de CloudMineCrypto y de datos públicos de la cadena. Se actualizan periódicamente y están identificadas donde aparecen. Solo con fines educativos. No es asesoramiento financiero.