Qu’est-ce qu’un bloc ?
Un bloc est un paquet de données qu’une blockchain utilise pour regrouper de nouveaux enregistrements. Il contient généralement des transactions ou d’autres mises à jour, ainsi que les informations dont les nœuds ont besoin pour les vérifier. Sauf pour le premier bloc, un nouveau bloc conserve aussi en général l’empreinte numérique du bloc précédent, appelée hachage. Ces références relient les blocs dans l’ordre.
Composition d’un bloc
Un bloc contient généralement trois catégories d’informations :
- Des transactions ou d’autres mises à jour : les nouveaux enregistrements ajoutés à la chaîne.
- Un lien vers le bloc précédent : le plus souvent son hachage, qui aide les nœuds à vérifier l’ordre des blocs et à détecter une modification de l’historique.
- Les informations nécessaires à la vérification : par exemple des résumés des transactions ou de l’état, des données temporelles ou d’ordre et les éléments requis par le mécanisme de consensus.
Il s’agit d’un schéma général, et non d’un format universel. Les champs, les limites de capacité et les règles de validation varient selon le réseau.
Exemple de Bitcoin : selon la référence destinée aux développeurs Bitcoin, un bloc Bitcoin comprend un en-tête de 80 octets et une liste de transactions. L’en-tête contient une version, le hachage de l’en-tête précédent, une racine de Merkle, un horodatage, une cible de difficulté et un nonce. La racine de Merkle sert d’empreinte récapitulative des transactions : si les données couvertes changent, cette empreinte change aussi. Pour les blocs comprenant des transactions SegWit, la BIP-141 définit une empreinte distincte pour les données de témoin. Elle est inscrite dans la transaction coinbase et reliée à l’en-tête par la racine de Merkle des transactions.
La première transaction d’un bloc Bitcoin est la transaction coinbase. Elle permet de réclamer la subvention de bloc autorisée et les frais de transaction. Un bloc dit « vide » peut ne contenir aucune transaction ordinaire d’utilisateur, mais il contient tout de même une transaction coinbase. Le guide destiné aux développeurs Bitcoin décrit cette structure.
Exemple d’Ethereum : un bloc Ethereum en preuve d’enjeu contient des informations de la couche de consensus et une charge utile d’exécution. Cette dernière regroupe les transactions et les résultats nécessaires à la vérification de leur exécution. La documentation Ethereum sur les blocs précise que la limite de gas plafonne la consommation totale de gas, sans fixer un nombre de transactions.
Les racines de Merkle, les racines d’état et les hachages de bloc parent sont des empreintes numériques utilisées pour vérifier les données. Ils ne contiennent pas une copie de toutes les données sous-jacentes. Un nœud doit encore disposer du contenu du bloc ou des informations d’état correspondantes pour effectuer une vérification complète.
Intégration d’un bloc à l’historique du réseau
Un nouveau bloc ne rejoint pas l’historique adopté par le réseau du seul fait qu’il a été annoncé. Il passe généralement par les étapes suivantes :
- Un mineur ou un validateur regroupe des transactions dans un bloc candidat.
- Ce candidat est envoyé aux autres nœuds.
- Les nœuds vérifient que le bloc et ses transactions respectent les règles du protocole.
- Si deux blocs valides apparaissent presque simultanément, les nœuds appliquent les règles du réseau pour déterminer sur lequel continuer.
- À mesure que d’autres blocs ou votes de validateurs arrivent, cet historique devient généralement plus difficile à modifier. Certains réseaux le déclarent ensuite finalisé.
Ces règles sont des méthodes de décision définies à l’avance par le protocole. Les nœuds Bitcoin choisissent une chaîne valide selon la preuve de travail cumulée, tandis qu’Ethereum s’appuie sur les attestations des validateurs. D’autres réseaux peuvent employer d’autres méthodes. Un bloc peut donc réussir la validation sans rejoindre l’historique finalement suivi par le réseau.
Position et identification
La hauteur indique la position d’un bloc dans une blockchain, un peu comme un numéro de page. Deux blocs concurrents peuvent avoir la même hauteur ; celle-ci ne suffit donc pas à identifier un bloc de manière unique.
Le hachage d’un bloc est une empreinte numérique calculée à partir de ses données et sert à identifier un bloc précis. Certains explorateurs appellent la hauteur « numéro de bloc », mais ce numéro n’indique pas à lui seul si le bloc a été adopté ou finalisé. Le premier bloc d’une blockchain est appelé bloc de genèse et n’a pas de bloc précédent.
État des transactions dans les blocs
Une transaction est incluse dès qu’elle apparaît dans un bloc. Si le réseau continue d’ajouter des blocs après celui-ci, son nombre de confirmations augmente généralement. Elle atteint la finalité lorsque les règles du réseau considèrent que cette partie de l’historique ne changera plus dans des conditions normales.
Un réseau peut parfois adopter un autre historique récent. On parle alors de réorganisation de chaîne. Les transactions des blocs remplacés peuvent attendre une nouvelle inclusion, apparaître dans un autre bloc ou devenir invalides. Ethereum établit également la finalité grâce aux votes des validateurs sur des points de contrôle. « Incluse », « confirmée » et « finalisée » décrivent donc des étapes différentes.
Capacité d’un bloc
Un bloc ne contient pas un nombre fixe de transactions. Leur taille et les opérations qu’elles nécessitent varient, comme une boîte de même volume peut contenir un nombre différent d’objets selon leur taille.
Bitcoin mesure la capacité à l’aide du poids de bloc défini par la BIP-141. Ethereum utilise une limite de gas par bloc pour plafonner la consommation totale de gas. Deux blocs proches de leur limite peuvent donc contenir un nombre différent de transactions.
Temps de bloc
Le rythme de production dépend du réseau. Dans un système en preuve de travail, la découverte d’un bloc est probabiliste : l’intervalle réel n’est donc pas identique à chaque fois. Ethereum divise le temps en créneaux fixes, mais un créneau peut rester vide si le validateur sélectionné ne propose pas de bloc. La documentation Ethereum sur les blocs détaille ce fonctionnement.
Validation des blocs
Les nœuds vérifient eux-mêmes un bloc au lieu de l’accepter simplement parce qu’il a été diffusé. Ils contrôlent notamment son lien avec un bloc précédent valide, le respect du format et des règles de transaction, ainsi que les limites de capacité et autres contraintes. Les vérifications exactes dépendent du réseau.
Si une vérification échoue, le nœud ignore le bloc et continue de traiter les autres blocs valides. Une large diffusion ne peut pas rendre valide un bloc qui ne respecte pas les règles.
FAQ
Un bloc est-il la même chose qu’une blockchain ?
Non. Un bloc est un paquet de données. Une blockchain est l’historique formé lorsque des blocs sont reliés selon les règles du réseau.
Un bloc est-il la même chose qu’une récompense de bloc ?
Non. Un bloc conserve des transactions et des informations associées. Une récompense de bloc est une rémunération que certains réseaux accordent aux producteurs de blocs selon leurs règles de protocole.
Un bloc « vide » ne contient-il vraiment rien ?
Pas nécessairement. Dans Bitcoin, un bloc « vide » désigne généralement un bloc sans transaction ordinaire d’utilisateur, mais il contient toujours une transaction coinbase.
Concepts associés
Consultez les articles sur les blockchains, les adresses blockchain et les frais de gas, ou revenez au glossaire crypto.
Sources
- Référence du développeur Bitcoin : chaîne de blocs — champs de l’en-tête, empreintes de transaction et structure sérialisée.
- BIP-141 : Segregated Witness — données de témoin, empreinte de témoin et poids de bloc.
- Guide du développeur Bitcoin : chaîne de blocs — validation, transactions coinbase, sélection de chaîne et blocs concurrents.
- Ethereum : blocs — champs de bloc, charges utiles d’exécution, limites de gas, créneaux et temporalité.
- Ethereum : preuve d’enjeu — propositions, attestations, choix de branche et finalité.




