Skip to content
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

EIP-4844 Tracking #3625

Closed
realbigsean opened this issue Oct 4, 2022 · 4 comments
Closed

EIP-4844 Tracking #3625

realbigsean opened this issue Oct 4, 2022 · 4 comments
Labels

Comments

@realbigsean
Copy link
Member

realbigsean commented Oct 4, 2022

Description

Thanks a lot @dknopik and @MariusVanDerWijden for kick starting the Lighthouse implementation!

The main Lighthouse EIP-4844 branch will be here: https://github.com/sigp/lighthouse/tree/eip4844

This branch currently has a lot of boiler plate implemented but there is still a lot of functionality missing. The goal in the short term is to at least get this branch far enough along to participate in devnets. I'll write up issues for the tasks listed below and link them here. All the specs are still under development so the info here will likely change.

Tasks [Outdated - See below comment]

Primary

  • Block and blob processing
    • We could treat blocks as optimistic until blobs are validated
    • A BlobHandle similar to ExecPayloadHandle but would be for an RPC request and include a channel receiver from gossip
    • Verifying kzg commintments against transactions - this is specified in gossip and block processing
  • Block production
  • Gossip validation
    • blob and block validation are currently independent of each other in gossip
  • Make the execution payload into a superstruct
    • Mark and Michael have been working on this in our Capella implementation. We will similarly need this because there are new fee market fields in the execution payload.

Secondary

  • Blob pruning
  • Newtype SSZ derive #[ssz(transparent)]

Outstanding Questions

  • Will blocks and blobs be gossiped and RPC'd together? Currently no on the devnet
  • Should we include BlobsByRoot in RPC?
  • Should BlobsByRange use signed or unsigned blobs?

Spec Links

Other Useful Links

@pawanjay176
Copy link
Member

Should we include BlobsByRoot in RPC?

I think yes, because in the case when we get a BeaconBlock before the Blob, we can request for the corresponding block_root over RPC similar to how we do for attestations and sync committee messages.

@xrchz
Copy link
Contributor

xrchz commented Oct 7, 2022

I'd be happy to add Rust bindings to c-kzg if someone at Lighthouse can coordinate on what interface would be good for them. We have a stripped down 4844 specific version of c-kzg in development here, currently adding C# bindings for Nethermind. https://github.com/dankrad/c-kzg/tree/4844/min-bindings

@realbigsean
Copy link
Member Author

realbigsean commented Nov 4, 2022

Outstanding tasks [Updated Nov. 4th]

Tasks required to join the next devnet:

Tasks not required to join the next devnet:

@realbigsean
Copy link
Member Author

Closing this as it's stale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants