You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Everything that builds on top of previous fork should build on top of Capella, so it is strongly suggested to wait Capella classes to be defined before introducing Eip4844 versions.
Implement blob sidecar backfill. This becomes critical since we can consider our head valid only if all blobs within MIN_EPOCHS_FOR_BLOBS_SIDECARS_REQUESTS have been downloaded (verified against the corresponding block)
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.
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: