Magazine

Devs Worried Over Staking Withdrawals in Shanghai Upgrade

Posted on the 20 January 2023 by Nftnewspro
Devs_worried_over_staking_withdrawals_in_Shanghai_upgrade

Some of the architects of the network are worried that the update is being put in place too soon because of public pressure about stake withdrawals.

After the success of the Ethereum merge upgrade in September, everyone is once again watching the network as it gets ready to release its next big update.

This one, which has the codename Shanghai, aims to give Ethereum users something they’ve been waiting for: a way to get back the $25 billion in ETH that users have pledged to the network through the staking system. The only problem is that Ethereum’s core developers, a small group of programmers who are in charge of keeping the network up to date, can’t agree on how and when to do the update.

Why are key developers worried?

By merging the Ethereum mainnet with the Beacon Chain, which was a testnet proof-of-stake version of Ethereum made in December 2020, Ethereum just switched to a proof-of-stake system. On proof-of-stake networks, users can put down money to become validators and help verify transactions on the chain. In exchange, they are given newly made tokens. Since December 2020, users have been able to stake their ETH and get rewards. With Shanghai, users will be able to access both the ETH they put down as a deposit and the ETH they earned.

All signs show that Shanghai will be ready to go by March. But recently, a small but vocal group of Ethereum’s core developers has started to complain about how quickly the upgrade is being implemented. They say that it’s being done at the cost of technical costs that could have long-term effects on the network because they’re afraid of public backlash.

On Thursday, during a call with all core developers, core developer Micah Zoltu said, “It feels like we’re not thinking about the long-term health of Ethereum. We’re thinking, ‘How do we do what the public wants, today?”

Zoltu and a few of the network’s other 30 or so key developers are worried that the recent decision to skip a technical change to Shanghai could leave Ethereum with unnecessary technical debt, which could have unintended effects in the years and decades to come. Based on what these developers said, it would have taken another two to four weeks to make the change. The rest of Ethereum’s core developers didn’t want to make the public wait for that long.

What is “technical debt”?

The term “technical debt” refers to the extra work or problems that arise when software engineers put the speed of release ahead of perfect code. Simple serialize, or SSZ is a modern, flexible encoding method that Ethereum’s developers have called “the future of Ethereum encoding.” However, in this case, SSZ was not made compatible with ETH withdrawals by Ethereum’s developers. Recursive-length prefix serialization, or RLP, is an encoding method that is currently used. It may be phased out and thrown away in the future, but Ethereum is still using it instead of SSZ.

Even though the difference is quite technical and seems to be a matter of meaning, it could cause a lot of trouble for Ethereum’s developers in the future. Many of Ethereum’s core developers have said they are willing to switch ETH withdrawals to the new encoding method in the next update, which is called “Cancun” and will come after Shanghai.

But, even with the change, any withdrawal action that started between Shanghai and Cancun would have still been encoded using the old method. And because the Ethereum ledger can’t be changed, that behavior could stay on the Ethereum blockchain forever, even if it only happened for a short time.

So, eventually, coders will have to change all of that coding from the old method to the new one, which is a hard job. More than that, though, there may be other effects because of the difference between how early withdrawals are coded using the old RLP method and how the rest are coded using the new SSZ method.

Matt Nelson, another core engineer for Ethereum, said that “There could be unknown unknowns around what this mismatch means—with withdrawals, design problems, vulnerabilities. We just don’t know.”

At their meeting on Thursday, another core developer, Tomasz Staczak, responded to these worries by saying that it wasn’t even clear yet if Ethereum would fully switch to the new encoding method, SSZ.

“A delay now for the sake of a better long-term network would be very convincing. But this particular change will be part of a larger process. Of thinking, of designing,” he stated. “I would prefer us to look at this holistically, and give ourselves the proper time, in preparation for Cancun.”

Since the future of SSZ is not clear, Zoltu thought that the arguments made on Thursday might have been made in bad faith. He thinks that Ethereum will have to switch to SSZ as its execution layer at some point.

He said, “Introducing code that we know is going to be replaced in the near future means we are adding technical debt that could be avoided.”

So why are most Ethereum developers so unwilling to put in a few more weeks to avoid a lot of headaches in the future? Nelson thinks that the recent past is a big part of the answer.

Ethereum merge effect

The idea of merging and Ethereum’s historic switch to proof-of-stake was first thought of more than 5 years ago. After plans for the merger became clearer in 2021, the upgrade’s release date kept getting pushed back because of technical issues. It didn’t come out until September 2022. In the years that followed, the people in charge of the network often had to defend the long timetable for the upgrade to angry investors and community members.

“I think [the current Shanghai] timeline definitely was driven by a lot of the scrutiny that was somewhat justly put on the merge, which was delayed countless times for the right reasons, but was still delayed,” Nelson said.

Nelson says that the people who work on Ethereum don’t want to make people angry again. He thinks that makes sense because Shanghai will affect tens of billions of dollars worth of money, some of which has been stuck in the network for years.

The tension shows how different the role of Ether’s core developers is: it is their job to make a blockchain that is as close to perfect as they can make it. But it’s impossible to ignore the fact that building the network for the second-largest cryptocurrency in the world brings with it extra work. At the moment, there are $189 billion worth of Ethereum on the market.

Nelson understands why Ethereum’s developers chose to move forward on Thursday without making the requested changes, even though he would have liked to see Ethereum’s technical needs come first.

He said, “We have a choice here that lets us be practical without making too many sacrifices. So that choice had been made.”


Back to Featured Articles on Logo Paperblog