Com fan servir els miners el nonce?
Un miner crea la capçalera d’un bloc, posa el nonce a 0 i en calcula el hash. Si el hash supera l’objectiu, posa el nonce a 1 i ho torna a provar; després amb 2, i així successivament. El nom és l’abreviatura de «número utilitzat una sola vegada».
Cap nonce és millor que un altre. No es pot predir el hash, així que cada intent té la mateixa probabilitat ínfima de guanyar. Això és el que fa que la mineria sigui justa: més intents per segon volen dir més possibilitats, i res més no hi ajuda.
Què passa quan s’esgoten els nonces?
Quatre bytes només poden contenir 4.294.967.296 valors. Una màquina moderna els recorre tots en molt menys d’una mil·lèsima de segon. Per això, els miners canvien una altra cosa del bloc i tornen a començar amb el nonce.
El bucle del miner
- 01
Prova tots els nonces
0, 1, 2 i fins a 4.294.967.295. Aquests són tots els valors que caben en 4 bytes.
- 02
Esgotar-se de pressa
Una màquina de 100 TH/s enllesteix tots aquests intents en uns 43 milionèsims de segon.
- 03
Canvia el nonce extra
El miner edita un camp sobrer de la seva pròpia transacció de recompensa (la coinbase).
- 04
Arrel de Merkle nova
Aquesta transacció ha canviat, així que l’arrel de Merkle també canvia i cada nonce torna a generar hashes nous.
L’opció més habitual és el nonce addicional, un camp de reserva de la transacció coinbase. Canviar-lo modifica l’arrel de Merkle, cosa que proporciona tot un nou conjunt de capçaleres per provar. Els miners també poden ajustar lleugerament la marca de temps i, en moltes màquines actuals, canviar alguns bits del camp de versió.
Fonts
- Nonce · Bitcoin Wiki
- Algorisme de hash dels blocs · Bitcoin Wiki
- Referència sobre la cadena de blocs: capçaleres, arbres de Merkle, objectiu · Documentació per a desenvolupadors de Bitcoin
Les dades en directe d’aquesta pàgina provenen de l’API de CloudMineCrypto i de dades públiques de la cadena de blocs. S’actualitzen regularment i s’indiquen allà on apareixen. Només tenen finalitat educativa, no són assessorament financer.