Dans la blockchain, un arbre de Merkle résume toutes les transactions d’un bloc en produisant une empreinte numérique de l’ensemble des transactions, ce qui permet aux utilisateurs de vérifier si une transaction a été incluse ou non dans un bloc.
Techniquement, un arbre de Merkle est une structure de données construite de bas en haut, en commençant par les hachages des transactions individuelles (c’est-à-dire les identifiants de transaction) et en hachant les données appariées (les feuilles), puis en appariant et en hachant les résultats jusqu’à ce qu’il ne reste qu’un seul hachage : la racine de Merkle. Les arbres de Merkle Bitcoin utilisent un double SHA-256.
Chaque nœud feuille est un hachage de données transactionnelles, et chaque nœud non feuille est un hachage de ses hachages précédents. Les arbres de Merkle sont binaires (deux nœuds enfants sous chaque nœud) et nécessitent donc un nombre pair de nœuds feuilles. Si le nombre de transactions est impair, le dernier hachage sera dupliqué une fois pour créer un nombre pair de nœuds feuilles.
Dans les systèmes à Preuve de réserve (PoR), un arbre de Merkle est une preuve anonyme des soldes des clients, permettant à quiconque de vérifier cryptographiquement que la plateforme d’échange détient leurs fonds et que les soldes de leurs comptes sont inclus dans la PoR. L’arbre de Merkle est créé et maintenu par un auditeur indépendant.