Merkle Patricia Trie

Structure de données hybride dans Ethereum combinant arbres de Merkle et Patricia tries.

Combine un arbre de Merkle (pour l'intégrité) et un Patricia Trie (pour les recherches). Permet à Ethereum de stocker l'état global (soldes, code) de manière inviolable. Chaque en-tête de bloc contient le hachage racine.

        graph LR
  Center["Merkle Patricia Trie"]:::main
  Rel_ethereum["ethereum"]:::related -.-> Center
  click Rel_ethereum "/terms/ethereum"
  Rel_merkle_tree["merkle-tree"]:::related -.-> Center
  click Rel_merkle_tree "/terms/merkle-tree"
  Rel_data_structure["data-structure"]:::related -.-> Center
  click Rel_data_structure "/terms/data-structure"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explique-moi comme si j'avais 5 ans

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Questions fréquentes

Why does Ethereum use this instead of a regular Merkle Tree?

Because Ethereum's state changes constantly, and a Patricia Trie is more efficient for updating and looking up specific keys.

Is this different from a Merkle Tree?

Yes, it's a hybrid. It adds the 'path' compression of Patricia Tries to standard Merkle Trees.

Where is it stored?

It is stored in Ethereum's LevelDB database, with the root hash included in every block header.

📚 Sources