network

block header

L'en-tête de bloc est la section de métadonnées de 80 octets de chaque bloc Bitcoin. Il contient six champs: le hachage du bloc précédent, la racine de Merkle de toutes les transactions, un horodatage, l'objectif de difficulté, la version et le nonce.

L'en-tête de bloc est une structure de données de 80 octets qui se trouve en tête de chaque bloc Bitcoin. Il contient exactement six champs: le numéro de version du protocole, le hachage de l'en-tête du bloc précédent (qui le relie à la chaîne), la racine de Merkle (un hachage unique qui valide chaque transaction du bloc), un horodatage Unix, l'objectif de difficulté encodé (appelé bits) et le nonce. Ces six champs constituent ce que les mineurs hachent répétitivement lors du processus de minage.

La racine de Merkle est particulièrement importante: elle est obtenue en hachant les transactions par paires jusqu'à obtenir un seul hachage racine. Cela signifie que si une transaction du bloc est modifiée, la racine de Merkle change, ce qui modifie le hachage de l'en-tête du bloc et invalide ce dernier. L'ensemble des transactions est donc confirmé en seulement 32 octets dans l'en-tête.

Les mineurs ne hachent que l'en-tête de 80 octets, et non le bloc entier qui peut peser plusieurs mégaoctets. C'est efficace: l'algorithme de hachage SHA-256 peut traiter l'en-tête de 80 octets très rapidement, permettant aux ASIC modernes d'effectuer des milliers de milliards de tentatives de hachage par seconde. Lorsqu'un mineur ajuste le nonce et épuise les quatre milliards de valeurs possibles sans trouver de hachage valide, il modifie d'autres champs comme l'horodatage ou la transaction coinbase pour réinitialiser l'espace du nonce.

Frequently asked questions