nBits
nBits est l'encodage compact de la cible de difficulté dans l'en-tête de bloc. Contient 4 octets (mantisse + exposant). Permet de représenter des cibles de 256 bits avec compacité. Fondement technique de l'ajustement de difficulté.
Encodage de la difficulté
nBits est le champ qui encode la cible de difficulté dans l'en-tête d'un bloc Bitcoin. Quatre octets représentent un nombre flottant compact qui exprime la cible que le hash du bloc doit franchir.
Mécanique
Le format encode une mantisse et un exposant. La cible décodée est une valeur sur 256 bits qui détermine la rareté du bloc valide. Plus nBits est petit, plus la difficulté est élevée.
Ajustement périodique
nBits est recalculé tous les 2016 blocs, soit environ deux semaines, pour maintenir un temps moyen de dix minutes par bloc. C'est l'algorithme d'ajustement de difficulté de Bitcoin.
Intérêt analytique
Suivre l'évolution de nBits permet de visualiser la santé du réseau. Une difficulté qui baisse signale une perte de hashrate, qui monte signale une expansion industrielle.
Termes lies
- DifficultéLa difficulté est un paramètre qui ajuste la rareté d'un hash valide. Elle est recalculée tous les 2 016 blocs (~2 semaines) pour viser un bloc toutes les 10 minutes. Augmente avec le hashrate. Garantit la régularité des blocs malgré l'évolution technologique.
- 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.
- Cible de difficultéLa cible (target) est le seuil sous lequel le hash d'un bloc doit tomber pour être valide. Plus elle est petite, plus c'est difficile. Encodée par nBits. Ajustée tous les 2 016 blocs.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.