1. Introduction to Cancun Upgrade

Cancun-Deneb (Dencun, hereinafter referred to as the Cancun upgrade) is the next important upgrade of the Ethereum blockchain, which will improve the scalability, security and availability of the Ethereum network.

Cancun is an additional upgrade of the Ethereum execution layer based on the Shanghai upgrade, the first step of which was completed in the Shanghai upgrade on April 12 this year, while Deneb represents the upgrade of the Ethereum consensus layer. The upgrade includes the much-anticipated EIP-4844, also known as Proto-DankSharding, which will lay an important foundation for the implementation of comprehensive DankSharding.

1.DankSharding

The launch of the beacon chain and the implementation of the merger are the first two parts of the Ethereum framework upgrade, and DankSharding is the third part and the highlight. This newly designed structure will completely replace the idea of ​​introducing 64 shard chains originally proposed by the core team.

Instead of allowing the main chain to conduct more transactions, DankSharding focuses on increasing the data availability of rollups. Rollups are a second-layer technology that bundles blockchain transactions together and processes them. Any rollup operator can process a batch of transactions and submit the results and proofs to the main chain. Using specific rollup technologies such as optimistic or ZK, other validators or smart contracts in the network can review the results.

The current mainstream Ethereum second-layer expansion protocols include Optimism, Arbitrum, Metis, zkSync Era and Scroll, etc. In order to help the Ethereum network start the long-term transition to full DankSharding, EIP-4844 will introduce many key execution layer components this year.

2.Proto-DankSharding

EIP-4844, also known as Proto-DankSharding, is a temporary upgrade of the Ethereum network proposed by Ethereum developers Protolambda and Dankrad Feist. On the EIP-4844 Q&A page, Ethereum co-founder Vitalik Buterin described Proto-Danksharding as a "stopgap" solution that will greatly reduce the gas fee of rollup before the full sharding is implemented.

EIP-4844 is a scaling solution centered around Rollup, and is also the first step in Ethereum’s scaling. Before the upgrade, rollup data was permanently stored on Ethereum, which was expensive to store. 90% of the transaction costs paid by users for rollup were due to this storage cost.

To this end, EIP-4844 introduces a new transaction type - Blob Transaction. The data will be migrated to "Blob" for temporary storage for about 1 month, after which the data will be deleted. If you want to store data for a long time, other service providers will store it according to actual needs.

3. Shard blob transactions

As mentioned earlier, EIP-4844 introduces a transaction type called "blob-carrying transactions". Blob (binary large object) is an abbreviation for "binary large objects" and represents 125 KB of payload data. To create a blob-carrying transaction, the rollup needs to submit its data to a blob and attach it to the block. A blob-carrying transaction can contain up to two blobs. In addition, to encourage such transactions, the upgrade will implement a multi-dimensional EIP-1559 fee market. This feature will introduce variable gas fees for blob-carrying transactions based on supply and demand.

The main benefit of blobs carrying transactions is cost-effectiveness. Currently, rollups store transaction data permanently on Ethereum's blockchain via CallData. However, blob data is much cheaper than CallData because it is not kept forever on the execution layer (Ethereum Virtual Machine). Instead, the beacon node stores it in the consensus layer, and after a month or a year, the blob is deleted. This process is similar to clearing the cache data on a laptop or device.

Blobs, although introduced by EIP-4844, will be fully compatible with the format used in the final sharding. In EIP-4844, each rollup transaction contains up to 2 blobs, and each block contains 8-16 blobs, which is about 1MB to 2MB. In a full sharding scenario, blobs can be further expanded to 16MB to 32MB.

That is to say, when Blob becomes part of the Ethereum protocol through Proto-DankSharding, more Blobs will be added to the Ethereum block. At this time, the throughput of Ethereum will be greatly expanded again, and the transaction cost will also decrease.

During a transaction, a polynomial scheme called KZG (named after its creators Kate, Zaverucha, and Goldberg) verifies the transaction data published in the blob. Like other zero-knowledge verification systems, KZG can be verified without revealing the entire contents of the blob.

2. The core of the Cancun upgrade: EIP-4844

According to the June Ethereum executive layer core developer meeting, the Cancun upgrade includes 5 EIPs, which are designed to add more data storage and reduce fees. The core content of the upgrade is EIP-4844, which aims to achieve temporary storage and retrieval of off-chain data through Ethereum nodes to meet the data and storage needs of blockchain applications.

Devnet test network continues to improve

Ethereum developers have launched a multi-client test network, also known as a devnet, for EIP-4844 since October 2022. Since the successful activation of the "Shanghai Upgrade" on April 12 this year, Ethereum developers immediately turned their attention to the preparations for the "Cancun Upgrade".

