erigontech / erigontech/erigon
Stateless Validation
- Dominant language
- Go
- Stars
- 3.6k
- Forks
- 1.5k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 455
Description
# Rationale
Stateless validation would allow for blocks to be validated by network participants running erigon without the need of a comprehensive state database. This capability is a requirement for a platform that I am building.
# Implementation
Do you have ideas regarding the implementation of this feature?
As far I understand erigon already has the capability to generate a block state witness. As such we can introduce a new rpc endpoint of the following format `engine_newStatelessPayload(ExecutionPayload, BlockStateWitness, ChainMetadata)`. The `ExecutionPayload` is the block to be validated, the `BlockStateWitness` is the state witness required to validate the block and the `ChainMetadata` contains required metadata such as previous block hash, chain id and other auxiliary data required for validation. The endpoint would simply return `{status: Valid, ...}` or `{status: Invalid, ..}`.
Are you willing to implement this feature?
Yes I would be willing to implement this feature with support from core devs who can assist in helping me design and specify the implementation.
Contributor guide
Assessment
This issue has not been assessed yet.