Top 10 Most Frequently Asked Questions about Shapella Upgrade

Developers, Stakers/Node Operators & Users/Holders

Top 10 Most Frequently Asked Questions about Shapella Upgrade

"Shapella is coming." While the Ethereum community is excited, some people are still confused about the upcoming upgrade. The EtherWorld team has made their best effort to answer all common questions regarding the Shapella hard fork.

Users/Holders

What changes are happening on the CL side?

The Capella upgrade is the third major upgrade to the consensus layer or Beacon Chain after the Altair and Bellatrix upgrades. It includes features related to validator withdrawals, such as automatic withdrawals of withdrawable validators and partial withdrawals sweep for validators with 0x01 withdrawal credentials and balances in excess of MAX_EFFECTIVE_BALANCE (32 Ether). For information on the consensus layer changes, we recommend reading our detailed blog post.

Which EIPs will be activated in the Shanghai upgrade?

In the execution layer, the following EIPs will be activated:

  • EIP-3855: PUSH0 instruction - Introduces the PUSH0 (0x5f) instruction, which pushes the constant value 0 onto the stack.
  • EIP-3860: Limit and meter initcode - Extends EIP-170 by adding a maximum size limit for initcode and charging 2 gas for every 32-byte chunk of initcode to account for jumpdest-analysis costs. The size limit ensures that EVM code size, code offset (PC), and jump offset can fit within a 16-bit value.
  • EIP-4895: Beacon chain push withdrawals as operations - Facilitates the activation of withdrawals. For more details, watch our informative video on this topic.
  • EIP-6049: Deprecate SELFDESTRUCT - Serves as a deprecation warning, with client teams anticipating changes to SELFDESTRUCT semantics in future network upgrades. However, the opcode's behavior remains unchanged in Shanghai.
  • EIP-3651: Warm COINBASE - This EIP ensures that the COINBASE address is warm. Prior to EIP-3651, accessing COINBASE was costly due to the cold address status under the access list framework introduced in EIP-2929. For more information, refer to our detailed blog post.

What is Shapella?

Shapella is a combination of two terms: Shanghai and Capella. Shanghai refers to the fork on the execution client side, while Capella represents the upgrade on the consensus layer client side.

Do Ethereum users or Ether holders need to take any action during the Shapella upgrade?

No action is required from Ethereum users or Ether holders during the Shapella upgrade.

Stakers/Node Operators

How quickly can validators make partial withdrawals?

A single withdrawal queue handles both partial and full withdrawals for validators. Every slot (12 seconds), 16 partial withdrawals are processed starting from index 0. Full withdrawals take longer within the same queue. The number of full withdrawals per day depends on the active validator count and increases as more validators join. The processing time for withdrawals is contingent upon the active validator count, with an estimated time of approximately 4.34 days.

What preparations are necessary for stakers?

To ensure compatibility with the Mainnet upgrade, stakers must update their node to the latest version of their Ethereum client, which will facilitate the hard fork.

Client Version
Execution Layer
Nethermind 1.17.3
Geth 1.11.5
Erigon 2.42.0
Besu 23.1.2
Consensus Layer
Teku 23.3.1
Nimbus 23.3.2
Prysm 4.0.0
Lodestar 1.7.0
Lighthouse 4.0.1

Are partial/full withdrawals subject to gas fees each time?

No, partial/full withdrawals will appear in the validator's execution layer address without incurring any charges from the Ethereum network. This is regarded as a balance increase rather than a transaction, resulting in a gasless state change.

How can validators determine if they have a 0x00 or a 0x01 address?

There are several ways to verify this, with the simplest method being the use of the ethdo tool. Execute the following command:

ethdo validator info --validator=<yourvalidatorIndex> --verbose

This will display a "withdrawal credentials" field that begins with either 0x00 or 0x01.

Developers

What should dApp developers be aware of in the Shapella upgrade?

A. It is important for dApp developers to know that the SELFDESTRUCT opcode is now considered deprecated. EIP-6049: Deprecate SELFDESTRUCT does not suggest a specific modification but serves to discourage its use and inform developers that future alterations may break their code.

What are the changes being introduced to the Engine API?

A: The Engine API is implementing new structures and methods, such as:

  • WithdrawalV1: Represents the validator withdrawal object.
  • ExecutionPayloadV2: An enhanced version of ExecutionPayloadV1 that includes an additional 'withdrawals' field.
  • ExecutionPayloadBodyV1: Contains the body of an execution payload, including transactions and withdrawals.

Furthermore, PayloadAttributesV2 is an updated version of PayloadAttributesV1 that also contains an additional 'withdrawals' field.

New methods have been added to the API, including:

  • engine_newPayloadV2
  • engine_forkchoiceUpdatedV2
  • engine_getPayloadV2

These new methods are utilized when the timestamp value is greater than or equal to the Shanghai timestamp. Additionally, two more methods, engine_getPayloadBodiesByHashV1 and engine_getPayloadBodiesByRangeV1, have been introduced to retrieve execution payload bodies.

The Shapella network upgrade is scheduled to be activated on the Ethereum network at epoch 194048. This event is expected to take place on April 12, 2023, at 22:27:35 UTC. After the network upgrade is complete, we will start exploring the forthcoming Dencun upgrade.

Related Videos

______________________________________________________________________

Disclaimer: The information contained on this web page is for education purposes only. Readers are suggested to conduct their own research, review, analyze and verify the content before relying on them.

To publish press releases, project updates and guest posts with us, please email at contact@etherworld.co.

Subscribe to EtherWorld YouTube channel for ELI5 content.

Support us at Gitcoin

You've something to share with the blockchain community, join us on Discord!

Follow us at Twitter, Facebook, LinkedIn, and Instagram.


Share Tweet Send
0 Comments
Loading...
You've successfully subscribed to EtherWorld.co
Great! Next, complete checkout for full access to EtherWorld.co
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.