- Retreats are coming! Shapella network upgrade to go live on Ethereum network in epoch 194048scheduled for 22:27:35 UTC on April 12, 2023
- Stakers and node operators should read this post as well as the Withdrawal FAQ
- From now until April 5, the Ethereum bug bounty bounties have been doubled for Shapella vulnerabilities
- You can now sign up to receive emails for these update announcements. Scroll to the bottom of the page to do it 📩
After a gentle Goerly transition, customer teams have scheduled the Shapella update for mainnet activation. A consensus was quickly reached on April 12 during the 157th AllCoreDevs Execution Layer Meeting.
This update follows the fusion and allows validators to withdraw their stake from the Beacon Chain back to the execution layer. It also introduces new functionality in both the execution and consensus layers, which is described below.
upgrade specification
The Shapella update combines changes to the execution layer (Shanghai), the consensus layer (Capella), and the engine API.
Carry off
Execution layer changes included in Shanghai are available here. For reference, they are:
Please note that EIP-6049 is just a deprecation warning. Customer teams expect SELF DESTRUCTION the semantics will change in future network updates, but the behavior of the opcode remains unchanged in Shanghai.
Additionally, the full set of Shanghai changes can now be viewed on the Ethereum Execution Layer Specification (EELS)which is a new Python reference implementation for the execution layer.
cappella
The changes to the consensus layer for the Capella update are specified in the Specifications v1.3.0-rc.5. He README lists the full set of changes. At a high level, the update features:
- Total and partial withdrawals for validators
- BLSToExecutionChange messages, which allow validators using a BLS_WITHDRAWAL_PREFIX to update it to a ETH1_ADDRESS_WITHDRAWAL_PREFIXa prerequisite for withdrawals
- Independent state and block historical accumulators, replacing the original singular historical roots
Interested parties are encouraged to read the Withdrawal FAQ for more information on how they should prepare for Capella.
Engine API
Engine API changes can be found in the shanghai.md file of the execution-apis repository. In short, a WithdrawalV1 the structure is introduced and added to relevant structures and methods. Changes to the runtime APIs since The Merge have been pushed to the repository last release.
customer launches
The following client releases support Shanghai and Capella on the Ethereum mainnet. Previous versions of Shapella only supported testnet implementations and are No Support mainnet upgrade.
When choosing which client to run, validators must especially consider the risks of running a majority client at both the Execution Layer (EL) and Consensus Layer (CL). An explanation of these risks and their consequences can be found here. An estimate of the current distribution of EL and CL clients and guides for switching from one client to another can be found here.
Consensus Layer Mainnet Releases
Note: When running a validator, both the consensus layer beacon node and the validator client must be updated.
Execution Layer Mainnet Versions
Frequently asked questions
As an Ethereum user or Ether holder, do I need to do anything?
In short, no.
If you use an exchange, digital wallet, or hardware wallet, you don’t need to do anything unless your exchange or wallet provider tells you to take additional steps.
If you run your own Ethereum node, see the next question.
As a non-participating node operator, what should I do?
To be compatible with the Mainnet upgrade, please upgrade your node to the version of your Ethereum client shown in the table above.
As a staker, what should I do?
To be compatible with the Mainnet upgrade, please upgrade your node to the version of your Ethereum client shown in the table above. Make sure both your beacon node and validation client are up to date!
We also recommend reading the Withdrawal FAQ.
What happens if I am a staker or node operator and I do not participate in the update?
If you are using an Ethereum client that is not updated to the latest version (mentioned above), your client will sync with the pre-fork blockchain once the update occurs.
You will be stuck on an incompatible chain following the above 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 major changes for smart contracts. App and tool developers should review update changes to ensure that fixes are made or to understand how to use newly introduced functionality.
That being said, app developers should be aware that starting in Shanghai, the SELF DESTRUCTION opcode is considered deprecated. While their semantics don’t change as part of this network update, they likely will in subsequent ones. See EIP-6049 for more information.
Why “Shapela”?
Execution layer updates follow Devcon city names and consensus layer updates follow star names. “Shapella” is the combination of Shanghai, the location of Devcon 2, and Capella, the brightest star in the northern constellation of Auriga.
Where can I watch Shapella Go Live?
EthStaker & Ethereum Cat Herders are hosting a Shapella viewing party, which will kick off shortly before the update goes live. you can tune in here.
Thank you to everyone who contributed to the Shapella update and to all the stakeholders, old and new, who helped secure what is still Ethereum’s early proof-of-stake days!
Cover image originally by Yiran Dingadapted by I take saito.