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

Epic: Staking withdrawals #577

Closed
wackerow opened this issue Jan 10, 2023 · 1 comment · Fixed by #635
Closed

Epic: Staking withdrawals #577

wackerow opened this issue Jan 10, 2023 · 1 comment · Fixed by #635
Assignees

Comments

@wackerow
Copy link
Member

wackerow commented Jan 10, 2023

Intro

After two years since the launch of the Beacon Chain, the ability for stakers to withdrawal their staked funds and unlock their rewards is soon approaching. EIP-4895, slated to be included in the upcoming Shanghai upgrade, enables push withdrawals from the Beacon Chain.

The Staking Launchpad currently does not provide any clarity surrounding withdrawals other than that it is proposed to be included in the upcoming Shanghai upgrade.

The roll-out of push withdrawals makes the process relatively simple for stakers, but does include at least one call-to-action to check their withdrawal credentials, and upgrade them to a valid withdrawal address if not done so yet. Information related to how to check this, and how to upgrade should be provided to stakers from the Launchpad. Information related to how to exit should also be provided, as this option is all the more practical post-withdrawals since funds will no longer be locked indefinitely.

User personas to consider

  • Node operating stakers
    • Looking to confirm their withdrawal credentials
    • Looking to upgrade their withdrawal credentials
    • Looking to exit and withdrawal from staking
    • Slashed and looking to withdrawal

Synopsis

  • Goal: Provide a targeted information resource to answer any questions home stakers may have in regards to the new push withdrawal process, including an overview of how it works, what stakers need to do to prepare, info about some commons edge cases (ie. slashing), resources to testing/development (prior to upgrade)
  • Location: Similar to previous network upgrade pages (such as /merge-readiness), imagined this as a one-pager living at /withdrawals
  • Target audience: Node operating stakers

Scope of this epic:

  • Provide guidance on how to check if their withdrawal credentials have properly been set or not
  • Provide guidance and instructions on how to use available CLI tools to safely generate their withdrawal keys and sign a message to upgrade their withdrawal credentials
  • Provide client-specific* guidance on how to broadcast this signed message with a validator client
  • Provide client-specific* guidance on how to sign a voluntary exit message for those users looking to withdrawal their entire stake
  • Provide information directed at those who have have been slashed, related to need for withdrawal credential upgrade (which can be done only once, and at an point in time—funds remain locked prior to completion).

* To be determined if we'll provide detailed client-specific instructions in-site, or link out to canonical client-specific documentation

Note: Parallel epic in place on ethereum.org. Main separation of concerns between ethereum.org and the Staking Launchpad is that ethereum.org is purely informational (aimed at all Ethereum users, not just those who manage validator keys), whereas the Staking Launchpad explains in more details CLI steps, and provides client-specific instructions wherever possible to make this process as painless as possible for stakers.

Out of scope

More technical documentation surrounding details of how EIP-4985 works. This can be reserved for the /developers/docs section of ethereum.org.

@wackerow wackerow self-assigned this Jan 10, 2023
@wackerow wackerow changed the title Epic: Push withdrawals Epic: Staking withdrawals Feb 11, 2023
@etan-status
Copy link

Capella has happened, the staking launchpad text needs to be updated to reflect the withdrawal functionality.

  • Deposits are no longer "one-way", as the stake can be recovered with a withdrawal (two locations need updating)
  • Withdrawals now exist (the disclaimer page about withdrawals being a future feature needs updating)

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

Successfully merging a pull request may close this issue.

2 participants