-
Notifications
You must be signed in to change notification settings - Fork 325
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
Consensus-layer Call 136 #1084
Comments
Hello! On behalf of Nethermind Research, I would like to present the results of the research report "Allowing validators to provide client information privately". This work was sponsored by a grant from the Ethereum Foundation, and its presentation to the community is an important milestone for its completion. (I will summarize the main results into a 15-minute presentation.) This research discusses methods that can be used (with some changes to the Ethereum protocol) to gather client diversity data from validators in an anonymous fashion. We would greatly appreciate your feedback on this. |
Hey all, I'd like to RFC a proposal I've made a number of months ago, and which we've since mostly fleshed out and completed Geth side. Although I could try to EIP it, it cross cuts EL and CL and extends the The proposal (updated since originally brain-dumped) is Execution layer cross-validation, which is a fancy way of saying Stateless Ethereum before Verkle. The TL;DR is that whilst MPT witnesses are somewhat large for reliable propagation over the internet, they can still be immensely useful (before Verkle lands) for a) preventing validator slashing due to consensus fault; and b) preventing double spend type attacks on services relying on a consensus faulty client. What concerns the consensus clients is the
One new type mentioned above are (exemplified json): // statelessPayloadStatusV1 is the result of a stateless payload execution.
var statelessPayloadStatusV1 = {
status: "same as payloadStatusV1.status",
stateRoot: "0x0000000000000000000000000000000000000000000000000000000000000000",
receiptsRoot: "0x0000000000000000000000000000000000000000000000000000000000000000",
validationError: "same as payloadStatusV1.validationError",
} The above primitives permit us to enable the following use-cases:
Again, note, the various As you can see on the use cases above, I've tried to make the API design feel as natural as can be compared to the way the consensus clients communicate currently with the execution layer. You'd have complete control over how you cross validate across different client implementations. Everything mentioned in this doc and the one linked is implemented in Geth and is fully functional. Currently the API integration is the only outstanding merge, which you can find in this PR. You can also find benchmark results in the linked document wrt witness construction overhead in Geth (hint, 20ms on mainnet head); stateless execution performance in Geth (hint, 105ms on mainnet head); witness sizes (hint; 8MB JSON encoded) and encoding/decoding speeds (hint, 100ms for JSON, 5ms for RLP (ouch)). For more details though, please check out the proposal. |
I’d like to announce the following PR: |
|
ethjs impl 🥳 |
This has been discussed in #1070, but we hope to get broader attention on passing the blob max count in Pectra to make the PeerDAS feature easier to test and deliver.
|
closing in lieu of #1096 |
Consensus-layer Call 136
prev: call 135
Meeting Date/Time: Thursday 2024/6/27 at 14:00 UTC
Meeting Duration: 1.5 hours
stream
The text was updated successfully, but these errors were encountered: