Nonce
Il nonce è un numero che il miner modifica a ogni tentativo nell'intestazione del blocco, per ottenere un hash che rispetti il target della rete.
La parola nonce viene dall'inglese «number used once», un numero usato una sola volta. Nel mining di Bitcoin è un campo di 32 bit collocato nell'intestazione di ogni blocco candidato. L'intestazione contiene anche l'hash del blocco precedente, il riepilogo delle transazioni, il timestamp e il target di difficoltà: il nonce è la parte che il miner fa variare liberamente.
Minare consiste nel calcolare l'hash dell'intestazione, verificare se il risultato è sotto il target, poi cambiare il nonce e ricominciare. Poiché il risultato di una funzione di hash è imprevedibile, non esiste alcuna scorciatoia: si provano i valori uno a uno. Un campo di 32 bit offre solo circa 4,3 miliardi di possibilità, che un ASIC moderno esaurisce in una frazione di secondo. Il miner modifica allora altri elementi, come l'extranonce inserito nella transazione coinbase, per ottenere una nuova intestazione e ripartire da zero.
L'hashrate di una macchina corrisponde al numero di tentativi di questo tipo che esegue ogni secondo. In un ASIC, la scheda di controllo riceve il lavoro dalla pool e lo distribuisce tra i chip delle schede di hash, ognuno dei quali esplora il proprio intervallo di valori. Se una scheda di hash si guasta, sono altrettanti tentativi in meno ogni secondo, e quindi un hashrate più basso.
La nostra pagina 3D dedicata a un Antminer con raffreddamento a liquido permette di scoprire da vicino questo tipo di macchina.