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

Add EIP: Upgrade block proposer election to Whisk #7441

Merged
merged 16 commits into from
Sep 5, 2023

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented Aug 1, 2023

When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md

We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met:

  • The PR edits only existing draft PRs.
  • The build passes.
  • Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
  • If matching on email address, the email address is the one publicly listed on your GitHub profile.

dapplion and others added 7 commits July 28, 2023 00:22
Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: George Kadianakis <desnacked@riseup.net>
Co-authored-by: George Kadianakis <desnacked@riseup.net>
@dapplion dapplion requested a review from eth-bot as a code owner August 1, 2023 09:00
@github-actions github-actions bot added c-new Creates a brand new proposal s-draft This EIP is a Draft t-core labels Aug 1, 2023
@eth-bot
Copy link
Collaborator

eth-bot commented Aug 1, 2023

✅ All reviewers have approved.

@eth-bot eth-bot added e-consensus Waiting on editor consensus e-review Waiting on editor to review labels Aug 1, 2023
@github-actions
Copy link

github-actions bot commented Aug 1, 2023

The commit 78ce5b8 (as a parent of 48a6dc1) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot added the w-ci Waiting on CI to pass label Aug 1, 2023
Copy link
Member

@Pandapip1 Pandapip1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the issue with the title

@YaroslavPysanskyi
Copy link

@YaroslavPysanskyi

EIPS/eip-7441.md Outdated Show resolved Hide resolved
Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
@eth-bot eth-bot changed the title Add EIP: Upgrade block proposer election to Whisk SSLE Add EIP: Upgrade block proposer election to Whisk Aug 3, 2023
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Aug 3, 2023
@dapplion dapplion mentioned this pull request Aug 3, 2023
EIPS/eip-7441.md Outdated Show resolved Hide resolved

The beacon chain currently elects the next 32 block proposers at the beginning of each epoch. The results of this election are public and everyone gets to learn the identity of those future block proposers.

This information leak enables attackers to launch DoS attacks against each proposer sequentially in an attempt to disable Ethereum.
Copy link
Contributor

@g11tech g11tech Aug 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there was an EIP which described how proposers and/or users can collude to avoid paying higher base fee and pocket more tips leading to irregular block size, will see which was that . this EIP can potentially address that scenario as well

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With whisk, each proposer is aware of its future proposer slots much more in advance. So if there's collusion and proposers want to reveal such information to selected parties, Whisk makes the attack you describe easier.

Copy link
Contributor

@g11tech g11tech Aug 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may be then we can add this in security considerations ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's a significant change into the status quo security in this regard. With RANDAO based shuffling actors can still collude if they have proposer slots in a row

EIPS/eip-7441.md Outdated Show resolved Hide resolved
### Consensus layer

The protocol can be summarized in the following concurrent steps:

Copy link
Contributor

@g11tech g11tech Aug 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Proposals are now divided into shuffling phases of `WHISK_EPOCHS_PER_SHUFFLING_PHASE` epochs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if this sentence is necessary. TBH this mini summary of the protocol is not necessary either. It does not provide any specification and is only a general overview for readers. Should it be removed altogether?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so the flow of someone looking into this feature would be (or atleast how we want it to be) : Read EIP => Read consensus specs => get into client implementations if someone wants to follow through on this. So mini summary helps making that jump

keeping that in mind, what kind of mini summary would you deem good to fit here. else if we have that somewhere in consensus specs (fork.md?) then we can refer it here i guess

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think such summary would fit anywhere in the specs. Since it's derived information it mostly fits here or in a blog / etheresearch post introduction.

EIPS/eip-7441.md Outdated Show resolved Hide resolved
EIPS/eip-7441.md Outdated Show resolved Hide resolved
EIPS/eip-7441.md Outdated Show resolved Hide resolved
EIPS/eip-7441.md Outdated Show resolved Hide resolved
EIPS/eip-7441.md Outdated Show resolved Hide resolved
dapplion and others added 5 commits August 9, 2023 10:25
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: g11tech <develop@g11tech.io>

The full specification of the proposed change can be found in [`/_features/whisk/beacon-chain.md`](https://github.com/ethereum/consensus-specs/blob/a39abe388bc2d1abd5b4fd62fd18aed497956b30/specs/_features/whisk/beacon-chain.md). In summary:

- Update `BeaconState` with fields needed to track validator trackers, commitments, and the two rounds of candidate election.
Copy link
Contributor

@g11tech g11tech Aug 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may be we don't need this detail (how to update beacon state) as its defined in the full specification already refered and could do away with this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good define some guidelines on what this section is expected to include or not? Other editors can chip-in and @djrtwo

g11tech
g11tech previously approved these changes Aug 29, 2023
Copy link
Contributor

@g11tech g11tech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, discussions for how to best summarize EIP ideas can be done separately i guess.

@eth-bot eth-bot enabled auto-merge (squash) August 29, 2023 12:12
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

@g11tech
Copy link
Contributor

g11tech commented Aug 29, 2023

@Pandapip1 is there anything pending from your side?

eth-bot
eth-bot previously approved these changes Aug 30, 2023
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

auto-merge was automatically disabled August 30, 2023 06:41

Head branch was pushed to by a user without write access

@dapplion dapplion dismissed stale reviews from eth-bot and g11tech via 7277098 August 30, 2023 06:41
@eth-bot eth-bot enabled auto-merge (squash) August 30, 2023 07:08
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

@eth-bot eth-bot merged commit 5ec99df into ethereum:master Sep 5, 2023
12 checks passed
@dapplion dapplion deleted the whisk branch September 5, 2023 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-new Creates a brand new proposal e-consensus Waiting on editor consensus e-review Waiting on editor to review s-draft This EIP is a Draft t-core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants