Comment se construit la racine de Merkle ?
Commence par l’identifiant de chaque transaction du bloc, qui est lui-même un double hachage SHA-256. Mets-les dans l’ordre, avec la coinbase en premier. Assemble les hachages voisins par paires et hache chaque paire. Tu as maintenant deux fois moins de hachages. Répète jusqu’à ce qu’il n’en reste qu’un : c’est la racine de Merkle.
Si un niveau contient un nombre impair de hachages, le dernier est associé à lui-même. Modifie une transaction, même d’un seul satoshi, et tous les hachages sur son chemin jusqu’au sommet changent, y compris la racine. Essaie dans la démo ci-dessus.
Pourquoi un arbre plutôt qu’un seul grand hachage ?
Preuves. Pour montrer qu’une transaction figure dans un bloc, il suffit d’avoir les hachages de sa branche, pas ceux du bloc entier. Pour un bloc d’environ 4 000 transactions, il en faut seulement 12, soit quelques centaines d’octets. Le livre blanc de Satoshi décrit des portefeuilles légers qui vérifient les paiements de cette façon, en ne conservant que les en-têtes des blocs.
C’est aussi important pour le minage. Quand un mineur modifie le nonce supplémentaire dans la transaction coinbase, la racine de Merkle change et l’en-tête du bloc reçoit une nouvelle série de nonces à tester.
Sources
- Bitcoin: A Peer-to-Peer Electronic Cash System · Satoshi Nakamoto, 2008
- Référence sur la chaîne de blocs : en-têtes, arbres de Merkle, cible · Documentation développeur Bitcoin
- Arbre de Merkle · Bitcoin Wiki
Les données en temps réel affichées sur cette page proviennent de l’API CloudMineCrypto et des données publiques de la chaîne. Elles sont mises à jour régulièrement et identifiées là où elles apparaissent. À titre éducatif uniquement, pas un conseil financier.