Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EIP: Ethereum state using a unified binary tree #9257

Merged
merged 15 commits into from
Jan 22, 2025

Conversation

jsign
Copy link
Contributor

@jsign jsign commented Jan 20, 2025

This PR proposes using a binary tree for the blockchain state.

This proposal is a potential alternative to EIP-6800 (Verkle trees), motivated by:

  • Recent concerns about requiring post-quantum security sooner than expected. Relying on a hash-based state tree is the main alternative to elliptic curves used in EIP-6800.
  • Proving systems for SNARKifying L1 keep improving at a good pace, getting closer to what is required by L1 state proofs. There's ongoing research and tracking of multiple proof systems to determine the best option.

See more of the rationale behind this EIP in the discussion thread link.

Signed-off-by: Ignacio Hagopian <[email protected]>
@github-actions github-actions bot added c-new Creates a brand new proposal s-draft This EIP is a Draft t-core labels Jan 20, 2025
@eth-bot
Copy link
Collaborator

eth-bot commented Jan 20, 2025

✅ All reviewers have approved.

@eth-bot eth-bot added e-consensus Waiting on editor consensus e-review Waiting on editor to review labels Jan 20, 2025
@github-actions github-actions bot added the w-ci Waiting on CI to pass label Jan 20, 2025
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
@tynes
Copy link

tynes commented Jan 20, 2025

Having a proof verify precompile for the new state scheme would be super helpful and save the need to implement it in solidity for L2 bridges

@jsign
Copy link
Contributor Author

jsign commented Jan 20, 2025

Having a proof verify precompile for the new state scheme would be super helpful and save the need to implement it in solidity for L2 bridges

@tynes, thanks for mentioning it! We have discussed that a couple of times in previous stateless calls (last year or the year before), motivated mainly by abstracting away state proof from the underlying tree. The discussion was around Verkle since doing Verkle state-proof verifications in solidity would be pretty hairy due to the EC crypto stack.

Although I doubt we will make multiple tree changes in the future, having a precompile to make the L1 state-proof verification more efficient and secure, is a good argument to eventually reignite the discussion.

@gballet
Copy link
Member

gballet commented Jan 20, 2025

@tynes We already have 7545 for this purpose, which is designed to verify all sort of stateless proofs. Former proponents of this approach invariably change their minds about it, so there is a significant burden of proof on the next proponent for this effort to be revived.

EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
jsign added 4 commits January 20, 2025 17:08
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
@jsign
Copy link
Contributor Author

jsign commented Jan 20, 2025

@Marchhill, thanks for the detailed review!

EIPS/eip-XXX.md Outdated Show resolved Hide resolved
Signed-off-by: Ignacio Hagopian <[email protected]>
@jsign jsign marked this pull request as ready for review January 21, 2025 15:30
@jsign jsign requested a review from eth-bot as a code owner January 21, 2025 15:30
EIPS/eip-XXX.md Outdated Show resolved Hide resolved
jsign added 2 commits January 21, 2025 18:07
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
@jsign jsign marked this pull request as draft January 21, 2025 21:09
jsign added 2 commits January 21, 2025 18:11
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Jan 21, 2025
Signed-off-by: Ignacio Hagopian <[email protected]>
Copy link

The commit bac023e (as a parent of 63222cb) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot added the w-ci Waiting on CI to pass label Jan 21, 2025
jsign added 2 commits January 21, 2025 20:45
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Jan 21, 2025
@jsign jsign marked this pull request as ready for review January 21, 2025 23:51
EIPS/eip-7864.md Outdated Show resolved Hide resolved
EIPS/eip-7864.md Outdated Show resolved Hide resolved
g11tech
g11tech previously approved these changes Jan 22, 2025
@eth-bot eth-bot enabled auto-merge (squash) January 22, 2025 08:10
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

@eth-bot eth-bot merged commit e8d6056 into ethereum:master Jan 22, 2025
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-new Creates a brand new proposal e-consensus Waiting on editor consensus e-review Waiting on editor to review s-draft This EIP is a Draft t-core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants