EIP-4844: consensus-layer specs of Shard Blob Transactions#2850
Merged
djrtwo merged 4 commits intoethereum:devfrom Mar 15, 2022
Merged
EIP-4844: consensus-layer specs of Shard Blob Transactions#2850djrtwo merged 4 commits intoethereum:devfrom
djrtwo merged 4 commits intoethereum:devfrom
Conversation
This was referenced Mar 10, 2022
Member
Thank you ❤️ 😄 |
Co-Authored-By: terenc3t <[email protected]> Co-Authored-By: djrtwo <[email protected]>
Contributor
Author
|
Implemented changes based on review, thank you @terencechain and @djrtwo. And opened #2852 to track the remaining items like pyspec changes and move of download requirement from validator-doc to fork-choice-doc. |
djrtwo
approved these changes
Mar 15, 2022
Contributor
djrtwo
left a comment
There was a problem hiding this comment.
thank you @protolambda!
we'll merge this and move to the tracking issue for subsequent convo and development.
I really like that this is in a "feature" dir so it makes the notion of merging soon much easier :)
18 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR outlines the consensus-layer changes for EIP-4844.
Changes (split across multiple docs like other hardforks, in a "feature directory" named
eip4844):BeaconBlockBodyto track the KZG commitments of the blobsBlobsSidecarto sync blobs.Also note the(edit: not adding theshardfield for forward compatibility - I think we can afford the mere 8 zero bytes in the blobs type to be compatible with a likely path forward with full sharding.shardfield anymore)SignedBlobsSidecarto gossip blobs: initially the signature is available. Long-term we cannot rely on the sidecar signature being available however, blobs are synced without signture (but still verified with KZG against the beacon block). The signature functions as a spam protection in gossip.fork.mdto define how to proceed with EIP-4844 testnet upgrade.BlobsSidecarsByRangeto sync blobs: no by-root equivalent since the expectation is to sync blobs after having a reference beacon chain that misses them. Additionally the serving span is reduced to a month (data availability period caps it naturally) compared to that of 5 months of beacon blocks. And nostephere, based on previous complaints dev-feedback about the beacon blocks variant.Possible TODO (or maybe for a later PR): the honest-validator spec covers the blob download obligation currently, but we should maybe emphasize it as a forkchoice-dependency. I am not aware of a dependency system in the existing fork-choice docs though, so it may require some refactoring (help/feedback appreciated there).
Once the EIP has gone through more testing and review, and once there is rough-consensus on inclusion in a hardfork, then we can merge the
eip4844feature-directory with other consensus features of that hardfork. The next consensus fork after the Merge, dubbedCapellacurrently, being the primary target.In a follow-up PR I can work on enabling pyspec generation from this feature set, and corresponding testing. Need a stable base + format first before we refactor code-gen to support features instead of just phases.