As loyal Valid Points readers recall, CoinDesk set up its own Ethereum validator, fondly nicknamed “Zelda,” in 2020 to witness firsthand the blockchain’s landmark shift to an energy-efficient proof-of-stake consensus mechanism from its original proof-of-work – the same one used by Bitcoin. The goal was to learn, and to report.
That transition was effectively completed last week, when Ethereum’s Shanghai upgrade (aka Shapella) went live, enabling the first-ever withdrawals from the blockchain’s staking mechanism.
In keeping with the original plan, we took the steps needed to wind down our validator and redeem our initial deposit of 32 ether (ETH) – worth about $15,000 back in 2020 – along with the extra ETH that Zelda was awarded over time for helping to keep the blockchain secure and running smoothly.
This article originally appeared in Valid Points, CoinDesk’s weekly newsletter breaking down Ethereum’s evolution and its impact on crypto markets. Subscribe to get it in your inbox every Wednesday.
It’s been a learning experience, and one of the key lessons was discovering how long it can take for validators to withdraw their ETH when the exit queue gets backed up. According to CoinDesk Director of Engineering C. Spencer Beggs, we could be looking at roughly a week before our withdrawal request is successfully processed and the 32 ETH hits our wallet.
Another thing we’ve learned, along with investors and traders in digital-asset markets, is that the Shanghai upgrade proved to be quite bullish for the price of ether; it wasn’t the vicious sell-off that some analysts had warned would come. It was never our intent to speculate on the price of ETH, but after a rally in the second-largest cryptocurrency to an 11-month high above $2,100, our original principal is now worth nearly $70,000.
CoinDesk's validator rewards during the roughly 30-month experiment add up to 3.65618 ETH (about $7,600), and as promised we are planning to donate these profits to charity.
Now that our validator project is concluding, it is also time to say goodbye to Valid Points, which was launched a few years ago to focus exclusively on Ethereum and the wider array of projects connected to it. But don’t worry – the newsletter isn’t going away. Next week, Valid Points officially becomes The Protocol, which will focus on blockchain and crypto tech more broadly. You, reader, don’t have to do a thing; your existing subscription will carry over.
We wish to thank former CoinDesk reporters Christine Kim and Will Foxley for having the foresight (and fortitude) to undertake this project and launch Valid Points back in 2020, along with all the other journalists who have contributed to the newsletter over the years. And a heroic shout-out goes to Beggs, who figured out how to do all of this and oversaw the technical aspects so competently.
The following is a detailed walk-through of the steps that Beggs took to wind down our Ethereum validator and redeem our staked ether from the blockchain.
The validator-tracking app Beaconcha.in provided the snapshot below of our validator’s status at the start of the process. (The yellow triangle with the exclamation mark shows that the validator had not yet updated its withdrawal keys.)
Beggs took the steps to exit on Friday, April 14, two days after the Shanghai upgrade successfully went through. (Yes, we admit we attended the watch parties.)
He used the Ethereum “staking deposit CLI” – the official management service for generating the cryptographic keys used on the proof-of-stake blockchain – to generate a signed message known as, “BLSToExecutionChange.” This message is a command that informs the blockchain that we wanted to update our validator’s withdrawal address, which hadn’t been possible prior to the Shanghai upgrade.
We then broadcast that message to our beacon node.
“I signed the message and sent it to our beacon, and the beacon sent it to the blockchain,” Beggs said.
Based on the guidance in this Ethereum Foundation FAQ on staking withdrawals, Beggs expected this step to take two to three days:
But after just an hour, there was the status update below from Beaconcha.in; it had already gone through:
With the withdrawal credential successfully updated, Beggs logged in to our server, using the program Lighthouse, which runs both our validator and beacon clients, and issued the request to exit.
“You just type a command,” he said.
We received the following response from the server:
There’s a lot of info in that screen, but a crucial bit is in those last few visible lines – estimating that our exit would be processed on Ethereum blockchain epoch 196,690, and that we would be able to withdraw at epoch 196,946. (At the time, we were at epoch 194,506.)
The script read: “Exit epoch in approximately 838,656 secs.”
“I did the math to convert that to days,” Beggs said. It worked out to about 9.7 days.
Currently the Ethereum blockchain is at epoch 195,372, and Beaconcha.in now estimates that the exit will be processed on April 24, 4:16 p.m. UTC, and the withdrawal on April 25, 7:34 p.m. UTC.
In the meantime, according to Beggs, “Zelda’s still validating and attesting.” Working till the very end.
Epilogue
Asked for any lessons learned in the winding down, Beggs says he’s glad (or lucky) that he took detailed notes on the project from the very beginning.
“I was sweating bullets there for a second because I thought I did something very wrong, because when I tried to generate the ‘BLSToExecutionChange’ message, my keys and my previous withdraw credentials didn’t match,” Beggs recalled.
He took a look back at his own documentation on the project to remind himself how to verify the keys – by regenerating them using our original seed phrase and validator index. With the clue (from his two-years-earlier self), he was able to figure it out.
“Finally it came out and generated the right way,” Beggs said in a Zoom interview. “I’m glad I wrote everything down.”
STORY CONTINUES BELOW
Recommended for you:
Sage D. Young contributed to this report.