Contents
Ethereum’s Shanghai upgrade, also commonly referred to as Shapella (we’ll explain why below), took place on April 12th.
It was a major upgrade following Ethereum’s transition to Proof-of-Stake (a.k.a The Merge), and it introduced a major mechanic change.
The upgrade consists of a few Ethereum Improvement Proposals (EIPs), although most of the focus is on one particular.
The EIPs in question are:
- EIP-3651: Warm COINBASE
- EIP-3855: PUSH0 instruction
- EIP-3860: Limit and meter initcode
- EIP-4895: Beacon chain push withdrawals as operations
- EIP-6049: Deprecate SELFDESTRUCT
With that in mind, let’s take a closer look and understand why the Shanghai upgrade is so important.
What is the Ethereum Shanghai Upgrade?
Ethereum’s Shanghai upgrade is arguably one of the most important events in the crypto industry in 2023.
Before we dive in, did you know that it’s also commonly referred to as the Ethereum Shapella upgrade? The name comes from Shanghai – the city-host of the Devcon 2 conference, and Capella – the brightest star in the northern constellation of Auriga.
As we know from our guide on Ethereum’s Merge (the transition to Proof-of-Stake), the network has two layers – the execution layer and the consensus layer. The former used to be the main one that Ethereum ran on before The Merge, while the consensus layer was also known as the Beacon Chain.
With that in mind, the upgrade took part on both layers. Shanghai happened on the execution layer, while Capella – was on the consensus one. Combining both names gives us “Shapella.” However, the Shanghai name remains more prevalent, so for the sake of simplicity, we will use it in the guide going forward.
The Shanghai upgrade introduced a pivotal mechanic in Ethereum’s network, and while there are many EIPs (as seen above), one of them is critical. Namely, this is EIP- 4895.
What is EIP-4895 in the Shanghai Upgrade?
While it’s currently running on PoS, Ethereum was using the proof-of-work consensus algorithm well before The Merge took place, But the plans to transition were in play for many years when developers created the so-called Beacon Chain.
The Beacon Chain was (and still is) secured by PoS. To maintain its integrity, allow it to function as intended, and carry out transactions and smart contracts, it needed validators – just like any other PoS-based blockchains where miners do not exist.
Therefore, those who wanted to partake in the future of the so-called Ethereum 2.0 were able to stake 32 ETH to secure the Beacon chain. The ETH was staked in the Beacon Depositor contract. Validators would then earn interest on their ETH – a reward for securing the network during this development stage.
The only catch? Well, they weren’t allowed to unstake their 32 ETH until a later, undetermined date. It’s taken years for the team to successfully deliver The Merge, and now, the Shanghai upgrade, through EIP-4895, finally allowed validators to unlock their ETH.
This guide is not intended as a technical walkthrough, so if you want to learn more about how the mechanic will become possible, please take a look at the official website page for EIP-4895.
In essence, the goal was to:
Introduce a system-level “operation” to support validator withdrawals that are “pushed” from the beacon chain to the EVM. These operations create unconditional balance increases to the specified recipients.
The Beacon depositor contract, as mentioned above, contained about 18 million ETH, which accounted for roughly 15% of the total circulating supply.
Validators are now free to withdraw, albeit with some considerations, their stake and do whatever they decide with it – it becomes entirely liquid. That made this particular EIP very important.
How do ETH Withdrawals Work?
As mentioned above, there are some considerations when withdrawals were opened. First things first, there are two types of them – full and partial. Full withdrawals allow validators to exit their stake completely, taking their entire balance of ETH, including the original 32 ETH, as well as any rewards they may have accrued.
Partial withdrawals only allow validators to access the excess (balances over the 32 ETH) needed to run a validator node.
Within every single block that’s added to the network, 16 validators are able to make partial withdrawals.
In essence, a total of 1,800 validators can unstake fully.
Other Ethereum Improvement Proposals in the Shanghai Upgrade
The other proposed improvements were aimed at reducing gas fees during periods of very high network congestion and activity.
EIP-3651 aims to lower the gas costs that are associated with the maximal Extractable Value payments when accessing the COINBASE address. In this particular sense of the word, COINBASE refers to a solution that allows developers to receive new tokens and not the popular US-based exchange.
EIP-3855 is designed to introduce a new instruction that pushes the constant value 0 onto the stack. It’s also aimed at lowering gas costs, but more so for developers. The other proposal, EIP-3860, aims to reduce the fees in other instances, and the same is true for the last EIP-6049 to a certain extent.
Conclusion
The Shanghai (Shapella) upgrade is a landmark development for Ethereum on its path to achieving security, decentralization, and scalability.
It also removes a huge burden on validators and provides a clear outlook on the network state now that validators have the option to freely remove their stake at will.