Aller au contenu
ecdsa.com

Arbre de Merkle

Un arbre de hachage binaire dans lequel chaque nœud interne est le condensat de ses deux enfants, de sorte qu’un seul condensat racine constitue un engagement sur toutes les feuilles et que l’appartenance ou une croissance en ajout seul peut être démontrée par des preuves de taille logarithmique.
Autres graphieshash treeMerkle rootinclusion proofconsistency proof

Certificate Transparency (RFC 6962 §2.1, RFC 9162 §2.1) définit le hachage qu’emploient la plupart des journaux de transparence : les feuilles valent SHA-256(0x00 ‖ data) et les nœuds SHA-256(0x01 ‖ left ‖ right), les préfixes empêchant de faire passer une feuille pour un nœud interne. Une preuve d’inclusion pour une entrée parmi un million nécessite environ 20 condensats ; une preuve de cohérence montre qu’un arbre plus récent prolonge un arbre plus ancien sans réécrire l’historique.

Cette structure sous-tend les journaux CT, Rekor de Sigstore, la base de sommes de contrôle de Go (sum.golang.org), la racine des transactions de Bitcoin (avec une construction différente, en double SHA-256, et une bizarrerie connue liée aux feuilles dupliquées), Git et la plupart des stockages adressés par contenu, ainsi que les signatures fondées sur le hachage XMSS, LMS et SLH-DSA.

Les journaux de transparence publient des têtes d’arbre signées (checkpoints) que des témoins cosignent, de sorte qu’un journal qui montre des historiques différents à des clients différents peut être démasqué.

Normes et références

Tous les termes