New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Staked ETH Withdrawals: A Step-By-Step Overview with Christine Kim

Ethereum DenverMon, Oct 9, 2023, 12:00 AM

How do staked ETH withdrawals work? How long does it take for a single validator to unstake? Where can staked ETH withdrawals be tracked? This presentation will give a comprehensive overview of the staked ETH withdrawals process and provide links to resources for tracking withdrawals activity post-Shanghai. Listeners are encouraged to watch this presentation as a precursor to the panel about staked ETH withdrawals, which will feature Ethereum core developers, researchers, and staking businesses. Christine Kim Infrastructure + Scalability Stage

Transcript

good to go okay hello hello everyone um my name is Christine Kim I am a researcher at Galaxy and today we're going to be talking about staked eat withdrawals everyone's favorite topic the next upgrade on ethereum that looks like it's coming up in April so coming up very soon I'm going to be going over just how steak eat withdrawals is going to be processed how it's going to work a quick disclaimer before I start the presentation none of what I'm saying is investment advice it's just for informational purposes please do with this information as you will but um yes don't don't add me this is our agenda for today we're going to talk about the different types of steak eat withdrawals we're going to go over the timing for how long some of these withdrawals will take we'll also go over a quick little caveat about withdrawal credential changes and then because this is a kind of a short presentation like 20 minutes we'll end off with some resources where you can learn more and like dive into more detail so let's get started there are going to be two main types of staked withdrawals that are happening at Shanghai when you activate a validator you deposit 32 eth into the beacon chain and when you make attestations when you propose blocks you get issuance from the beacon chain the consensus layer of ethereum as a form of rewards and those rewards that you get from the beacon chain as issuance will become liquid at Shanghai and so that's what we call partial withdrawals partial withdrawals are the rewards that you get from the beacon chain the second type of withdrawal are full withdrawals so full withdrawals are when validators want to unstake their entire principal balance of 32 each not only their rewards but also their entire balance of 32 each so as an example I took a look at the best performing validator on ethereum up until now and that's validator one three one two zero it's earned about five each since staking at Genesis of the beacon chain so a partial withdrawal for this kind of validator would look like that total income becoming liquid and that validator being able to send that Eve to a different address sell it restake it do whatever they want with it and so that second red box is what we would call a partial withdrawal if we're talking about a full withdrawal for this validator you would see like the unstaking of not only the effect the total income but also the effective balance like both those red boxes so I hope that's clear those are the two different types of withdrawals that we are going to see at Shanghai let's talk a little bit about the timing for these different types of withdrawals because it does differ between a partial and a full um the first thing to note is that both partial and full withdrawals are actually going to be part of the same queue the same withdrawals q and there is a limit to how many withdrawals will be processed on the network every 12 seconds basically every block you're going to have a maximum of 16 partial or full withdrawals that can be processed and so if you think about the active validator set the number of active validators that are live on ethereum which is over 500 000 and you're thinking about basically activating withdrawals for every single one of them it's going to take about four to five days to process all of those partial withdrawals for all five hundred thousand validators because the there's a limit there's only 16 that can be processed per block so if you want to know the math behind how I got the four to five days you basically take the number of active validators and you divide it by the maximum number of withdrawals per block 16 and you multiply that number by the block time so the larger the active validator set becomes the longer that that partial withdrawal process will take because it'll just take longer for the network to to go through the entire set but let's talk a little bit about the the queue for full withdrawals before you enter into the withdrawal queue if you want to withdraw your entire 32 principle balance of 32 East State you have to actually enter into an additional Cube before you get to the withdrawal queue you have to have to enter into the exit queue and and the exit queue is dictated by a little bit of a different maximum bound it's called the churn limit and the churn limit changes slightly depending on how many active validators there are on the network so right now as you can see in this chart we have about eight the turn limit is about eight active validators per Epoch and when I say Epoch I just mean a set of 32 blocks so about a time period of 66.4 minutes and so a validator when they're trying to fully withdraw their eth they'll run through the exit queue first and if there's less than eight validators that are trying to exit at the same time you won't see any kind of a delay from the exit queue it's only say when multiples of eight validators are trying to exit that you start to have this exit queue forming so I did a little bit of additional calculations to kind of put the churn limit in perspective it for everyone so say at Shanghai about 1 000 validators are trying to all exit at the same time like unstake their full 32 each balance that would take about 13.3 hours to run through and then after all of that is completed you'd have to then run through the withdrawal queue which again is about four to five days based on the number of active validators there are in the network and so for the churn limit the math is a little bit different it looks like basically the number of validators that are trying to exit divided by the churn limit multiplied by the Epoch time which is 6.4 minutes um it's a little bit different from the math that I was talking about for the the withdrawal queue but um so yes as you can see it'll take a little bit longer for full withdrawals to be processed partial withdrawals one one additional note is that for partial withdrawals everything every single validator will have their withdrawals their Rewards withdrawn automatically this is not something that validators need to opt into it's not something they have to initiate this just is something that the validator does for you the network does for validators automatically however if you want to exit fully that is something that you do have to initiate you have to send a signed message to the beacon chain in order to initiate your full withdrawal so that's another kind of like important difference between entering into the withdrawal queue and entering to the exit queue the withdrawal queue is something that happens automatically whereas the um the execute is something you have to to opt into you have to manually initiate that kind of behavior um so that was a lot of information I just wanted to summarize kind of what the validator life cycle looks like based on the information of both full and partial withdrawals being enabled really at Shanghai we're starting to see the full life cycle of a validator be completed before Shanghai you weren't able to go to step five you could only go to step four like get into the execute go through the execute but you weren't actually able to receive your full withdrawal of state eth now you are going to start to see roughly about a thousand validators that are that have already gone through the exit queue be able to fully withdraw their state teeth at Shanghai you're also going to see step three we've only had priority fees and Mev be liquid since the merge but now you're going to start to see the issuance rewards for violators are also start to pick on liquid so this is kind of like a really nice close to the merge like ethereum's transition to proof of stake really um it's like the final nail on the coffin of like we are our fully proof of stake our validators can now enter and exit fully stake and unstake fully um so it's very exciting exciting upgrade um one caveat that I want to mention about withdrawal credentials changes I said that a validator will automatically have their partial withdrawals processed this is true but only for validators that have updated their withdrawal credential change so when the beacon chain first launched in December 2020 ethereum core developers had thought oh yes we are going to move to a proof of stake blockchain like a proof of State consensus protocol and so the withdrawal credentials like where the rewards are going to be deposited to where were all it was all assumed that it would be a beacon chain address but it was only when the understanding that actually we're gonna move to proof of stake by merging the existing ethereum blockchain with the beacon chain when that kind of thinking came together the withdrawal credentials for validators to be an ethereum one address um got created so in 2021 validators ethereum core developers allowed validators to set in ethereum one withdrawal credential address and now we actually still have like post merge we still have ethereum people executing transactions on ethereum people executing smart contracts layer twos are being built on ethereum so it's not like the entirety of ethereum moved to the beacon chain the beacon chain just kind of swapped out the consensus protocol and most validators when they have their withdrawals become liquid will now have to specify an ethereum address to which their rewards can be deposited to um this wasn't actually the thinking when the beacon chain first launched back in 2020 and so you can see the black portion of this chart represent all of the validators that still have a beacon chain withdrawal address that is denoted by a prefix of Oxo um but there were some very um very I would say smart validators who are spun up after 2021 after the withdrawal prefix of ox01 was created particularly Lido Lido has done an extremely great job of spinning up validators that already have the Oxon prefix credential and so their rewards are going to be automatically processed at Shanghai but for the majority of these validators they're in the black they're going to have to go through a credential change process this is a one-time process that most validators will have to go through before they're going to be able to get any rewards and this slide kind of talks about how you as a validator node operator might go about doing that so first you should check what is my withdrawal credential prefix you can do that by going to a blockchain Explorer like beaconscan or Beacon chain I popped in validator13120 because they were spun up at the Beacon chain or like at the Genesis of the beacon chain when oxl1 prefixes didn't exist of course they're going to be one of the ones that have to update um how do you go about updating it may differ depending on the client the consensus client that you're using um that basically you're sending a signed message to the beacon chain saying that I want to change my withdrawal credential um prefix and it's really important that validator node operators don't do that right now because the network is not able to understand those signed messages at present you can prepare to send the credential change message on test Nets and there are tools like eth do that help you construct that signed message correctly and I just really want to stress that this is a one-time change so you want to be careful about what address you send it to what address you set because once you set it you can't change it again unless you exit fully and then restate back onto the network so this is kind of like a big change that validator node operators will have to do and start practicing for now if you as an independent validator node operator haven't been doing so already um so finally I want to go through some tools and resources that will hopefully help especially validator node operators get ready for the change get ready for Shanghai generally speaking the state eth withdrawals process that I went over about the two types of withdrawals the cues which cue you go through first all of that information is in a galaxy report that I wrote a couple months back but there's also a great FAQ by the ethereum foundation um called eth withdrawal FAQ and in this presentation I didn't really go into cell pressure I didn't go into projections of how much eth would become unlocked but we do have those numbers and those kinds of analysis if you're interested in another galaxy report titled how kuchinghai unlocks affect the price of eat and also data always who actually helped with this chart has a great um great blog post about the impact of partial withdrawals on on the effect of pressure straws after the Shanghai fork and finally I had mentioned each do as like a really great tool for helping validator node operators construct their signed messages correctly for updating with their withdrawal credentials and so they've got a really great kind of step-by-step guide called changing withdrawal credentials available for anyone and then we've got all the public test Nets so ethereum developers announced yesterday actually that the Gourley test net would be live March 14th but if you're interested in trying things out already there's the jejung test net the sapolia testnet is a permission validator set but if you're interested I'm sure there's ways to also get onto that test net to drive to as a validator node Operator just get ready for the upgrade make sure that your software is like all upgraded and up and running and you guys are ready for unlocks um and then finally last but not least the community calls so ethereum core developers do this for almost every single upgrade especially ones that are going to have a pretty big impact on the ethereum community so there were like five or six I think Community calls before the merge and now there's going to be another permanent call happening for Shanghai the first one was back in January there's still a live recording of that but it's a really great way for members of the community to ask questions directly to ethereum core developers if you have any concerns about Shanghai coming up so that's kind of another great resource that I'd highlight for anyone who's trying to prepare for the Shanghai upgrade um so yes that is my entire presentation I ran through some of that information pretty quickly feel free to reach out to me on Twitter if you have additional questions but because we also have maybe two minutes left for the presentation one minute can I take one question okay um maybe I'll take one question from the audience about this process and then we can wrap up yes so a slash validator is basically a validator that has broken the rules of the network and is forcefully and is forced to exit the network it's not something that they initiate by going through the but basically I'm trying to say execute there is another delayed period for a slashing event because the network has to understand how many other slashing events have occurred at the same time that that single validator was slashed so it does extend your withdrawal process um I don't have the exact numbers of how many days but um the process does look a little different on top of the execute and on top of the withdrawal queue you have an additional period of delay for slash validators really great question and one other thing that I want to message I want to mention before we end off the presentation there's going to be a panel on staked withdrawals happening later this afternoon at 2 50 and there's going to be an ethereum core developer a representative of Rocket pool and a couple other people from the from the ethereum community so highly encourage um you guys to if you're interested to come out to that panel it'll be on the main stage later today so yeah thank you guys [Music] if

Automatic transcript — names and jargon may be misspelled.