Ethereum Shanghai Upgrade: Changes and Future
At the first Ethereum All Core Developers Execution (ACDE) meeting in 2023, developers stated their goal to launch the public testnet for the Shanghai upgrade in early February and tentatively launch the Shanghai upgrade mainnet in March 2023. With this upgrade, the Ethereum network will transition from PoW to PoS, and the centralization issues brought by the Ethereum merge may be effectively resolved. The veDAO Research Institute will provide a detailed introduction to the changes and impact on the future brought by this upgrade.
What Changes Will the Shanghai Upgrade Bring?
The Shanghai upgrade will be the first major upgrade of the Ethereum network after the merge, and it is an important milestone on the Ethereum roadmap. The main changes it brings are as follows:
-
The Shanghai upgrade unlocks Ethereum's staking withdrawal feature. This is not only beneficial for maintaining the vitality of the Ethereum network, but also for the sustainable development of Ethereum in the future, continuing to attract more validators to join the Ethereum network.
-
Lowering the gas fees for Layer-2 solutions running on the Ethereum blockchain, which will make Ethereum faster and cheaper to a certain extent. The Shanghai upgrade will further optimize the gas fees for transactions on Ethereum.
-
As the largest blockchain network supporting smart contracts, the Shanghai upgrade will maintain Ethereum's leading position in this field by introducing EOF (EVM Object Format).
In terms of the future price of ETH, the Shanghai upgrade will help accelerate transactions on Ethereum. The specific changes mentioned above come from the upcoming EIP. Originally, there were a total of 12 proposals planned for the Shanghai upgrade, but unfortunately, only 9 EIPs were finalized for this upgrade, and delayed EIPs include EIP-4844, which could greatly reduce gas fees and is related to ETH sharding. Next, let's take a look at the 4 most important proposals.
4 Key EIPs
EIP-3651: Warm COINBASE
The main purpose of this proposal is to save gas consumption related to ERC20. EIP-3651 was proposed by William Morriss (wjmelements) on July 12, 2021. This is a proposal for a transaction type that affects incentives: the COINBASE mentioned in this proposal refers to the software used by miners to obtain new tokens on the network. This concept originally came from Bitcoin, where the first transaction in a block is called a coinbase transaction, which is a special transaction used by miners to collect mining gas fees. Whether a transaction is "warm" or "cold" is defined by whether it is preloaded before execution. In EIP-2929, if the target is not in accessed_addresses, a cold account access cost (COLD_ACCOUNT_ACCESS_COST) will be charged, and the gas fee for the first transaction will be higher if it is not preloaded (cold), while the gas fee will be lower for preloaded (warm) transactions.
The benefit of this proposal is that after EIP-3651 is introduced, the transactions packaged by miners can be used for more purposes, and the cost of gas fees will be reduced. Before the introduction of EIP-3651, it was more inclined to use ETH for payment, but after its introduction, it will encourage the use of ERC20 for payment. Another proposal passed in the Shanghai upgrade, EIP-3855, is also a proposal to reduce meaningless gas consumption, and the implementation of these two proposals will greatly reduce the cost of gas fees on Ethereum.
EIP-3855: PUSH0 instruction
This proposal is also aimed at reducing meaningless gas consumption. In the Ethereum Virtual Machine (EVM), there are various instructions, but there was previously no instruction designed for pushing the value 0 onto the stack. This EIP introduces the PUSH0 (0x5f) instruction, which pushes the constant value 0 onto the stack, and this instruction requires about 2 gas.
The lack of push0 previously meant that there were many operations that relied on 0 as an offset, such as remote call invocations and returns, where many parameters were 0. Previously, to operate on 0, the PUSH1 0 instruction (pushing a number, the number being 0) had to be used, which consumed 3 gas. Additionally, push1 and 0 each occupied a byte of storage in the initialization code, resulting in a deployment cost increase of 2*200 gas. According to the statistics of this proposal, there are 340,557,331 bytes wasted on PUSH1 00 instructions in existing accounts, meaning a deployment cost of 68,111,466,200 gas.
EIP-3860: Limit and meter initcode
The purpose of this proposal is to increase the upper limit of the smart contract system and reduce gas costs. By introducing a maximum size limit for initcode, the maximum size limit of initcode is increased from 24576 to 49152, doubling the size. At the same time, 2 gas costs are introduced for every 32-byte initcode chunk to represent the cost of jumpdest-analysis.
The significance of a larger code capacity is obvious: after the contract size is doubled, contract developers can deploy more rich functionality. In other words, the purpose of EIP-3860 is to support larger Dapps.
EIP-4895: Beacon chain push withdrawals as operations
This proposal is the core of the Shanghai upgrade: supporting validators to withdraw from the beacon chain to the EVM through a new "system-level" operation. This EIP introduces a "system-level operation" to support withdrawals from the beacon chain to the EVM.
This proposal provides a method for validators on the beacon chain to enter the EVM for withdrawing staked ETH. The implementation is based on consensus information on the beacon chain and introduces a system-level instruction withdrawal based on the consensus layer's information, directly controlling the ETH balance of the specified address unconditionally. This method does not incur gas consumption and does not require gas to prevent dos attacks. Currently, about 14 million ETH is still staked on the beacon chain, and the operation of this withdrawal will mean that the staking withdrawal function of the Ethereum beacon chain will be activated.
Regarding the potential selling pressure risk after unlocking staking, Ethereum currently adopts a gradual unlocking mode, based on the current situation, the daily withdrawal limit is around 55,000 ETH. Ethereum has about 225 epochs per day, and each epoch can activate about 7.55 validators (total number of validators / 65,536), which means that currently a maximum of 55,000 ETH can be unlocked per day. At the same time, the withdrawal rate will be adjusted according to the total amount of staked ETH to prevent potential selling pressure risks through methods such as adjusting the withdrawal rate based on the total amount of staked ETH to prevent a sudden large outflow.
How to Participate in the Shanghai Upgrade?
After Ethereum transitions to PoS through the merge, the role of miners will be taken over by validators, and the MEV (Maximal Extractable Value) market will undergo significant changes. All transactions on the Ethereum network will no longer be verified by energy-intensive "miners," but by individuals or institutions holding or staking a large amount of ETH as "validators." Anyone can stake 32 ETH or more to meet the minimum requirements to become a validator. Staking methods generally include solo staking, staking as a service (SaaS), and joint staking. Solo staking is the most basic method, where users join different nodes and stake ETH to ultimately earn rewards; if one does not have enough ETH but still wants to stake, they can choose the joint staking method. Each method has its own advantages and risks.
This upgrade opens up staking withdrawals, where general withdrawal requests can be for withdrawing earnings or exiting the validator node altogether. The Ethereum beacon chain can process a maximum of 16 withdrawal requests per block, and the priority for full/partial withdrawals is the same. When the balance of a validator node is greater than 32 ETH and the status is withdrawable, a withdrawal request can be submitted. Based on the withdrawal requests of validators, a withdrawal list will be created, containing the withdrawal order, the receiving address at the execution layer, and the withdrawal amount.
After miners, the MEV track may become the new opportunity for the next bull market. Maximal Extractable Value (MEV) refers to the maximum value that validators can extract in block production that exceeds standard block rewards and gas fees by adding, removing, and changing the order of transactions in a block. However, the protocol does not have a built-in mechanism to help validators capture MEV. As a result, the participants in the division of MEV on the chain have changed from the original single miner group to various major Layer 2, CEX, Lido, and validator node hosting providers. The participation of multiple parties has made the MEV issue of ETH 2.0 more complex. The MEV track has become an important battleground for multiple parties and is expected to be a very important direction for the next bull market.
As mentioned earlier, after the Shanghai upgrade, the staked ETH on the beacon chain will be released, which will undoubtedly greatly increase the attractiveness of ETH. Therefore, becoming a validator on the ETH 2.0 network may be the best choice for participating in the ETH 2.0 ecosystem after the Shanghai upgrade. However, 32 ETH and the frequent maintenance of technical work involving mev-boost are not easy for ordinary users to access. Therefore, joining a mining pool may be the mainstream solution for those who want to participate, apart from a few whales and geeks.
Follow Us
veDAO is a decentralized investment and financing platform led by DAO, committed to discovering the most valuable information in the industry, and enthusiastic about exploring the underlying logic and cutting-edge tracks of the digital encryption field, allowing every role within the organization to fulfill their responsibilities and receive rewards.
Website: http://www.vedao.com/
Twitter: https://twitter.com/vedao_official
Facebook: bit.ly/3jmSJwN
Telegram: t.me/veDAO_zh
Discord: https://discord.gg/NEmEyrWfjV