Come usano il nonce i miner?
Un miner crea l’intestazione di un blocco, imposta il nonce su 0 e ne calcola l’hash. Se l’hash supera il target, imposta il nonce su 1 e riprova, poi su 2 e così via. Il nome è l’abbreviazione di «numero usato una sola volta».
Un nonce non è migliore di un altro. Non si può prevedere l’hash, quindi ogni tentativo ha la stessa piccolissima probabilità di riuscire. È questo che rende equo il mining: più tentativi al secondo significano più possibilità, e nient’altro aiuta.
Cosa succede quando il nonce si esaurisce?
Quattro byte contengono solo 4.294.967.296 valori. Una macchina moderna li prova tutti in molto meno di un millesimo di secondo. Perciò i miner modificano qualcos’altro nel blocco e ricominciano da capo con il nonce.
Il ciclo del miner
- 01
Prova ogni nonce
0, 1, 2 e così via fino a 4.294.967.295. Sono tutti i valori che 4 byte possono contenere.
- 02
Si esaurisce, in fretta
Una singola macchina da 100 TH/s li passa tutti in circa 43 milionesimi di secondo.
- 03
Cambia il nonce extra
Il miner modifica un campo di riserva nella propria transazione di ricompensa (la coinbase).
- 04
Nuova radice di Merkle
Quella transazione è cambiata, quindi la radice di Merkle cambia e ogni nonce dà di nuovo hash nuovi.
Di solito si usa il nonce extra, un campo aggiuntivo nella transazione coinbase. Modificandolo cambia la radice di Merkle, che genera un insieme completamente nuovo di intestazioni da provare. Oggi i miner possono anche modificare leggermente il timestamp e, su molte macchine, alcuni bit del campo version.
Fonti
- Nonce · Bitcoin Wiki
- Algoritmo di hashing dei blocchi · Bitcoin Wiki
- Riferimento sulla blockchain: intestazioni, alberi di Merkle, target · Documentazione per sviluppatori Bitcoin
I dati in tempo reale su questa pagina provengono dall’API di CloudMineCrypto e dai dati pubblici della blockchain. Vengono aggiornati regolarmente e contrassegnati nel punto in cui compaiono. Solo a scopo informativo, non sono una consulenza finanziaria.