Merkle Patricia Trie

Estrutura de dados híbrida no Ethereum combinando árvores Merkle e Patricia tries.

Combina Merkle [Tree](/pt/terms/merkle-tree) (para integridade) e Patricia Trie (para buscas). Permite ao Ethereum armazenar o estado global (saldos, código) à prova de violação. Cada cabeçalho de bloco contém o hash raiz.

        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 como se eu tivesse 5 anos

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Perguntas frequentes

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.

📚 Fontes