Le registre d’une blockchain a une question apparemment simple mais essentielle : lorsque de nombreuses personnes maintiennent ensemble le même registre, comment savoir « à quelle page on en est » ? Sans référence d’ordre unifiée, chaque participant peut avoir une vision différente de l’ordre des transactions, et l’état final du registre ne peut pas être harmonisé.
La hauteur de bloc (Block Height) existe précisément pour résoudre ce problème. Elle donne à chaque bloc un numéro de position linéaire, permettant à tous les participants d’identifier selon le même standard « c’est le énième bloc de la chaîne ». Mais ce mécanisme de numérotation a aussi ses limites — en particulier lorsque la chaîne se scinde. Cet article part de « pourquoi un ordre est nécessaire », puis explique progressivement ce qu’est la hauteur de bloc, comment elle est produite, comment elle sert aux confirmations de transaction, et pourquoi une même hauteur ne correspond pas nécessairement au même bloc.
Pourquoi une blockchain a besoin d’un ordre
Une blockchain n’est pas une base de données maintenue par une seule institution. Elle est maintenue conjointement par de nombreux nœuds répartis sur le réseau, sans qu’un « administrateur » soit chargé de décider où écrire l’enregistrement suivant et quand tourner la page.
Cela signifie que tous les participants doivent s’accorder sur l’ordre des transactions. L’ordre des transactions influence directement l’état final du registre. Par exemple, selon que le même solde est d’abord envoyé à A ou d’abord à B, le résultat est totalement différent. Si les nœuds n’ont pas de consensus sur l’ordre, les soldes, l’état des contrats et l’historique des comptes qu’ils calculent seront incohérents, et toute la chaîne perdra sa base de confiance.
Un bloc est l’unité de regroupement des transactions. Chaque bloc contient un lot de transactions, et les blocs sont reliés dans l’ordre pour former une chaîne. Numéroter les blocs revient essentiellement à numéroter chaque page du registre — avec un numéro de page, tous peuvent savoir où en est l’enregistrement actuel, quelles sont les relations avant/après, et sur quelle page se trouve un enregistrement précis.
Sans ordre stable des blocs, les nœuds ne peuvent pas s’accorder sur la chaîne actuellement valide.
Pour comprendre, prenons une analogie : imaginez un registre maintenu conjointement par plusieurs personnes, où chacun peut consigner des transactions. Si le registre n’a pas de numéros de page et que chacun écrit de son côté, il devient rapidement impossible de déterminer qui précède qui et quel enregistrement est « le plus récent ». Avec des numéros de page, tous peuvent pointer vers la même page et dire « c’est la page 100 », ce qui réduit fortement le coût de coordination. Bien sûr, une vraie blockchain est plus complexe qu’un registre — les numéros de page d’un registre ne présentent généralement pas deux « page 100 » différentes, alors qu’une blockchain peut effectivement connaître ce cas lors d’un fork, comme expliqué plus loin.
Qu’est-ce que la hauteur de bloc : une numérotation à partir du bloc de genèse
La hauteur de bloc est un numéro linéaire de la position d’un bloc sur la chaîne. Elle répond à la question : ce bloc est le combienième bloc de la chaîne ?
Le bloc de genèse est le point de départ de la numérotation
Chaque blockchain possède un bloc de genèse (Genesis Block), qui est le premier bloc créé sur la chaîne. Dans les blockchains grand public comme Bitcoin et Ethereum, la hauteur du bloc de genèse est généralement fixée à 0. Chaque nouveau bloc a ensuite une hauteur égale à celle du bloc précédent plus 1.
Par exemple, la hauteur du bloc de genèse de Bitcoin est 0, le premier bloc qui le suit a la hauteur 1, le deuxième a la hauteur 2, et ainsi de suite. Le bloc de genèse lui-même n’est donc pas « hauteur 1 » — il est le point de départ 0, et les blocs suivants augmentent à partir de 1.
À noter : différentes blockchains peuvent ne pas avoir exactement la même convention pour la hauteur du bloc de genèse. Cet article décrit la pratique courante des chaînes principales ; pour une chaîne donnée, il convient de se référer à la documentation de son protocole.
La hauteur peut représenter la longueur de la chaîne
Si la hauteur du bloc de genèse est 0, alors le nombre total de blocs sur la chaîne (c’est-à-dire la longueur de la chaîne) est égal à la hauteur du dernier bloc plus 1. Par exemple, si la hauteur du dernier bloc est actuellement 999, la chaîne compte 1000 blocs (de la hauteur 0 à la hauteur 999).
La hauteur indique seulement la position, pas le contenu
C’est le point le plus déroutant pour les débutants : la hauteur de bloc indique seulement la position sur la chaîne, pas ce que contient le bloc.
Pour déterminer de manière unique le contenu d’un bloc précis, il faut utiliser le hachage de bloc (Block Hash). Le hachage de bloc est une empreinte calculée à partir du contenu du bloc ; des contenus différents produisent des hachages différents. Une même hauteur peut avoir des hachages différents ; si le hachage est identique, le contenu du bloc est identique.
On peut comprendre la hauteur comme « quelle page » et le hachage comme « l’empreinte unique de ce qui est écrit sur cette page ». Les deux répondent à des questions totalement différentes.
Comment la hauteur est produite et augmente
Maintenant que nous avons compris ce qu’est la hauteur, la question naturelle suivante est : qui numérote les blocs ? Qui décide des règles ?
Réponse : aucune institution centrale n’attribue les hauteurs de bloc. La hauteur n’est pas un numéro distribué uniformément par un administrateur ; elle est le résultat naturel de la structure en chaîne de la blockchain.
Les nouveaux blocs étendent la chaîne en référençant le bloc parent
Chaque nouveau bloc contient le hachage du bloc précédent comme référence. Cette relation de référence relie les blocs les uns aux autres pour former une chaîne. Lorsqu’un nouveau bloc est accepté par les nœuds du réseau, sa hauteur devient naturellement la hauteur du bloc parent plus 1.
Par exemple, si la hauteur du bloc précédent est 500, alors un nouveau bloc valide produit en le référençant aura la hauteur 501. Ce numéro n’a besoin d’aucune approbation ni attribution — c’est une conséquence directe de la structure en chaîne.
Les nœuds jugent la validité selon les règles de consensus
Bien que la hauteur ne soit pas attribuée de manière centralisée, n’importe quel bloc ne peut pas être accepté. Les nœuds vérifient si un nouveau bloc est valide selon les règles de consensus : le bloc parent qu’il référence est-il valide, les transactions du bloc sont-elles valides, et le bloc satisfait-il les autres exigences du protocole de cette chaîne. Seuls les blocs qui passent la vérification sont acceptés par les nœuds et étendent la chaîne.
Qu’une chaîne utilise la preuve de travail (PoW) ou la preuve d’enjeu (PoS), la logique de numérotation de la hauteur de bloc repose sur la même base : un nouveau bloc référence le bloc précédent et obtient ainsi la position « hauteur du bloc parent plus 1 ». Le processus de consensus précis n’affecte pas les règles de base de la numérotation des hauteurs ; cet article n’entre pas dans les détails des algorithmes de consensus.
La hauteur de bloc dans la confirmation de transaction : pourquoi dire « 3 blocs sont passés »
L’endroit où le grand public rencontre le plus facilement la hauteur de bloc dans la pratique est la confirmation de transaction. Lorsque vous entendez « cette transaction a 6 confirmations », le calcul derrière repose en réalité sur la hauteur de bloc.
Comment calculer le nombre de confirmations
Une fois qu’une transaction est intégrée dans un bloc, la hauteur de son bloc est fixe. Supposons :
- La transaction est intégrée dans un bloc de hauteur N.
- La hauteur du dernier bloc sur la chaîne est actuellement M.
Alors le nombre de confirmations généralement obtenu par cette transaction est égal à :
M – N + 1
Pourquoi ajouter 1 ? Parce que le bloc qui contient la transaction compte lui-même comme une confirmation. Autrement dit, le bloc contenant la transaction, plus chaque bloc qui s’étend après lui, constitue ensemble le nombre de confirmations.
Un exemple numérique
Supposons qu’une transaction soit intégrée dans un bloc de hauteur 100. La hauteur du dernier bloc est actuellement 105.
Confirmations = 105 – 100 + 1 = 6.
Cela signifie qu’après le bloc contenant la transaction, 5 nouveaux blocs se sont étendus (hauteurs 101, 102, 103, 104, 105), et avec le bloc contenant la transaction (hauteur 100), cela fait 6 confirmations au total.
Ce calcul n’est valable que sur une chaîne canonique unique, sans réorganisation. Si la chaîne subit une réorganisation, le résultat peut changer ; les raisons sont expliquées plus loin.
Signification et limites du nombre de confirmations
Le nombre de confirmations indique combien de blocs se sont étendus après le bloc contenant la transaction. Davantage de confirmations signifie généralement que, si un attaquant veut réécrire cet historique, il devra payer un coût plus élevé — car pour remplacer ou annuler le bloc contenant la transaction, l’attaquant doit recalculer le travail ou la preuve de consensus de ce bloc et de tous les blocs suivants.
Mais il faut être clair : il s’agit d’une sécurité probabiliste, pas d’une garantie absolue. Davantage de confirmations augmentent la difficulté d’une réorganisation, mais aucun nombre de confirmations ne garantit une « irréversibilité absolue ». Les blockchains ont des modèles de sécurité et des règles de finalité différents ; certaines sont conçues pour qu’un bloc soit considéré comme final dès qu’il remplit certaines conditions, tandis que d’autres reposent sur l’accumulation de probabilité. Cet article n’entre pas dans les différences spécifiques entre les mécanismes de finalité des chaînes, mais le lecteur doit retenir que le nombre de confirmations est une référence de risque, pas une promesse mathématique absolue.
De plus, en cas de réorganisation de la chaîne, le bloc contenant la transaction peut être remplacé, et le nombre de confirmations peut diminuer, voire tomber à zéro. C’est pourquoi comprendre la hauteur de bloc exige aussi de comprendre que « la même hauteur ne correspond pas nécessairement au même bloc ».
Une même hauteur correspond-elle toujours au même bloc ?
C’est la partie la plus souvent mal comprise du concept de hauteur de bloc. Beaucoup de débutants pensent naturellement : si la hauteur est un numéro unique, alors la hauteur 100 pointe toujours vers le même bloc. Cette compréhension est globalement vraie dans des conditions normales, mais elle est incorrecte lors d’un fork et d’une réorganisation.
Lors d’un fork, des blocs concurrents de même hauteur peuvent apparaître
Une blockchain est un système distribué. Différents nœuds peuvent produire ou recevoir presque simultanément des blocs valides différents ; ces blocs peuvent référencer le même bloc parent et ont donc la même hauteur. Par exemple, deux participants découvrent presque simultanément des blocs valides de hauteur H, et pendant un court instant, deux blocs de hauteur H existent simultanément sur le réseau.
Cela ne viole pas les règles de consensus — ils référencent tous deux un bloc parent valide et contiennent des transactions légales. À ce moment-là, différents nœuds peuvent temporairement voir différents « derniers blocs ».
Le réseau finit par converger vers une chaîne canonique
Avec le temps, les nœuds choisissent une chaîne canonique selon les règles de consensus. En général, la règle sélectionne la chaîne avec le plus grand travail cumulé ou celle qui remplit des conditions de finalité spécifiques. Les autres blocs concurrents sont orphelins et ne figurent pas sur la chaîne canonique.
Mais le point clé est le suivant : avant la convergence, une même hauteur peut correspondre à plusieurs blocs candidats. Après convergence, une hauteur donnée ne correspond généralement qu’à un seul bloc sur la chaîne canonique, mais ce n’est pas parce que la hauteur elle-même est unique ; c’est parce que le réseau a déjà choisi cette chaîne.
Une réorganisation modifie le bloc correspondant à une hauteur
Si la chaîne subit une réorganisation, un bloc auparavant considéré comme faisant partie de la chaîne canonique peut être remplacé par un autre bloc. À ce moment-là, le bloc vers lequel pointe une certaine hauteur change. Les transactions auparavant intégrées à cette hauteur peuvent être réintégrées dans d’autres blocs, ou revenir à l’état en attente.
Ainsi, une même hauteur ne signifie pas un même bloc. Seul le hachage de bloc permet de déterminer de manière unique le contenu d’un bloc précis. La hauteur représente « la position sur la chaîne », et cette position peut être occupée par différents blocs selon la chaîne ou le moment.
Ce point est essentiel pour comprendre les confirmations de transaction et les « rollbacks ». Lorsque vous voyez « 6 confirmations », cela signifie que, sur la chaîne canonique actuelle, 5 nouveaux blocs se sont étendus après le bloc contenant la transaction. Mais en cas de réorganisation, ce nombre de confirmations peut diminuer, et le bloc contenant la transaction peut aussi changer.
Où la hauteur de bloc apparaît-elle concrètement ?
La hauteur de bloc n’est pas un concept abstrait ; elle apparaît dans de nombreux produits et scénarios de développement réels.
Les explorateurs de blocs
Les explorateurs de blocs permettent aux utilisateurs de rechercher des blocs par hauteur. En saisissant un numéro de hauteur, l’explorateur ouvre la page de détail du bloc correspondant, affichant des données on-chain telles que le hachage du bloc, les transactions incluses, les informations sur le bloc parent et l’horodatage. C’est la manière la plus intuitive d’interroger « de la hauteur au bloc ».
À noter que l’explorateur de blocs affiche les données de la chaîne qu’il voit. En cas de réorganisation, la même hauteur peut afficher des blocs différents dans l’explorateur.
Portefeuilles et services on-chain
Les portefeuilles et les services on-chain peuvent utiliser la hauteur de bloc pour synchroniser l’état des transactions, afficher le nombre de confirmations ou définir des points de contrôle (Checkpoint). Par exemple, un portefeuille peut enregistrer qu’« une transaction donnée se trouve dans le bloc de hauteur 100 », puis mettre à jour l’affichage du nombre de confirmations à mesure que la dernière hauteur augmente.
API pour développeurs
Les API blockchain couramment utilisées par les développeurs permettent généralement d’interroger des blocs par plage de hauteurs ou de s’abonner aux changements de hauteur des nouveaux blocs. Cela permet aux développeurs de construire des applications telles que des explorateurs de blocs, des outils de surveillance et des outils de suivi de l’état des transactions.
Les utilisateurs ordinaires n’ont pas nécessairement besoin de mémoriser activement les hauteurs de bloc, mais les comprendre aide à interpréter l’état des confirmations dans un portefeuille, les données d’un explorateur de blocs et les mentions dans l’actualité selon lesquelles « une transaction a été confirmée dans un certain bloc ».
Conclusion
La hauteur de bloc est un numéro de position attribué à chaque bloc dans l’ordre, à partir du bloc de genèse. Les blockchains principales fixent généralement la hauteur du bloc de genèse à 0, et chaque bloc suivant ajoute 1 à la hauteur du bloc parent. Cette numérotation n’est pas attribuée par une institution centrale ; elle est le résultat naturel de la structure en chaîne — un nouveau bloc référence son bloc parent et obtient ainsi sa position.
La hauteur permet aux participants distribués d’identifier de manière cohérente l’ordre sur la chaîne, de calculer le nombre de confirmations de transaction (hauteur actuelle du dernier bloc moins la hauteur du bloc de la transaction, plus 1), et de localiser des blocs dans les explorateurs et les scénarios de développement.
Mais la hauteur indique seulement une position, pas un contenu. Le hachage de bloc est l’empreinte unique du contenu d’un bloc. Lors d’un fork ou d’une réorganisation, une même hauteur peut correspondre à différents blocs concurrents ; la hauteur seule ne permet donc pas de localiser de manière absolue un bloc unique. Le nombre de confirmations de transaction fournit une référence de sécurité probabiliste ; davantage de confirmations augmente la difficulté d’une réorganisation, mais ce n’est pas une garantie absolue d’irréversibilité.
Comprendre la hauteur de bloc, c’est essentiellement comprendre comment la blockchain utilise une simple numérotation linéaire pour établir une référence d’ordre collaborative dans un environnement distribué — et aussi comprendre les limites de cette référence dans les scénarios de fork.