Learn about the upcoming big event of Ethereum in 2023: the Cancun upgrade.
Written by: Buru
Since the merger of Ethereum on September 15, 2022, it has attracted much attention The Shapella upgrade will also be officially completed in April 2023. In the next step, what new changes will be ushered in in the technical development goals of Ethereum?
On April 29, 2023, the Ethereum Foundation held the 160th core developer conference call, and determined the next important change in Ethereum—the Cancun Network Upgrade (Cancun Network Upgrade). Ethereum Improvement Proposal (EIP for short).
If the Shapella upgrade is a technical watershed to ensure the stable implementation of the PoS consensus mechanism on the future Ethereum after the merger of Ethereum, then the significance of the Cancun upgrade is no less than the Shapella upgrade -it is the key to the further expansion of Ethereum , It will also open a new stage in the development of Ethereum data storage and retrieval capabilities.
Understanding the Cancun Upgrade
Cancun, a famous tourist city in Mexico, is also the venue of the Devcon 3 conference. According to the naming rules of the Ethereum upgrade, the upgrade named after the place name is an upgrade for the Ethereum execution layer.
In this upgrade, what Ethereum Improvement Protocol (EIP) will be worthy of attention, let us know together.
01 Protagonist of the Cancun upgrade: EIP-4844
Prototype of Ethereum Sharding
Improvement goal: to solve the scalability of Ethereum (that is, the expansion demand), help reduce the transaction cost of the Ethereum Layer 2 (Layer 2) Rollups solution, and increase the speed of Rollups.
Improvement background: The cost of the Ethereum Layer 1 Mainnet(Layer 1) has been high, and necessary improvements are urgently needed to reduce the overall operating cost.
Currently, scaling solutions on Ethereum are mainly Layer 2 Rollups.
In practice, the Rollups solution has helped users save a lot of operating expenses (hereinafter referred to as Gas Fee). For example, the representative project Optimism, the regular overhead of Gas Fee is only 0.001 gwei, which is far lower than the regular overhead of the Ethereum layer 1 Mainnet; ZK Rollups' solution has better data compression performance and does not need to include signed data, and the fee is lower, even down to one hundredth of the Ethereum layer 1 Mainnet.
However, for a wider range of users, even after the Rollups solution, Gas Fee is still a relatively expensive burden. In addition, the efficiency of Ethereum in processing parallel transactions is still low, and it can only process double-digit transaction volume per second. These require new improvements to help improve scalability.
Sharding——is a powerful improvement method to solve the above problems, but the current Ethereum cannot implement it yet, and the timely proposal of the improvement plan EIP-4844 is to solve the above needs and implement sharding upgrades , found a trade-off that can be applied to the current stage of Ethereum, and laid the early technical foundation for Ethereum to realize the overall data sharding in the future.
Therefore, EIP-4844 is also known as "Proto-danksharding", that is, "prototype of sharding". The word dank also has a different origin. It is taken from the name of Ethereum researcher Dankrad Feist. He once said: "EIP-4844 will become an accelerator for Rollups."
Improvements (completed technical improvements):
- Introduce Blob transaction: Blob is the abbreviation of Binary Large Object. Blob transactions are a new transaction type that will be used in future shards.
- Bring in all the execution layer logic needed to implement future full sharding.
- Introduce cross-validation logic for all execution and consensus layers required to implement future full sharding.
- Enables layering between beacon block validation (ie Ethereum Layer 2 data) and blob data availability sampling.
- Introduces beacon blocks to implement most of the logic needed for future full sharding.
△ Complete sharding concept map / Vitalik Buterin
Source/foresightnews
Note: The original intention of Blob is to help carry the data of the second layer of Ethereum. At the same time, Blobs, this group of data vectors, are stored by the nodes of the consensus layer of Ethereum, so they cannot be read by the Ethereum Virtual Machine (EVM for short) of the execution layer, and it is this separation of data that realizes Reduced fees for the Ethereum layer 2 Rollups solution.
Also, the blob's data is deleted after 30 days.
In order to reduce the pressure of the improvement proposal on the Mainnet, compared with the future implementation of full sharding, EIP-4844 sets an upper limit on the increased storage space of each beacon block, at most limited to about 0.5 MB of data size (about 4 Blob ), but this upper limit is expected to increase in the future.
02 Other improvement proposals that have been confirmed for implementation in the Cancun upgrade
- EIP-1153
- EIP-6780
In addition to the much-watched EIP-4844, the improvement proposals that have been confirmed for the Cancun upgrade include:
EIP-1153: Add Transient Storage Opcodes . Transient storage is a solution specially designed to solve the internal communication of blocks.
Transient storage does not change the semantics of existing operations. The data in transient storage will be discarded after each transaction, and will not access the server disk. There is no need to clear the storage slot after use, and the client does not need to load the original data.
Therefore, relatively speaking, the advantage of using transient storage to solve the communication problem between blocks is that the Gas Fee is low, and the future Ethereum data storage design does not need to consider the refund of operating fees due to temporary storage .
However, EIP-1153 is not designed to address the use of temporarily stored data in existing smart contracts.
EIP-6780: Modify the function of the SELFDESTRUCT opcode to prepare for the future application of the Verkle Tree architecture (commonly referred to as "Volker Tree") in Ethereum.
Currently, Ethereum is using the Merkle Tree architecture (commonly referred to as "Merkle tree") architecture. Using the SELFDESTRUCT opcode can make a large number of changes to the account state, for example, you can delete code and storage. However, when the Verkle Tree architecture is applied to Ethereum in the future, the account cannot be easily modified or deleted, because the Verkle Tree architecture will store each account in a different account key, which will not be connected to the root account .
Therefore, EIP-6780 proposes changes to the functionality of the SELFDESTRUCT opcode. According to EIP-6780, the modified SELFDESTRUCT opcode, which no longer has the ability to change or delete accounts in use, will only be used to transfer ETH to the caller, with one exception, when SELFDESTRUCT is executed by a smart contract Called in the same transaction that was created.
△ Implementation progress of improvement proposals related to Ethereum Cancun upgrade (as of 2023/5/30)
Image source/github@Cancun Network Upgrade Specification
The three improved protocols EIP-4844, EIP-1153, and EIP-6780 identified for the Cancun upgrade are expected to be activated in October 2023.
03 The Cancun upgrade is still being considered for inclusion in the improved protocol implemented
- EIP-2537
- EIP-4788
- EIP-5656
- EIP-5920
- EIP-7069
EOF-related improvements have not been considered yet
EIP-2537: Precompile the BLS12-381 curve operation and add it to the set of operations required for BLS signature verification and SNARKs verification to better perform related verification operations.
At present, the development progress of this improvement plan is relatively slow. After the implementation of the EIP-2537 improvement plan, compared with the existing pre-compiled BN254, it will obtain better operational security and allow matching more friendly curve operations, which will be more conducive to the use case development of the second layer of Ethereum.
EIP-4788: Expose the beacon chain block root in the Ethereum Virtual Machine. Roots of the Beacon Chain Blocks are cryptographic accumulators used to prove arbitrary consensus states.
Exposing the beacon chain root in the EVM allows trust-minimized access to the Ethereum consensus layer. This is also an improved protocol that helps use case development, and will support use cases such as Staking Pools and smart contract bridges to improve their trust assumptions (Trust Assumptions).
EIP-5656: Provide an efficient EVM instruction that can be used to copy memory regions . Memory copy is a basic operation, which is very useful for various computationally intensive operations, but it will also incur operating costs when implemented on the Ethereum Virtual Machine in the future.
The instruction introduced by EIP-5656 is a new instruction that did not exist before. If the smart contract that has been released uses this new instruction, pay attention to compatibility and may need to adjust the operation.
EIP-5920: Introduce new opcode PAY. Use the PAY opcode to send ETH to the account address without calling any function of the account address.
The PAY opcode is an opcode dedicated to ETH transmission. It does not need to mobilize address functions, which can save network usage costs. It is very beneficial for small amounts of ETH transmission.
EIP-7069: Modify the CALL instruction, this protocol is enabled.
reference link
[1] Cancun Network Upgrade Specification, https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md