Attribués une fois après une réponse correcte.
Lire un engagement sur des transactions
À connaître avant : Hash, clés et signatures
Parcours de lecture · 1 / 41 · 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
- 01A, B, C, D
- 02Quatre empreintes
- 03AB et CD
- 04Racine R
Ces repères représentent des notions liées, pas nécessairement des étapes successives.
Les hashes A et B forment AB ; C et D forment CD. AB et CD forment la racine R.
Lire l’explication
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.
Replacez le mécanisme dans son contexte
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.
Appliquer dans l’atelier →Ce que ce mécanisme ne garantit pas
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.
La distinction qui change l’analyse
Une racine de Merkle peut engager un ensemble de transactions sans vous fournir ces transactions. Une preuve établit une inclusion par rapport à cette racine ; il faut encore les données concernées et une justification de la confiance dans le bloc portant la racine.
À vous de l’expliquer
Reprenez le cas ci-dessus. Nommez ce qui est établi, ce qui reste à vérifier et la preuve qui permettrait de conclure. Une réponse solide traite les deux côtés du schéma.
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.