> For the complete documentation index, see [llms.txt](https://ethernal-2.gitbook.io/blade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ethernal-2.gitbook.io/blade/detailed-design/evm-compatible-data-structures/introduction.md).

# Introduction

There are four types of state tries:

* **World State Trie**
* **Transaction Trie**
* **Transaction Receipt Trie**
* **Account Storage Trie**

Each state trie is constructed using a **Merkle Patricia Trie** (MPT) .

Each block stores three central state tries:

* **World State Trie**
* **Transaction Trie**
* **Receipt Trie**

The **Account Storage Trie** (also known as the account storage contents trie) constructs the leaf nodes in the world state trie.

{% content-ref url="/pages/RPe23RO00qrPU3MEtsAo" %}
[Block Structure](/blade/detailed-design/evm-compatible-data-structures/block-structure.md)
{% endcontent-ref %}

***

## Why Use Merkle Patricia Trie?

The Merkle Patricia Trie data structure is used for the following reasons:

* **Efficient Lookups**:\
  Tries allow for efficient key-value lookups, insertions, and deletions with `O(log(n))` performance.
* **Cryptographic Verification**:\
  The Merkle tree structure enables cryptographic proofs of the data's integrity. Each node in the trie is hashed, and the **root hash** (stored in the block header) serves as a fingerprint of the entire state.
* **Incremental Updates**:\
  Only the parts of the trie that are modified need to be updated, making it efficient for frequent state changes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ethernal-2.gitbook.io/blade/detailed-design/evm-compatible-data-structures/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
