BlockPulseNews
Définition

Arbre de Merkle : définition

Un arbre de Merkle est une structure de données qui hache des éléments deux à deux jusqu'à obtenir une empreinte unique, la racine de Merkle, permettant de prouver qu'un élément appartient à un ensemble sans révéler tout l'ensemble.

Thème : Les bases de la crypto

Arbre de Merkle : comment ça marche ?

On commence par calculer le hachage de chaque élément, par exemple chaque transaction d'un bloc : ce sont les feuilles. On hache ensuite ces empreintes par paires, puis les résultats par paires, et ainsi de suite jusqu'à un seul hachage au sommet, la racine. Modifier un seul élément change la racine, ce qui rend toute altération détectable. La racine sert ainsi d'empreinte compacte de tout l'ensemble.

L'intérêt majeur est la preuve d'inclusion. Pour montrer qu'une transaction figure dans un bloc, il suffit de fournir les hachages voisins sur le chemin qui mène à la racine. La taille de cette preuve croît de façon logarithmique : quelques dizaines de hachages suffisent même pour un très grand ensemble. Sur Bitcoin, la racine de Merkle des transactions est inscrite dans l'en-tête de chaque bloc, ce qui permet aux clients légers de vérifier un paiement sans télécharger le bloc entier. Le procédé sert aussi aux listes d'airdrops, aux allowlists de NFT et aux preuves de réserves des plateformes d'échange.

Un exemple concret

Imaginons qu'un projet veuille distribuer des tokens à 100 000 adresses. Au lieu d'enregistrer toute la liste dans son contrat, il n'y stocke que la racine de Merkle. Lorsque Inès réclame sa part, l'interface lui fournit une courte preuve composée de quelques hachages. Le contrat recalcule la racine à partir de son adresse et de cette preuve, et valide la réclamation si le résultat correspond.

Les risques à connaître

Une implémentation maladroite peut créer des failles, par exemple si un nœud intermédiaire peut être présenté comme une feuille. Bitcoin a connu une vulnérabilité de ce type liée à la duplication du dernier élément lorsque leur nombre est impair. La preuve garantit l'inclusion mais pas la justesse des données d'origine.

À ne pas confondre avec

  • Merkle-Patricia Trie : Le Merkle Patricia Trie d'Ethereum combine l'arbre de Merkle avec une structure d'indexation clé-valeur, afin de stocker et mettre à jour l'état des comptes.
  • Keccak-256 vs SHA-256 : Keccak-256 et SHA-256 sont des fonctions de hachage, briques de base utilisées pour construire un arbre de Merkle, et non la structure elle-même.

Questions fréquentes sur Arbre de Merkle

À quoi sert la racine de Merkle dans un bloc Bitcoin ?

Elle résume toutes les transactions du bloc dans l'en-tête. Toute modification d'une transaction changerait la racine, donc le hachage du bloc, ce qui la rendrait immédiatement détectable.

Une preuve de Merkle révèle-t-elle les autres éléments de la liste ?

Non, elle ne contient que des hachages intermédiaires, qui ne permettent pas de reconstituer les autres éléments.

Dans le même thème : Les bases de la crypto

Tous les termes du thème Les bases de la crypto →

À lire

L'actualité : Les bases de la crypto

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir avec l'Académie : La Cryptomonnaie Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en A

← Tout le lexique crypto de A à Z