Skip to content

EIP-7594: PeerDAS #8417

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

Open
wants to merge 105 commits into
base: master
Choose a base branch
from
Open

EIP-7594: PeerDAS #8417

wants to merge 105 commits into from

Conversation

marcindsobczak
Copy link
Contributor

@marcindsobczak marcindsobczak commented Mar 26, 2025

Changes

Engine API (spec):

  • added engine_getPayloadV5 and BlobsBundleV2
  • added engine_getBlobsV2 and BlobAndProofV2

EIP-7594 (spec):

  • added ProofVersion to network wrapper
  • added support for version 0x1 of network wrapper (cell proofs)

Other:

  • bumped ckzg package from 2.0.1.1258 to 2.1.0.1342
  • added tests for storage of blob transactions with cell proofs

TODO:

  • p2p logic (send wrapper 0x00 only before fork and 0x01 only after fork)
  • p2p perf improvement (after fork skip requesting blob txs with size lower than min size of blob tx with cell proofs as it is 100% old format which will be rejected anyway)
  • (optional) add config proofsTranslationEnabled - if true, after the fork accept txs from RPC endpoint with network wrapped in old format and translate to the new one (so calculate cell proofs)
  • benchmark, improve proof verification (and probably proof generation) performance

Types of changes

What types of changes does your code introduce?

  • Bugfix (a non-breaking change that fixes an issue)
  • New feature (a non-breaking change that adds functionality)
  • Breaking change (a change that causes existing functionality not to work as expected)
  • Optimization
  • Refactoring
  • Documentation update
  • Build-related changes
  • Other: Description

Testing

Requires testing

  • Yes
  • No

If yes, did you write tests?

  • Yes
  • No

Notes on testing

To activate peerdas in chainspec the following changes are required:

{
  ...
  "params": {
    ...
    "blobSchedule": {
      ...
      "osaka": {
        "target": 48,
        "max": 72,
        "baseFeeUpdateFraction": 40061728
      }
    },
   ...
    "eip7594TransitionTimestamp": "0x..."
  },
  ...
}

Nethermind client docker image: nethermindeth/nethermind:peerdas-c3d12c7
Send blobs tool docker image: nethermindeth/send-blobs:latest (pass --fork Osaka flag to send blobs with proof type V2)

Requires explanation in Release Notes

  • Yes
  • No

PeerDAS support for Fusaka

…sions

# Conflicts:
#	src/Nethermind/Ethereum.Test.Base/JsonToEthereumTest.cs
#	src/Nethermind/Nethermind.Consensus/Messages/TxErrorMessages.cs
#	src/Nethermind/Nethermind.Core/Specs/IReleaseSpec.cs
#	src/Nethermind/Nethermind.Core/Specs/ReleaseSpecDecorator.cs
#	src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs
#	src/Nethermind/Nethermind.Specs.Test/OverridableReleaseSpec.cs
#	src/Nethermind/Nethermind.Specs/Forks/19_Osaka.cs
#	src/Nethermind/Nethermind.Specs/ReleaseSpec.cs
#	src/Nethermind/Nethermind.TxPool.Test/TxPoolTests.Blobs.cs
@marcindsobczak marcindsobczak marked this pull request as ready for review April 16, 2025 17:51
@marcindsobczak marcindsobczak changed the title [WIP] EIP-7594: PeerDAS EIP-7594: PeerDAS Apr 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
osaka Fusaka Hard Fork
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants