Aller au contenu principal
Fondamentaux

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 :

  1. Être supérieur au timestamp médian des 11 derniers blocs (MTP, median time past).
  2. Ê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

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.