Minage

Nonce

Le nonce est un nombre que le mineur modifie à chaque essai dans l'en-tête du bloc, pour obtenir un hachage qui respecte la cible du réseau.

Le mot nonce vient de l'anglais « number used once », un nombre utilisé une seule fois. Dans le minage de Bitcoin, c'est un champ de 32 bits placé dans l'en-tête de chaque bloc candidat. L'en-tête contient aussi le hachage du bloc précédent, le résumé des transactions, l'horodatage et la cible de difficulté : le nonce est la partie que le mineur fait varier librement.

Miner consiste à hacher l'en-tête, vérifier si le résultat est sous la cible, puis changer le nonce et recommencer. Comme le résultat d'une fonction de hachage est imprévisible, il n'existe aucun raccourci : on essaie les valeurs une à une. Un champ de 32 bits n'offre qu'environ 4,3 milliards de possibilités, qu'un ASIC moderne épuise en une fraction de seconde. Le mineur modifie alors d'autres éléments, comme l'extranonce placé dans la transaction coinbase, pour obtenir un nouvel en-tête et repartir de zéro.

Le hashrate d'une machine correspond au nombre d'essais de ce type qu'elle effectue chaque seconde. Dans un ASIC, la carte de contrôle reçoit le travail de la pool et le répartit entre les puces des cartes de hachage, chacune explorant sa propre plage de valeurs. Si une carte de hachage tombe en panne, ce sont autant d'essais en moins chaque seconde, et donc un hashrate plus faible.

Notre page 3D consacrée à un Antminer à refroidissement hydro permet de découvrir de près ce type de machine.