-
Notifications
You must be signed in to change notification settings - Fork 974
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
P2P clarifications when introducing engine_getBlobsV1
#3864
P2P clarifications when introducing engine_getBlobsV1
#3864
Conversation
The risk is that nodes that aren’t connected to EL mempool or those that didn’t receive expected blobs on EL for any reason won’t be able to conclude DA. Probably, they will send |
I think we can't just rely on the EL mempool for data availability. We would still require them to be broadcasted if the blob txs come from private mempools. Although viewing it as a complimentary thing is super useful:
We've implemented an experimental integration with this endpoint in Lighthouse, and it's proven to be quite reliable on testnets, and is probably the simplest and immediate solution to proposer bandiwdth problem after Pectra / PeerDAS. |
@tbenr what do you think about using “request from local execution layer client” in lieu of a specific Engine API method? The spec can mention a specific method as an example of a way of direct EL querying. In general, the spec is abstracted away from Engine API and its spec |
that makes sense! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, looks great!
Co-authored-by: Mehdi AOUADI <[email protected]>
Co-authored-by: Justin Traglia <[email protected]>
Co-authored-by: Justin Traglia <[email protected]>
Co-authored-by: Justin Traglia <[email protected]>
Co-authored-by: Justin Traglia <[email protected]>
Co-authored-by: Justin Traglia <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. Thanks for making those changes 🙏
This PR adds some clarifications in the P2P spec if engine_getBlobsV1 become a viable method to retrieve blobs.
Dictates that an honest validator, when successfully recover blobs for the current slot using local EL MUST:
blob_sidecar
over the p2p layerblob_sidecar
over the gossip (ie update equivocation cache)The basic idea is that, if
engine_getBlobsV1
is used to recover missing blobs while following the head, it should behave like it has been received via gossip.If it is used to retrieve recent past blobs the node could have missed, it should act as a byRoot RPC request (no republish)