Дерево Меркла-Патрісії

Гібридна структура даних в Ethereum, що поєднує дерева Меркла та дерева Патрісії.

Поєднує дерево Меркла (для перевірки цілісності) та дерево Патрісії (для пошуку ключів). Дозволяє Ethereum зберігати глобальний стан (баланси, код, сховище) захищеним від підробок способом. Кожен блок містить кореневий хеш.

        graph LR
  Center["Дерево Меркла-Патрісії"]:::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;

      

🧒 Простими словами

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Часті питання

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.

📚 Джерела