- Withdrawals are coming! Shapella Network Upgrade will be enabled on Ethereum network at epoch 194048scheduled for 22:27:35 UTC on April 12, 2023
- Stakers and node operators should also read this article as well as the FAQ on withdrawals
- Until April 5, the Ethereum Bug Reward Program Rewards have been doubled for Shapella vulnerabilities
- You can now sign up to receive emails about these upgrade announcements. Scroll to the bottom of the page do so 📩
After a good Goerli TransitionThe client teams scheduled the Shapella upgrade for mainnet activation. A consensus was quickly reached on a date of April 12th during the 157th AllCoreDevs Execution Layer Meeting.
This upgrade follows The merger and allows validators to withdraw their stake from the Beacon Chain to the execution layer. It also introduces new features in both the execution layer and the consensus layer, described below.
Upgrade Specifications
The Shapella upgrade combines changes to the execution layer (Shanghai), consensus layer (Capella), and engine API.
Shanghai
Runtime layer changes included in Shanghai are available hereFor reference, they are:
Note that EIP-6049 is only a deprecation warningCustomer teams expect SELF-DESTRUCTION The semantics will change in future network upgrades, but the opcode behavior remains unchanged in Shanghai.
Additionally, the full set of changes to Shanghai can now be viewed in the Ethereum Execution Layer Specification (EELS)which is a new Python reference implementation for the runtime layer.
Chapel
Changes to the consensus layer for the Capella upgrade are specified in the Specifications of version v1.3.0-rc.5. THE READ ME lists all the changes. At a high level, the upgrade introduces:
- Full and partial withdrawals for validators
- BLSToExecutionChange messages, which allow validators using a PREFIX_WITHDRAWAL_BLS to update it to a WITHDRAWAL_PREFIX_ADDRESS_ETH1a prerequisite for withdrawals
- Independent state and bloc historical accumulators, replacing the original singular historical roots
Punters are encouraged to read the Withdrawal FAQ for more information on how they should prepare for Capella.
Engine API
Changes to the engine API can be found in the shanghai.md file of the Runtime API reference. In short, a WithdrawalV1 The framework is introduced and added relevant structures and methods. Changes to the runtime layer APIs since The Merge have been grouped into the repository latest version.
Client versions
The following client versions support Shanghai and Capella on the Ethereum mainnet. Previous versions of Shapella only supported testnet deployments and are not compatible with main network upgrade.
When choosing which client to run, validators should be particularly mindful of the risks of running a majority client on both the execution layer (EL) and the consensus layer (CL). An explanation of these risks and their implications can be found in here. An estimate of the current distribution of EL and CL clients and guides for switching from one client to another are available. here.
Consensus Layer Mainnet Versions
Note: When running a validator, the consensus layer beacon node and validator client must be updated.
Mainnet Execution Layer Versions
Note: An issue has been detected in Erigon v2.41.0. This version not is suitable for Shapella upgrade. Erigon users should upgrade to version 2.42.0.
FAQ
As an Ethereum user or holder, is there anything I should do?
In short, no.
If you’re using an exchange, digital wallet, or hardware wallet, you don’t need to do anything unless your exchange or wallet provider asks you to take additional steps.
If you are running your own Ethereum node, see the next question.
As a non-staking node operator, what should I do?
To be compatible with the Mainnet upgrade, update your node to the version of your Ethereum client listed in the table above.
As a staker, what should I do?
To be compatible with the Mainnet upgrade, update your node to the version of your Ethereum client listed in the table above. Make sure your beacon node and validator client are updated!
We also recommend that you read the Withdrawal FAQ.
What if I am a staker or node operator and am not participating in the upgrade?
If you are using an Ethereum client that is not updated to the latest version (listed above), your client will sync to the pre-fork blockchain once the upgrade is complete.
You will be stuck on an incompatible chain under the old rules and will not be able to send Ether or operate on the post-Shapella Ethereum network.
As an application or tool developer, what should I do?
Shapella does not introduce any radical changes to smart contracts. Application and tool developers should review the upgrade changes to ensure that fixes are applied or to understand how to use the newly introduced features.
That said, app developers should be aware that from Shanghai, the SELF-DESTRUCTION The opcode is considered obsolete. While its semantics will not change as part of this network upgrade, they likely will in subsequent ones. See EIP-6049 for more information.
Why “Shapella”?
The execution layer updates follow the names of Devcon cities, and the consensus layer updates follow the names of stars. “Shapella” is the combination of Shanghai, the location of Devcon 2, and Capella, the brightest star in the northern constellation Auriga.
Where can I watch Shapella live?
EthStaker & Ethereum Cat Breeders are hosting a Shapella viewing party, which will begin shortly before the upgrade goes live. You can log in here.
Thanks to everyone who contributed to the Shapella upgrade, and to all the stakers – old and new – who helped secure what are still the early days of Ethereum Proof-of-Stake!
Original cover image of Yiran Dingadapted by Tomo Saito.