Aller au contenu
uencoder

Comprendre Merkle Trees

Apprendre comment Merkle trees activer efficient verification de large données sets utilisant hachage trees.

问题

You besoin en vérifier ce un spécifique piece de données est part de un large définir sans downloading le entire définir.

Prérequis

  • Understanding of hash functions
  • Knowledge of tree data structures

Étapes

  1. 1. Build the tree structure

    A Merkle tree hashes each data block (leaf), then pairs and hashes the results to form the next level, repeating until a single root hash remains. For n blocks, the tree has log2(n) levels. The root hash commits to all data.

    entrée
    blocks: A, B, C, D
    输出
    root = H(H(H(A)+H(B)) + H(H(C)+H(D)))
  2. 2. Generate a proof

    To prove that block B is in the set, provide B's hash plus the sibling hashes needed to recompute the root: H(A) at level 1, and H(H(C)+H(D)) at level 2. This Merkle proof has log2(n) hashes, much smaller than the full data set.

    entrée
    prove B is included
    输出
    proof: [H(A), H(H(C)+H(D))]
  3. 3. Verify the proof

    The verifier hashes B, combines it with the proof hashes in the correct order, and checks if the result equals the known root hash. If it matches, B is confirmed in the set without downloading all blocks. This is how Bitcoin SPV wallets and IPFS work.

    entrée
    B + proof + root
    输出
    verified ✓

Résultat attendu

Efficient verification ce un spécifique données bloc belongs en un large définir, utilisant seulement logarithmically plusieurs hashes.

Erreurs courantes

Proof hashes in wrong order
The order of sibling hashes matters. Left and right siblings must be combined in the correct order to recompute the parent.
Using a non-secure hash
Merkle tree security depends on collision resistance. Use SHA-256 or stronger.

Dépannage指引

  • If verification fails, check the proof ordering and the leaf index.
  • For odd numbers of leaves, the last leaf is duplicated or padded depending on the implementation.

Limites de sécurité

  • Merkle trees provide inclusion proofs but not exclusion proofs without the full tree.
  • This is an educational explanation; no data is transmitted.

Outils associés

Termes associés

参考链接