Lire un engagement sur des transactions
À la fin, expliquez le schéma avec vos mots, résolvez le cas et justifiez la correction.
Prérequis : Hash, clés et signatures
Niveau 2 · Intermédiaire →Parcours de lecture · 1 / 35 · Intermédiaire
Un bloc contient des transactions et des métadonnées.
L’essentiel
Un bloc contient des transactions et des métadonnées. Son en-tête inclut généralement une référence cryptographique au bloc précédent et un engagement sur son contenu. Dans Bitcoin, un arbre de Merkle combine les empreintes des transactions jusqu’à une racine unique. Une preuve de Merkle permet de vérifier l’inclusion d’une transaction sans télécharger toutes celles du bloc.
Le mécanisme
Modifier une transaction change cet engagement et invalide les liens attendus. Mais la cryptographie ne suffit pas à empêcher de recalculer des empreintes : le consensus détermine le coût et les conditions nécessaires pour faire accepter une autre histoire.
Les points d’attention
Un nœud complet vérifie les règles du protocole. Un explorateur présente les données d’un réseau dans une interface utile, mais sa réponse reste celle d’un service. Une preuve d’inclusion ne garantit pas à elle seule que toutes les transactions d’un bloc sont valides.
Comprendre en profondeur
Un bloc regroupe des transactions et des métadonnées. Son en-tête engage notamment le bloc précédent et un résumé des transactions incluses. Dans un arbre de Merkle binaire, les empreintes sont combinées deux par deux jusqu’à obtenir une racine. Modifier une feuille change les empreintes sur son chemin vers cette racine. Une preuve fournit les empreintes voisines nécessaires pour reconstruire ce chemin.
Limites et erreurs fréquentes
Une preuve d’inclusion n’a de sens que par rapport à une racine fiable ou vérifiée. Elle ne démontre pas à elle seule que le bloc appartient à la chaîne retenue, que toutes les transactions sont valides ou que les données restent disponibles. Les réseaux utilisent des structures et encodages différents. L’exemple à quatre feuilles illustre le principe, sans spécifier tous les détails de Bitcoin ou Ethereum.
Le mécanisme en un schéma
Les hashes A et B forment AB ; C et D forment CD. AB et CD forment la racine R.
- A, B, C, D
- Quatre empreintes
- AB et CD
- Racine R
Appliquer la leçon à un cas
Nommez quatre transactions A, B, C et D. Calculez AB = H(H(A)||H(B)) et CD = H(H(C)||H(D)), puis R = H(AB||CD). Pour prouver B, fournissez H(A) et CD avec leur position gauche/droite. Il n’est pas nécessaire de fournir C et D séparément.
H(C), CD et R changent. AB reste identique, mais l’ancienne preuve contient l’ancien CD et reconstruit l’ancienne racine. Il faut actualiser la preuve même si B n’a pas changé. Dessinez les deux branches concernées pour distinguer un contenu inchangé d’une preuve devenue ancienne.
Préparer une note de correction
Décrivez le passage et la correction proposée. Vous pourrez copier cette note pour la partager ; rien n’est envoyé. N’incluez aucune donnée personnelle ou confidentielle.