-
Notifications
You must be signed in to change notification settings - Fork 745
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
[Merged by Bors] - Optionally skip RANDAO verification during block production #3116
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
michaelsproul
added
ready-for-review
The code is ready for review
low-hanging-fruit
Easy to resolve, get it before someone else does!
HTTP-API
labels
Mar 25, 2022
pawanjay176
approved these changes
Mar 28, 2022
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.
LGTM
michaelsproul
added
ready-for-merge
This PR is ready to merge.
and removed
ready-for-review
The code is ready for review
labels
Mar 28, 2022
bors r+ |
bors bot
pushed a commit
that referenced
this pull request
Mar 28, 2022
## Proposed Changes Allow Lighthouse to speculatively create blocks via the `/eth/v1/validators/blocks` endpoint by optionally skipping the RANDAO verification that we introduced in #2740. When `verify_randao=false` is passed as a query parameter the `randao_reveal` is not required to be present, and if present will only be lightly checked (must be a valid BLS sig). If `verify_randao` is omitted it defaults to true and Lighthouse behaves exactly as it did previously, hence this PR is backwards-compatible. I'd like to get this change into `unstable` pretty soon as I've got 3 projects building on top of it: - [`blockdreamer`](https://github.com/michaelsproul/blockdreamer), which mocks block production every slot in order to fingerprint clients - analysis of Lighthouse's block packing _optimality_, which uses `blockdreamer` to extract interesting instances of the attestation packing problem - analysis of Lighthouse's block packing _performance_ (as in speed) on the `tree-states` branch ## Additional Info Having tested `blockdreamer` with Prysm, Nimbus and Teku I noticed that none of them verify the randao signature on `/eth/v1/validator/blocks`. I plan to open a PR to the `beacon-APIs` repo anyway so that this parameter can be standardised in case the other clients add RANDAO verification by default in future.
michaelsproul
added a commit
to michaelsproul/lighthouse
that referenced
this pull request
Mar 28, 2022
bors
bot
changed the title
Optionally skip RANDAO verification during block production
[Merged by Bors] - Optionally skip RANDAO verification during block production
Mar 28, 2022
paulhauner
pushed a commit
to paulhauner/lighthouse
that referenced
this pull request
May 6, 2022
## Proposed Changes Allow Lighthouse to speculatively create blocks via the `/eth/v1/validators/blocks` endpoint by optionally skipping the RANDAO verification that we introduced in sigp#2740. When `verify_randao=false` is passed as a query parameter the `randao_reveal` is not required to be present, and if present will only be lightly checked (must be a valid BLS sig). If `verify_randao` is omitted it defaults to true and Lighthouse behaves exactly as it did previously, hence this PR is backwards-compatible. I'd like to get this change into `unstable` pretty soon as I've got 3 projects building on top of it: - [`blockdreamer`](https://github.com/michaelsproul/blockdreamer), which mocks block production every slot in order to fingerprint clients - analysis of Lighthouse's block packing _optimality_, which uses `blockdreamer` to extract interesting instances of the attestation packing problem - analysis of Lighthouse's block packing _performance_ (as in speed) on the `tree-states` branch ## Additional Info Having tested `blockdreamer` with Prysm, Nimbus and Teku I noticed that none of them verify the randao signature on `/eth/v1/validator/blocks`. I plan to open a PR to the `beacon-APIs` repo anyway so that this parameter can be standardised in case the other clients add RANDAO verification by default in future.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
HTTP-API
low-hanging-fruit
Easy to resolve, get it before someone else does!
ready-for-merge
This PR is ready to merge.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed Changes
Allow Lighthouse to speculatively create blocks via the
/eth/v1/validators/blocks
endpoint by optionally skipping the RANDAO verification that we introduced in #2740. Whenverify_randao=false
is passed as a query parameter therandao_reveal
is not required to be present, and if present will only be lightly checked (must be a valid BLS sig). Ifverify_randao
is omitted it defaults to true and Lighthouse behaves exactly as it did previously, hence this PR is backwards-compatible.I'd like to get this change into
unstable
pretty soon as I've got 3 projects building on top of it:blockdreamer
, which mocks block production every slot in order to fingerprint clientsblockdreamer
to extract interesting instances of the attestation packing problemtree-states
branchAdditional Info
Having tested
blockdreamer
with Prysm, Nimbus and Teku I noticed that none of them verify the randao signature on/eth/v1/validator/blocks
. I plan to open a PR to thebeacon-APIs
repo anyway so that this parameter can be standardised in case the other clients add RANDAO verification by default in future.