
Un arbre de Merkle est une structure de données hiérarchique qui condense de grandes quantités d’informations en une seule « racine de hachage ». Ce mécanisme permet de vérifier l’inclusion d’une donnée précise dans un ensemble sans avoir à télécharger l’intégralité des données.
Un hachage s’apparente à une « empreinte digitale » : toute entrée traitée par un algorithme cryptographique (comme SHA‑256, largement utilisé dans Bitcoin) génère une chaîne de longueur fixe. Une même entrée produit systématiquement le même résultat, tandis qu’une modification même minime génère un hachage totalement différent. Dans un arbre de Merkle, chaque donnée est hachée pour former les « feuilles » de l’arbre. Les paires de feuilles sont ensuite combinées et hachées à nouveau pour créer les « nœuds parents ». Ce processus se répète couche par couche jusqu’à obtenir la « racine de hachage » supérieure, appelée Merkle root.
Un arbre de Merkle fonctionne en combinant et en hachant successivement les hachages adjacents, de la base vers le sommet, pour produire une racine unique qui atteste l’intégrité de l’ensemble des données.
Par exemple, prenons quatre transactions : TxA, TxB, TxC et TxD.
En cas de nombre impair de feuilles, la dernière est généralement dupliquée ou remplacée selon une règle spécifique, afin que chaque couche puisse toujours être appariée. L’avantage principal réside dans le fait que, tant que la fonction de hachage reste sécurisée, toute modification des données sous-jacentes se traduit dans la racine, rendant la falsification pratiquement impossible.
Les usages majeurs des arbres de Merkle sont la vérification efficace d’inclusion et la synchronisation légère, ce qui les rend particulièrement adaptés à la gestion de grands ensembles de données.
Dans les scénarios de client léger, l’utilisateur n’a besoin que de la racine du bloc et de quelques « branches de hachage » (ou preuves de Merkle) pour confirmer l’inclusion d’une donnée dans l’ensemble. Une preuve de Merkle constitue les « pièces du puzzle » sur le chemin de la feuille à la racine, permettant à l’utilisateur de reconstruire la racine couche par couche à partir d’un sous-ensemble de hachages.
Dans les solutions cross-chain et les Rollups, les arbres de Merkle servent à engager des lots de transactions ou de changements d’état. Seule la racine est stockée sur la chaîne principale, ce qui permet de gagner de l’espace et de faciliter la validation.
Pour la preuve de réserves sur les plateformes d’échange, chaque entrée d’actif utilisateur est hachée en tant que feuille, puis agrégée en une racine rendue publique. Par exemple, Gate fournit à ses utilisateurs la racine de hachage, leur propre hachage d’entrée anonyme et les branches associées. Cela permet à chacun de vérifier indépendamment l’inclusion de ses actifs dans le total, tout en tenant compte du moment du snapshot et du périmètre d’audit.
En décembre 2025, les arbres de Merkle et leurs variantes demeurent des structures essentielles pour les principales blockchains publiques et les réseaux de couche 2, grâce à leur faible coût de vérification et leur simplicité de déploiement.
Dans Bitcoin, chaque en-tête de bloc enregistre la racine de Merkle de toutes les transactions incluses.
Les clients légers téléchargent uniquement les en-têtes de bloc (environ 80 octets chacun) au lieu de l’ensemble des transactions. Pour vérifier la présence d’un paiement dans un bloc, le réseau fournit une preuve de Merkle (succession de branches pour cette transaction). Le client léger calcule alors les hachages de la transaction jusqu’à la racine ; si le résultat correspond à la racine du bloc, cela confirme que « cette transaction est incluse ».
Ce mécanisme est appelé SPV (Simplified Payment Verification). Son principal avantage est une très faible consommation de bande passante et d’espace de stockage : idéal pour les appareils mobiles ou embarqués. Toutefois, SPV vérifie uniquement l’inclusion : il ne protège pas contre la double dépense ni n’atteste de la stabilité de la chaîne. Les utilisateurs doivent donc prendre en compte les confirmations de blocs et la sécurité du réseau.
Ethereum utilise une variante de l’arbre de Merkle pour gérer l’état des comptes et des contrats ; la structure courante est le « Merkle Patricia Tree », qui intègre la compression des préfixes et un stockage clé-valeur ordonné pour accélérer les recherches et mises à jour.
Dans les Rollups, les opérateurs regroupent des lots de transactions ou de soldes utilisateurs dans un arbre de Merkle et soumettent périodiquement la racine à la chaîne principale. Ce procédé, appelé « engagement d’état », signifie que les données détaillées ne sont pas stockées sur la chaîne, mais que chacun peut utiliser une preuve de Merkle pour vérifier l’inclusion d’un solde ou d’une transaction dans le lot. De nombreux zk-Rollups utilisent des fonctions de hachage adaptées aux circuits (comme Poseidon) pour construire l’arbre, mais le principe de vérification reste identique.
En décembre 2025, la plupart des solutions de couche 2 majeures continuent d’utiliser les racines de Merkle pour prouver l’état des lots, associées à des solutions de disponibilité des données : publication des données brutes sur la chaîne ou sur des couches dédiées, garantissant à tous la possibilité de reconstruire et de vérifier les changements d’état.
La vérification d’une preuve de Merkle consiste à partir du hachage feuille et à le combiner successivement avec les branches fournies, afin d’atteindre la racine connue.
Étape 1 : Rassembler les éléments nécessaires : (1) le hachage de la donnée à vérifier (hachage feuille) ; (2) une liste ordonnée de branches de hachage ; (3) la racine cible. Les indications de direction (gauche/droite) précisent comment concaténer les hachages à chaque étape.
Étape 2 : Partir de la feuille. Selon la direction à chaque niveau, concaténer le hachage feuille avec la branche correspondante, puis hacher le tout pour obtenir le nœud parent.
Étape 3 : Répéter l’opération avec les branches suivantes jusqu’à obtenir le résultat final.
Étape 4 : Comparer avec la racine. Si le résultat obtenu correspond à la racine publiée, la donnée est bien incluse dans le lot ; sinon, la preuve est invalide.
Par exemple, avec la preuve de réserves de Gate, l’utilisateur reçoit son hachage d’entrée anonyme, les branches associées et la racine. En suivant ces étapes localement, il peut confirmer « mes actifs sont inclus », mais cela ne signifie pas que les fonds sont déjà sur la chaîne ou immédiatement retirables : la gestion des fonds et les rapports d’audit doivent toujours être vérifiés.
Les arbres de Merkle reposent sur la sécurité des algorithmes de hachage sous-jacents. Les algorithmes modernes comme SHA‑256 et Keccak sont réputés sûrs à ce jour, mais pourraient théoriquement être compromis dans le futur ; il convient donc d’adapter les algorithmes selon le consensus du secteur.
Les arbres de Merkle ne permettent que la vérification d’inclusion : ils ne garantissent ni la justesse ni l’exhaustivité des données. Par exemple, la preuve de réserves atteste simplement qu’une entrée est incluse, sans empêcher le double comptage ni garantir la divulgation complète des engagements. Les audits externes, les flux on-chain et les fenêtres temporelles doivent être combinés pour une évaluation approfondie.
Le coût des mises à jour et la conception de l’arbre sont également déterminants. Les ensembles de données très dynamiques requièrent des variantes et des stratégies de stockage efficaces : sinon, les mises à jour entraînent des recomputations excessives. Les erreurs d’implémentation (ordre erroné ou concaténation incohérente) peuvent entraîner des échecs de vérification ou des vulnérabilités.
La disponibilité des données constitue un autre risque. Si les données originales ne sont pas publiées ou accessibles, la reconstruction et l’audit deviennent difficiles, même avec la racine. Les Rollups atténuent ce risque en publiant les lots sur la chaîne ou sur des couches dédiées pour garantir la transparence.
Le principe fondamental des arbres de Merkle est « utiliser les hachages comme empreintes digitales et l’agrégation hiérarchique » : compresser de vastes ensembles de données en une racine unique pour permettre à chacun de vérifier l’inclusion à partir de quelques branches. Ils sont au cœur du modèle SPV de Bitcoin, de la gestion d’état d’Ethereum, des engagements d’état des Rollups et des systèmes de preuve de réserves des plateformes d’échange. Pour s’approprier le concept : construisez un arbre de Merkle simple à huit feuilles et calculez sa racine manuellement ; observez les racines de blocs Bitcoin sur les explorateurs ; enfin, réalisez une vérification locale avec les éléments de preuve de réserves de Gate : passez progressivement de la théorie à la pratique.
Les arbres de Merkle relient les données par plusieurs couches de hachage : toute modification, à n’importe quel niveau, modifie entièrement la racine supérieure. Il suffit de comparer la racine pour détecter instantanément toute altération. Cette conception permet aux blockchains de valider un grand volume de transactions à moindre coût.
Un portefeuille léger n’a pas besoin de télécharger toutes les transactions : seuls les en-têtes de bloc et les racines de Merkle sont conservés localement. Pour vérifier une transaction, le portefeuille sollicite une « preuve de Merkle » (le chemin de la transaction à la racine) auprès des nœuds complets. En quelques opérations de hachage, il confirme l’inclusion, permettant une vérification rapide sur mobile sans synchroniser des gigaoctets de données blockchain.
Les solutions Rollup utilisent les arbres de Merkle pour condenser des milliers de transactions Layer 2 en une racine soumise à la Ethereum mainnet. La chaîne principale valide uniquement cette racine pour confirmer toutes les transactions sous-jacentes, ce qui réduit fortement les coûts on-chain. Les utilisateurs bénéficient de transactions rapides en couche 2 tout en conservant les garanties de sécurité de la chaîne principale.
Des racines de Merkle identiques signifient que les deux arbres contiennent exactement les mêmes données, dans le même ordre. Cette propriété est fondamentale pour les blockchains : si votre ensemble de transactions produit une racine identique à celle des mineurs ou validateurs, cela prouve que vous avez consulté la même liste. Des racines différentes révèlent une modification des données.
Le SPV est le fondement des portefeuilles légers sur Bitcoin. Le portefeuille télécharge uniquement les en-têtes de bloc (comprenant les racines de Merkle), sans l’ensemble des transactions. Pour vérifier une transaction, il demande un « chemin de Merkle » aux mineurs et calcule les hachages jusqu’à confirmer son inclusion dans le bloc. Ce procédé permet une vérification sécurisée, même avec un espace de stockage limité.