To be precise, Cancun is the name of the next upgrade of Ethereum's execution layer (EL), while Deneb is the name of the corresponding upgrade of Ethereum's consensus layer (CL). During the ACDE call, developers discussed the final scope of the Cancun/Deneb upgrade, which will be centered around EIP-4844, the implementation of the blob transaction type, and the preparations for Deneb, starting with the launch of Devnet 5.

Some notable changes were made to Devnet 5, such as the execution layer (EL) disabling zero-blob transactions, switching the blob transaction type to 0x03, and decoupling blobs and blocks. In terms of engine API updates, there are plans to add corresponding proofs to the unmerged getBlobsBundleV1 and merge the "getPayloadV3" and "getBlobsBundleV1" calls into one. In terms of the beacon chain API, adding a blob signature end is optional.

At the end of May this year, Ethereum community developer terence.eth shared the content of the 22nd EIP-4844 implementer conference call. The meeting mainly covered three major topics: 1. Deneb engine API version control; 2. Add "data_gas_used" to the execution header; 3. Devnet 6 scope and test updates.

Among them, the meeting has determined to add "data_gas_used" to the execution header in the EIP-4844 update, because in the previously used EIP1559, the regular basic fee is calculated using the current header. In EIP-4844, data gas calculation uses the parent header instead of the current header, excess_data_gas is the pricing of the next block, and base_fee is the pricing of the current block. In addition, the meeting decided to use another test network subordinate to EIP4844 for testing before "data_gas_used" is transferred to Devnet 6 in order to allow Devnet 6 to cover the "data_gas_used" update.

At the end of June, developers from the Ethereum Foundation's DevOps team said that all EL and CL client teams had passed the relevant Hive tests for Devnet 7, and planned to launch Devnet 7 as early as June 30 or July 3. Devnet 7 is a dedicated short-term test network for EIP-4844 and will not test other code changes.

Devnet 7 launch goals are: blob limit increased from 2 to 3, and maximum blob limit increased from 4 to 6. The goal of increasing blob capacity was proposed by Ethereum Foundation researcher Dankrad Feist after conducting data experiments to test the network's ability to handle large blocks.

Regarding the progress of the Cancun upgrade, developers have agreed to update the precompiled address of EIP-4844, the test cases for EVM instruction copying memory area (EIP-5656) have been added to the test framework, and the engine API responsible for communication between the consensus layer and the execution layer will face some changes. Devnet 6 has been stabilized after checking for omissions and Devnet 7 with the same code will be launched and focus on related tests of EIP-4844.

III. Current progress of the Cancun upgrade

1. Estimated time for the Cancun upgrade to go online

On May 26, Ethereum Foundation researcher Alex Stokes said a reasonable target date for Cancun activation is October 2023. Geth (EL) developer Lightclient confirmed this statement, saying that the upgrade based on its current scope will take at least 5-6 months.

On June 9, Ethereum core developer Tim Beiko posted a post on his social platform summarizing the latest discussion of the Ethereum Executive Core Developers Meeting (ACDE). The meeting ultimately determined that the Cancun upgrade includes 5 EIPs, which aim to increase data storage and reduce fees.

The core content is EIP-4844, which aims to achieve temporary storage and retrieval of off-chain data through Ethereum nodes to meet the data and storage needs of blockchain applications. Other selected EIPs include EIP-1153 (reducing the cost of storing data on the chain, thereby improving block space), EIP-4788 (improving the design of cross-chain bridges and equity pools), EIP-5656 (adding minor code changes related to the Ethereum virtual machine) and EIP-6780 (removing code that may terminate smart contracts). The meeting did not make an accurate prediction on the time of the Cancun upgrade, but it is expected to take place before the end of 2023.

2. Objectives and impacts of the Cancun upgrade

The overall goal of the Cancun upgrade is to continue preparing for a fully sharded network while scaling rollups in the interim. The introduction of blob-carrying transactions will increase rollup data availability and significantly reduce the cost of rollups. EIP 4844 will also include most of the execution layer logic and the foundational work for full sharding. This step will significantly reduce the implementation work required for subsequent upgrades.

After the Cancun upgrade is activated, users will experience faster and cheaper payments when using the native cryptocurrency, applications, and ERC-based tokens of the Ethereum ecosystem. The Cancun upgrade is an important upgrade for Ethereum, which opens a new chapter for Ethereum L1 sharding, reduces the transmission cost between L1 and L2, achieves lower gas fees and higher TPS, and benefits L2 and other related ecosystems, thereby further enhancing the competitiveness of the "Ethereum + L2" architecture.

(END)