Nonce
Le nonce est le champ de 32 bits que le mineur fait varier pour trouver un hash valide. Il est complété par l'extra-nonce et le coinbase pour un espace de recherche suffisant. Un nonce trouvé = un bloc miné. C'est la pièce centrale de la PoW.
Le compteur magique
Le nonce (number used once) est un champ de 32 bits dans l'en-tête d'un bloc Bitcoin que le mineur fait varier pour tenter de produire un hash valide. Tout le minage se résume à : itérer le nonce de 0 à 2³² - 1, hasher, comparer à la cible. Si aucune valeur ne donne un hash sous la cible, le mineur change autre chose (l'extra-nonce, la racine de Merkle, le timestamp) et recommence.
L'arithmétique du minage
2³² ≈ 4 milliards. Un ASIC moderne fait ~200 TH/s, soit 200 000 milliards de hashs par seconde. Il épuise un nonce complet en moins de 25 microsecondes. C'est pour cela que le nonce seul ne suffit plus : on a besoin du champ extra-nonce (dans la coinbase) pour étendre l'espace de recherche.
Pourquoi 32 bits seulement ?
Le nonce de 32 bits est un héritage du design original de Satoshi, alors qu'il minait sur CPU et qu'un nonce de 32 bits était largement suffisant. Aujourd'hui, c'est devenu une limite serrée — d'où l'introduction de l'extra-nonce et de divers schémas (ASICBoost, etc.) pour optimiser la recherche.
Le nonce, photo de hash
Quand un bloc est trouvé, son hash final dépend du nonce gagnant. Les hashs valides commencent par de longues séquences de zéros (en hex). C'est cette propriété qu'on regarde pour vérifier visuellement la difficulté actuelle : les blocs récents commencent par 19 ou 20 zéros, signe d'une difficulté astronomique.
Pas que pour le minage
Le terme nonce existe aussi en cryptographie générale : valeur arbitraire utilisée une seule fois (par exemple dans une signature ECDSA, où la fuite d'un nonce permet de retrouver la clé privée — l'incident PlayStation 3 de 2010 en est un exemple célèbre).
Termes lies
- MinageLe minage Bitcoin est le processus par lequel des ordinateurs specialises (ASICs) resolvent des calculs cryptographiques pour valider les transactions et creer de nouveaux blocs. Les mineurs sont recompenses en bitcoins pour leur travail. Ce mecanisme de Proof of Work securise le reseau et garantit son fonctionnement decentralise.
- Preuve de travail (PoW)La preuve de travail est le mécanisme de consensus de Bitcoin : prouver qu'on a effectué un calcul coûteux pour ajouter un bloc. Inventée par Adam Back (Hashcash), elle est appliquée au minage par Satoshi. Elle protège la chaîne d'attaques bon marché et incarne sa sécurité physique. C'est la principale critique « énergivore », mais aussi sa principale force.
- Extra-nonceL'extra-nonce est un champ supplémentaire dans la coinbase, étendant l'espace de recherche du mineur au-delà du nonce de 32 bits. Indispensable pour les ASIC modernes capables d'épuiser un nonce en moins d'une seconde. Permet de varier la racine de Merkle.
- En-tête de blocL'en-tête de bloc est la partie résumée d'un bloc Bitcoin (80 octets). Il contient la version, le hash du bloc précédent, la racine de Merkle, l'horodatage, les nBits (cible) et le nonce. C'est lui que les mineurs hachent pour produire la preuve de travail. Les nœuds SPV ne synchronisent que les en-têtes.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.