Exploring state data
In the Ethereum Yellow Paper, the state, also known as the world state, is defined as “a mapping between addresses and account states.” Up to this point, we have been discussing transactional data that is permanent, meaning that once incorporated into the blockchain, it cannot be changed. Unlike transactional data, the state is dynamic and evolves with each new block.
To ensure accessibility for users interacting with accounts and contracts, Ethereum employs trie data structures. Specifically, the state trie contains key-value pairs for every existing account that has engaged in a valid transaction. The key represents the Ethereum account’s address, while the value comprises hashed information encompassing the account balance, nonce, code, and storage root.
The concept of roots leads us to an explanation of tries and the special implementation of the Merkle Patricia Trie on Ethereum (that exceeds the scope of this work). We will briefly...