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
With many eyes on EIP4844 lately, we need a canonical tracking issue to start capturing tasks needed in Prysm to support EIP4844. There have been many ongoing parallel efforts on implementing 4844 for prysm and those branches are scattered over the places. We should consolidate them in one place. This Issue will capture the detailed todos and push EIP4844 forward with Prysm
New container
Add new sidecar containers
Modify beacon block containers
Modify execution payload containers
KZG library
Pick a KZG library to use
Pick a backup KZG library to use
Do we need to write any wrappers on top of the KZG libraries?
Consensus layer changes
Add process_blob_kzg_commitments and verify_kzg_commitments_against_transactions to validate commitments across payload raw transactions
Add validate_blobs_sidecar which uses evaluate_polynomial_in_evaluation_form and verify_kzg_proof
State transition should be aware of beacon objects under Capella/EIP4844 version
State transition should upgrade to Capella/EIP4844 version
Networking changes
New gossip handler for beacon_block_and_blob_sidecar
New req/res handler to request and respond blob_sidecar by ranges
Update the same req/res handler for Capella/EIP4844 beacon_block
New Capella/EIP4844 fork digest and fork watcher
Validator changes
Use new engine API to retrieve payload and sidecar in one go
Add KZG proof construction for block proposal
Validator can sign new beacon block
Validator can sign sidecar
RPC changes
Various RPC methods have to support Capella/EIP4844 block request/respond
Support retrieving sidecar by block root or block slot
Support retrieving individual blob by blob hash or commitment
Database changes
Can save sidecar
Can prune sidecar after N epochs (rolling window style). Optional: N can be a parameter
We might need some lookups such as beacon_block_root -> execution_block_hash or vice versa
Testing
Can sync devnet with the new branch
The text was updated successfully, but these errors were encountered:
Background
With many eyes on EIP4844 lately, we need a canonical tracking issue to start capturing tasks needed in Prysm to support EIP4844. There have been many ongoing parallel efforts on implementing 4844 for prysm and those branches are scattered over the places. We should consolidate them in one place. This Issue will capture the detailed todos and push EIP4844 forward with Prysm
New container
KZG library
Consensus layer changes
process_blob_kzg_commitments
andverify_kzg_commitments_against_transactions
to validate commitments across payload raw transactionsvalidate_blobs_sidecar
which usesevaluate_polynomial_in_evaluation_form
andverify_kzg_proof
Networking changes
beacon_block_and_blob_sidecar
blob_sidecar
by rangesbeacon_block
Validator changes
RPC changes
Database changes
N
epochs (rolling window style). Optional:N
can be a parameterbeacon_block_root
->execution_block_hash
or vice versaTesting
The text was updated successfully, but these errors were encountered: