-
Notifications
You must be signed in to change notification settings - Fork 975
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
Eth1 withdrawal credentials (0x01) #2149
Conversation
Generally speaking I would like to have this in the spec. I think an important function for any Eth1 withdrawal contract is to initiate the validator exit. This is an essential function for any staking pool (where it's not sufficient to use the withdrawal key to initiate exit). One way to implement it would be to add a function to the withdrawal contract
and any Eth1 address can initiate the "Eth2 exit" precompile that will then use this function to check if the contract allows an exit. |
tests/core/pyspec/eth2spec/test/phase0/block_processing/test_process_deposit.py
Show resolved
Hide resolved
Minor cosmetic fixes (misformated table, section title).
"Withdrawal prefixes" matches `[BLS]/[ETH1_ADDRESS]_WITHDRAWAL_PREFIX`
I would add that in case of using |
Should it be part of the spec what minimal functionality must a contract have if it's an eth1 withdrawal address? i.e. be able to send a simple transaction to a TBD address, receive funds, etc. |
i'd think specifying a mechanism for the implementation of moving ETH from the beacon chain to the evm userspace is a little premature given the unknowns around the details of the eth1-eth2 merge. (e.g. we could imagine tracking withdrawals outside an actual contract in the EVM) my understanding of this PR is more to provide a firm(er) commitment to eth withdrawals to today's eth1 so that the use cases that can get away with just this functionality can move ahead w/ development and implementation. i do think we eventually want a more involved mechanism for eth transfer (e.g. #2151) but i'd suggest waiting for a clearer understanding of the merge before moving ahead w/ concrete specifics of such a scheme |
The PR does specify that the eth1 withdrawal address just needs to be able to accept ETH (e.g. by default as an EOA, or a |
👍 |
I'm inclined to not even put this in there as it is not an entirely actionable detail today. |
Unstaking BLS to ETH1 - the wagyu gui asks for a 24 word recovery phrase, but metamask offers a 12 word phrase, how to proceed in that case? @dankrad @zilm13 @dapplion @ralexstokes @djrtwo |
I don't know how the wagyu GUI works and you should probably ask the maintainers You may find more information here: https://launchpad.ethereum.org/en/withdrawals |
allnodes.com created a Ledger Nano X compatible tool that ended up working. |
i need eth |
Add eth1 withdrawal credentials by specifying a new withdrawal prefix version (0x01) whose content is a 20-byte eth1 address.
Note, this specifies the minimum required commitment and leaves out the end-to-end details on how the beacon chain and eth1 chain/state will handle the withdrawals other than the fact that the ETH will be transferred into the specified address with no payload other than the ETH and this will be triggered/payed for through a normal eth1 TX.
See this ethresearch post for an end-to-end version of how withdrawals might take place. Note, the only important details for this commitment are that 0x01 withdrawals receipts automatically make it to the eth1 chain and then can be consumed through a normal TX that specifies gas/tx-fees and sends the ETH to the destination address.
This opens up eth1 custody options such as smart contract wallets and simple hardware wallet support along with enabling a number of trustless staking pool options
Please let me know if the amount specified in
validator.md
is clear enough.I considered creating a fork agnostic folder
specs/withdrawal_credentials
to specify each withdrawal_credential version independent of any fork. Given that these can't really change once deployed, it might make sense to gather them all in one place. Any thoughts?