- Withdrawals are approaching! The Shapella network enhancement will become active on the Sepolia network at epoch 56832, set for 4:04:48 AM UTC on Feb. 28, 2023
- Validators & node operators should review this article as well as the Withdrawals FAQ
- The Zhejiang testnet can be utilized to assess Shapella capabilities before the Sepolia enhancement
Following several months of evaluation and a temporary devnet launch, the Shanghai/Capella (also known as Shapella) network upgrade is now planned for implementation on Sepolia.
This enhancement comes after The Merge and allows validators to retrieve their stake from the Beacon Chain back to the execution layer. It also brings new features to both the execution and consensus layer.
Upgrade Specification
The Shapella upgrade merges modifications to the execution layer (Shanghai), consensus layer (Capella), and the Engine API.
Shanghai
Modifications to the execution layer included in Shanghai are accessible here. For reference, they are:
Please be aware that EIP-6049 is merely a deprecation warning. Client teams anticipate SELFDESTRUCT semantics to shift in upcoming network upgrades, but the opcode’s function remains unchanged in Shanghai.
Furthermore, the changes can now be examined in the Ethereum Execution Layer Specification (EELS), serving as a new Python reference implementation for the execution layer.
Capella
Amendments to the consensus layer for the Capella upgrade are detailed in the capella directory of the v1.3.0-rc.3 specifications. Broadly, the upgrade introduces:
- Full and partial withdrawals for validators
- BLSToExecutionChange messages, which permit validators using a BLS_WITHDRAWAL_PREFIX to modify it to an ETH1_ADDRESS_WITHDRAWAL_PREFIX, a prerequisite for withdrawals
- Independent state and block historical accumulators, superseding the original singular historical roots
Stakers are urged to consult the Withdrawal FAQ for additional details on how they should prepare for Capella.
Client Releases
The ensuing client releases support Shanghai & Capella on the Sepolia testnet. Bear in mind that these releases are exclusively for Sepolia. An upcoming announcement will address the Goerli and mainnet releases.
When selecting which client to operate, validators should be particularly aware of the dangers of utilizing a majority client on both the EL and CL. An explanation of these risks and their implications can be located here. An overview of current EL and CL client distribution and guides for switching from one client to another are available here.
Consensus Layer Sepolia Releases
Execution Layer Sepolia Releases
Note: go-ethereum has released a new recommended version, v1.11.2, for the upgrade. v1.11.1 is also compatible with the Shapella Sepolia upgrade.
FAQ
As an Ethereum user or Ether holder, is there anything I need to do?
In summary, no.
If you utilize an exchange, digital wallet, or hardware wallet, you do not need to take any action unless advised to follow additional procedures by your exchange or wallet service provider.
If you manage your own Ethereum node, please refer to the “As a non-staking node operator, what do I need to do?” segment below.
As a non-staking node operator, what do I need to do?
To ensure compatibility with the Shapella upgrade on the Sepolia testnet, update your node to the version of your Ethereum client specified in the table above.
As a staker, what do I need to do?
To maintain compatibility with the Shapella upgrade on the Sepolia testnet, upgrade your node to the version of your Ethereum client indicated in the table above.
We suggest reviewing the Withdrawal FAQ. Furthermore, you can experiment on the temporary Zhejiang testnet prior to the activation of the upgrade on Sepolia.
What occurs if I am a staker or node operator and do not engage in the upgrade?
If you are operating an Ethereum client that has not been updated to the latest version (listed above), your client will synchronize to the pre-fork blockchain once the upgrade is implemented.
You will be left on an incompatible chain adhering to the old rules and will not be able to send Ether or function on the post-Shapella Sepolia network.
As an application or tooling developer, what should I do?
Shapella does not present disruptive changes for smart contracts. Application and tooling developers should examine the upgrade modifications to ensure any necessary corrections are made or to comprehend how to utilize newly introduced functions.
Why “Shapella”?
Upgrades to the execution layer utilize Devcon city names while those for the consensus layer use star names. “Shapella” is derived from Shanghai, where Devcon 2 took place, and Capella, the brightest star in the northern constellation of Auriga.
Cover image by Yiran Ding