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

Withdrawals tracking issue #2758

Closed
5 tasks done
djrtwo opened this issue Dec 1, 2021 · 10 comments
Closed
5 tasks done

Withdrawals tracking issue #2758

djrtwo opened this issue Dec 1, 2021 · 10 comments
Labels

Comments

@djrtwo
Copy link
Contributor

djrtwo commented Dec 1, 2021

Withdrawals (code name Capella) will be specified as three features:

  1. Withdrawable 0x01 validators -> withdrawn (at epoch boundaries) and core withdrawal mechanism -- Withdrawals push #2836
  2. 0x00 -> 0x01 withdrawal credentials change operation -- 00 to 01 cred change #2855
  3. Partial withdrawal on amounts above 32 eth for 0x01 validators -- Partial withdrawals #2862
  4. consider removal of withdrawn_epoch added in (1) remove withdrawn_epoch #2998
    • just utilize withdrawabl_epoch and zero balance to know if safe to re-use
  5. consider deposits into withdrawn validators remove withdrawn_epoch #2998
@djrtwo djrtwo mentioned this issue Dec 2, 2021
3 tasks
@djrtwo
Copy link
Contributor Author

djrtwo commented Dec 2, 2021

My scratchpad notes I'm working off of
https://notes.ethereum.org/BHG6JUibQ8CNqpUeVHd1dw?edit

@djrtwo djrtwo added the Capella label Dec 2, 2021
@hwwhww
Copy link
Contributor

hwwhww commented Dec 6, 2021

@djrtwo Should we add a task item of creating an EIP to handle WithdrawalReceipt?

@djrtwo
Copy link
Contributor Author

djrtwo commented Jan 4, 2022

yes

@arnetheduck
Copy link
Contributor

Apart from the economic stuff, do we want to do something about the size of the validator list in the beacon state before pulling the trigger on this one? Those lists are becoming quite nasty to manage, specially with the multiple linear scans (quadratic if you do it the pure spec way, but linear with the right optimizations) that we do regularly.

@ethereum ethereum deleted a comment from Jiggnubs Sep 19, 2022
@djrtwo
Copy link
Contributor Author

djrtwo commented Sep 19, 2022

@arnetheduck do you mean re-using indices?
The way this is spec'd allows for re-use but does not enable re-use

Or do you mean something else entirely?

@arnetheduck
Copy link
Contributor

@arnetheduck do you mean re-using indices?

yes indeed - re-using, making the list sparse or any other approach.

@mcdee
Copy link
Contributor

mcdee commented Sep 20, 2022

Is it worth attempting to optimize here before withdrawals are implemented, seems a little premature as we don't know how many exited validators there will be. Currently there are 869 out of 431,496 validators exited, or a little over 0.2%. I know that is the lower bound, but until we have some sort of idea of the real-world number we'd be doing a fair bit of work for what could be minimal gains.

Once capella goes live we should have some idea of the churn, which would help to inform the best way to approach reduction in size of the validator list.

@Where-2
Copy link

Where-2 commented Sep 20, 2022 via email

@gigamesh
Copy link

gigamesh commented Oct 1, 2022

Could someone point me to an ELI5 of how the withdrawal process will work for the end user? After reading the specs, its not clear to me how the priority is determined. EIP-4895 mentions the withdrawal "has no associated gas costs", but there is a max per block. So what determines who gets to go first?

@dapplion
Copy link
Collaborator

dapplion commented Oct 5, 2022

Could someone point me to an ELI5 of how the withdrawal process will work for the end user? After reading the specs, its not clear to me how the priority is determined. EIP-4895 mentions the withdrawal "has no associated gas costs", but there is a max per block. So what determines who gets to go first?

Full withdrawals: First come first serve
Partial withdrawals: Sequential order by index starting at 0

@ethereum ethereum deleted a comment from Jiggnubs Nov 22, 2022
@ethereum ethereum deleted a comment from Where-2 Nov 22, 2022
@hwwhww hwwhww closed this as completed May 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants