Vitalik: Ethereum's State Solution

Vitalik has mentioned a common topic in recent blockchain weeks in South Korea, speeches in Singapore, and even the Ethereum Executive Layer Core Developer Conference (ACDE): State, followed by various solution concepts related to it, such as statelessness, State Expiry, Historical Expiry (EIP-4444), Verkle Tree Even the expansion and compression of address space. These mainly belong to the key routes of TheVerge and ThePurge

Vitalik has mentioned a common topic in recent blockchain weeks in South Korea, speeches in Singapore, and even the Ethereum Executive Layer Core Developer Conference (ACDE): State, followed by various solution concepts related to it, such as statelessness, State Expiry, Historical Expiry (EIP-4444), Verkle Tree Even the expansion and compression of address space. These mainly belong to the key routes of TheVerge and ThePurge.

State

The state in Ethereum refers to a comprehensive ledger that includes all external owned accounts (EOAs), their balances, smart contract deployment, and related storage. This state is not static; It will continue to expand with the increase of new users and the deployment of new smart contracts.

At present, the entire node must store this growing dataset to correctly validate blocks and ensure correct state transitions, making the validation process essentially stateful. And this constantly increasing storage requirement therefore increases the hardware requirements for running full nodes, which will lead to increasingly centralized validators.

Currently, running a fast synchronization full node requires at least 1200Gb, which is still based on the premise that state pruning has been performed and earlier state data has been deleted, retaining only the most recent state. If it is an archive node, that is, the entire node will retain all historical states, including the states of each block, then the required capacity needs to be approximately 15400Gb, and it will continue to grow in the future, which is commonly referred to as the "state explosion" in the community.

This is also what Vitalik emphasized during blockchain week in South Korea: the centralization of nodes is one of the biggest problems faced by Ethereum networks, which should be solved by making nodes run cheaper and easier.

In order to address this series of challenges, the Ethereum community has been striving to find ways to improve and optimize.

Status Solution

Stateless

The core concept of statelessness is to externalize state data, eliminating the need for each node to store complete states. In this mode, nodes only need to maintain block headers and related transaction information, and verify and reconstruct the state through State Proof.

The main function and significance of statelessness lies in reducing the storage burden of nodes, improving network scalability, and enabling more nodes to easily participate in validation, while still maintaining the decentralized nature of Ethereum.

Verkle tree

Currently, Ethereum relies on Merkle Patricia trees to hash and compress its state data. However, the size of Merkle proofs in this tree structure may become too large, making them less suitable for the witnessing required for stateless models.

Verkle tree

Verkle tree

Historical Expiry (EIP-4444)

EIP-4444 aims to implement historical data expiration, which is an upgrade that requires nodes to stop hosting historical blocks on peer-to-peer networks for more than a year. Deleting historical data significantly reduces the disk space requirements of node operators. At the same time, it also simplifies the client software by eliminating the need to adapt to different versions of code in historical blocks. In addition, the combination of EIP-4444 and PDS (Proto danksharding) ensures regular data pruning; EIP-4444 is pruned once a year, while PDS prunes data blocks once a month. Although this helps reduce the data storage needs of nodes, it also raises concerns about the preservation and recovery of historical data.

State Expiry

Statelessness eliminates the need for validators to maintain complete state when verifying blocks. But the state does not disappear; Its sustained growth remains a long-term challenge for the internet.

To address this fundamental issue, the community has proposed a State Expiry solution.

Expiration of status will automatically prune those parts that remain unchanged, such as one year, move them to a separate tree structure, and remove them from the main Ethereum protocol.

Verkle treeVitalik KBW2023 PBS

Because if Proposer Builder Separation (PBS) is implemented in the current session, even though the block builder still needs to access the state to create the block in a stateless state, it is expected that the block builder can effectively handle the growth of state, as this field allows for a certain degree of centralization, and the node performance of the builders can naturally meet the requirements.

In addition, the implementation of State Expiry involves changing the Ethereum address format, and there are currently two options: address space extension and address space compression. The former increases the address length to 32 bytes (the current address format is 20 bytes), but requires complex logic for backward compatibility and existing contracts must also be updated; Although the latter retains the 20 byte format, the first 6 bytes are used for prefix and address cycle identification, which greatly reduces compatibility challenges. However, it also introduces another challenge, where only 14 bytes of address length are left and no longer have collision resistance, thus introducing some potential security issues in address creation, which is also a major challenge currently facing the community

Disclaimer: The content of this article is sourced from the internet. The copyright of the text, images, and other materials belongs to the original author. The platform reprints the materials for the purpose of conveying more information. The content of the article is for reference and learning only, and should not be used for commercial purposes. If it infringes on your legitimate rights and interests, please contact us promptly and we will handle it as soon as possible! We respect copyright and are committed to protecting it. Thank you for sharing.(Email:[email protected])

Previous 2024-10-16
Next 2024-10-16

Guess you like