En-tête de bloc
L'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.
Définition
L'en-tête de bloc (block header) est la portion fixe et compacte d'un bloc Bitcoin : exactement 80 octets, quel que soit le nombre de transactions du bloc. Cette compacité est volontaire et géniale : tous les éléments nécessaires à la preuve de travail et au chaînage des blocs y sont concentrés. Le reste du bloc (transactions) peut faire plusieurs Mo, mais le header reste à 80 octets.
Les 6 champs
| Champ | Taille | Rôle | |---|---|---| | Version | 4 octets | Indique les soft forks signalés | | Previous block hash | 32 octets | Hash du header du bloc précédent | | Merkle root | 32 octets | Racine de l'arbre de Merkle des transactions | | Timestamp | 4 octets | Date Unix (secondes) | | nBits | 4 octets | Cible de difficulté encodée | | Nonce | 4 octets | Valeur que le mineur fait varier |
Le hash du header est obtenu en appliquant SHA-256(SHA-256(header)). Pour qu'un bloc soit valide, ce hash doit être numériquement inférieur à la cible dérivée de nBits. C'est tout le jeu du minage.
Pourquoi le previous block hash est crucial
C'est lui qui fait de Bitcoin une chaîne. Chaque header pointe vers le précédent. Modifier un bloc n°800 000, ce serait modifier son header, donc son hash, donc invalider le bloc 800 001 qui le référence, donc invalider toute la chaîne suivante. Pour réécrire l'histoire, un attaquant doit refaire tout le proof-of-work depuis le point d'attaque, ce qui demande plus de hashrate que celui du reste du réseau pendant toute la durée concernée. C'est ce qui rend la blockchain immutable en pratique.
La racine de Merkle, un résumé puissant
La racine de Merkle est l'empreinte de toutes les transactions du bloc, organisées en arbre binaire de hash. Modifier une seule transaction modifie la racine, donc le header, donc le hash, donc casse la PoW. Cette structure permet aussi aux clients SPV de vérifier qu'une transaction particulière appartient à un bloc sans télécharger le bloc entier (preuve de Merkle).
Le timestamp et ses règles
Le timestamp est en secondes Unix. Il doit respecter deux règles de consensus :
- Être supérieur au timestamp médian des 11 derniers blocs (MTP, median time past).
- Être inférieur au temps réseau + 2 heures.
Cela permet une certaine flexibilité tout en empêchant la triche temporelle massive (manipulations de difficulté). Le timestamp ne suit donc pas le temps réel parfaitement : il y a des dérives de plusieurs minutes possibles.
Utilité pour les wallets SPV
Les wallets SPV (Simplified Payment Verification, type Electrum mode léger, BlueWallet) ne téléchargent que les headers. À 80 octets par bloc et un bloc toutes les 10 minutes, cela représente environ 4,2 Mo par an. En 2026, l'historique complet des headers fait environ 70 Mo : tout à fait téléchargeable sur mobile. Le client SPV peut ainsi vérifier qu'une transaction est dans la chaîne à hauteur n de PoW sans télécharger le contenu des blocs.
À retenir
L'en-tête de bloc est l'astuce d'ingénierie qui rend Bitcoin scalable au niveau client : 80 octets suffisent pour ancrer toute la sécurité. Comprendre les 6 champs et leur rôle est essentiel pour saisir comment fonctionne le consensus de Bitcoin. Voir racine de Merkle, nonce et nBits.
Termes lies
- BlocUn bloc est un ensemble de transactions Bitcoin validées et regroupées par un mineur. Chaque bloc contient un en-tête, un nonce et une référence au bloc précédent (hash), formant ainsi la chaîne. Un bloc est ajouté en moyenne toutes les 10 minutes via la preuve de travail. Sa taille est limitée à 4 millions de weight units (~1-4 MB).
- Racine de MerkleLa racine de Merkle (Merkle root) est le hash sommet d'un arbre de Merkle. Elle figure dans l'en-tête de bloc et résume toutes les transactions du bloc en 32 octets. Modifier une seule transaction modifie la racine. C'est la pierre angulaire de l'intégrité des blocs.
- nBitsnBits 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é.
- NonceLe 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.
- SPV (Simplified Payment Verification)SPV est le mode léger décrit par Satoshi dans le white paper. Permet de vérifier une transaction sans synchroniser toute la chaîne. Utilisé par les wallets mobiles (Electrum, BlueWallet). Inférieur à un full node sur la sécurité et la vie privée.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.