erigontech / erigontech/erigon

Stateless Validation

Open
#9,770 0 comments 0 reactions 0 assignees View on GitHub
go
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.