ChainIDE#37 Stateless Rollup
子小艺 last edited by
Full node validates blocks by downloading all transactions and re-executing them to check their validity, and not surprisingly, larger blocks impose a greater burden on the full node because more hardware is required to process and validate each block. Techniques such as fraud and proof of validity allow nodes to check validity without having to re-execute each transaction. Data availability sampling technology enables nodes to verify data availability while downloading only a small portion of each block.
Statelessness is a feature where the whole node validates blocks without storing state (this is called Statelessness). There are two main types of statelessness:
1. Strong statelessness: No node is required to store state.
2. Weak statelessness: Only the block producer is required to store state.
To verify the validity of a block, the full node starts with a pre-state root, which is the root of the state tree after the previous block has been attached to the chain. The transaction is then re-executed, generating a new state root (called post State root). The computed POST State root is then verified against the POST State root in the proposed block header. If a match is made, the block is valid; if not, the block is invalid and rejected. However, stateless nodes do not initially have pre-state root because they do not store state. In a stateless rollup, the sequencer assigns each block a pre-state root and a Post state root to validate the block.
Therefore, stateless rollup has two benefits
1, state growth
Removing the requirement of the full node storage state will lower the hardware threshold, thus reducing the barrier for more users to run the full node. Mitigating the negative effects of state growth is just as important for rollup as any other chain, because they are also vulnerable. Since weak statelessness does not absolve the sequencer from storing state, the most used rollups will find that state growth can be a hindrance. We can implement further measures to reduce the growth of the sequencer's state, for example, when the state expires, states that have not been accessed during a given period of time are removed from the state.
Incidentally, stateless also removes the DoS attack vector for disk IO, since stateless nodes no longer need to perform state access, which is especially useful if rollup has a large state.
2. Fraud proof
Statelessness and fraud certificates are two sides of the same coin; as soon as one is implemented, the other is made available for free. Nodes require pre-state root and Post State root to verify proof of fraud, similar to requirements for stateless block verification. Admittedly, there are other considerations regarding proof of fraud, such as single versus multiple rounds, bonding, and general censorship resistance details.
** Discussion: **
What do you think is the most valuable use of stateless Rollup?
Do you think stateless rollup will ever replace the old rollup technology?
Read the extension:
** Welcome to follow us for more knowledge **
** Welcome to join our discussion ~**
Stateless Rollup seems like a promising solution for scalability, but have you considered exploring platforms like 3 patti blue pakistan? They offer unique features that could complement this approach and enhance overall performance. It's always exciting to see innovations in the blockchain space!