-
Notifications
You must be signed in to change notification settings - Fork 288
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
Implement EIP-4844 (proto danksharding) #5681
Labels
Epic Deneb
Issues required to implement Deneb upgrade
Comments
Implementation notes for consensus clients. |
tbenr
added
Epic Deneb
Issues required to implement Deneb upgrade
and removed
Epic
labels
Nov 4, 2022
2 tasks
2 tasks
2 tasks
@tbenr Are we happy to close this epic now? |
@lucassaldanha there is only #7946 left, will close the epic once it's merged |
All done now 🥳 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Specification
Everything that builds on top of previous fork should build on top of
Capella
, so it is strongly suggested to waitCapella
classes to be defined before introducingEip4844
versions.Decoupling EIP-4844 blobs
backlog
DatabaseTest
covering 4844 enabled tx #6668block fetcher)
Nice to have
validate-blob-sidecars
#7947BlobSidecars
#7369JsonProviderPropertyTest
Tasks below are prior to the blobs decoupling spec change, so may not be required
Configuration
SSZ Containers and schema
excess_blobs: uint64
toexcess_data_gas: uint256
#6479Spec
blockProcessor
should no more initiate data availability check #6673Validator coordinator
Storage
BlobsSidecar
lifecycle #6586BlobsSidecar
lifecycle. #6629context:
FIELD_ELEMENTS_PER_BLOB
*BLSFieldElement
*MAX_BLOBS_PER_BLOCK
*MIN_EPOCHS_FOR_BLOBS_SIDECARS_REQUESTS
*SLOTS_PER_EPOCH
= 4096*32 (131KB: max blob size) * 16 (2MB max blobs sidecar) * 4096 * 32 = 256GiBUpdate:
MAX_BLOBS_PER_BLOCK
is now 4 so space requirements goes down to 64GiBby block root from the last finalized blobs to the most recent (to responds with a coupled SignedBeaconBlockAndBlobsSidecar)
by slot range for p2p (still need do be decided if coupled or decoupled from blocks)
Other things to consider:
Sync
RecentBlockFetcherService
for EIP-4844 #6691HistoricalBlockSyncService
We have to bare in mind that we have to run
validate_blobs_sidecar
against the alleged coupled block to make sure that they actually couple.Networking
beacon_block_and_blobs_sidecar
topic #6460beacon_block_and_blobs_sidecar
gossip validation #6473BeaconBlocksByRootV2
is replaced byBeaconBlockAndBlobsSidecarByRootV1
when 4844 activates. We have to continue usingBeaconBlocksByRootV2
until 4844 fork finalizes, to cover the case in which we want to lookup blocks from previous fork. (EIP4844: Add block and sidecar retrival by root ethereum/consensus-specs#3089) (covered in ExtendRecentBlockFetcherService
for EIP-4844 #6691)interesting point from Lion: ethereum/consensus-specs#3113
Beacon API
Engine API
engine_getBlobsBundleV1
in engine API #6387KZG Crypto library
backlog
MAX_BLOBS_PER_BLOCK
to 4 ethereum/consensus-specs#3145 preset changes when mergedv1.3.0
). It was disabled in our code and it's enabled finally in spec.0x05
to0x03
deneb: switch blob tx type to 0x03 ethereum/consensus-specs#3317The text was updated successfully, but these errors were encountered: