Introduction to Cancun Upgrade
Cancun-Deneb (referred to as Cancun Upgrade below) is the next significant upgrade of the Ethereum blockchain, which will improve the scalability, security, and usability of the Ethereum network.
Cancun is an additional upgrade to the Ethereum execution layer based on the Shanghai Upgrade. The first step was completed during the Shanghai Upgrade on April 12th this year, while Deneb represents the upgrade of the Ethereum consensus layer. This upgrade includes the highly anticipated EIP-4844, also known as Proto-DankSharding, which will lay the important foundation for the full implementation of DankSharding.
DankSharding
The launch of the beacon chain and the implementation of the merge are the first two parts of the upgrade to the entire Ethereum framework, and DankSharding is the third and most important part. This new design structure will completely replace the original idea proposed by the core team to introduce 64 shard chains.
DankSharding does not aim to allow the main chain to process more transactions, but focuses on increasing the data availability of rollups. Rollup is a layer-two 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. Other validators or smart contracts in the network can review the results using specific rollup technologies like optimistic or ZK rollups.
The mainstream Ethereum layer-two scaling solutions currently include Optimism, Arbitrum, Metis, zkSync Era, and Scroll. To help the Ethereum network transition to full DankSharding in the long term, EIP-4844 will introduce many key execution layer components this year.
Proto-DankSharding
EIP-4844, also known as Proto-DankSharding, is a temporary upgrade to the Ethereum network proposed by Ethereum developers Protolambda and Dankrad Feist. On the EIP-4844 Q&A page, Ethereum co-founder Vitalik Buterin describes Proto-DankSharding as a "stopgap" solution that significantly reduces gas fees for rollup before full sharding implementation.
EIP-4844 is a scalability solution centered around Rollup and is the first step on Ethereum's scalability journey. Before the upgrade, rollup data is permanently stored on the Ethereum network, which incurs high storage costs. 90% of the transaction cost paid by users for rollup is due to these storage costs.
To address this issue, EIP-4844 introduces a new transaction type called "Blob Transaction," where data is temporarily stored in "Blob" and is deleted after approximately 1 month. For long-term data storage, other service providers can store the data as needed.
Shard blob transaction
As mentioned earlier, EIP-4844 introduces a transaction type called "blob-carrying transaction". Blob (binary large object) is an abbreviation for "binary large objects", representing 125 KB of payload data. To create a blob-carrying transaction, the rollup needs to submit its data to the blob and attach it to a block. A blob-carrying transaction can contain up to two blobs. Additionally, to incentivize 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 blob-carrying transactions is cost-effectiveness. Currently, rollup permanently stores transaction data in Ethereum's blockchain through CallData. However, blob data is much cheaper than CallData because it is not permanently stored on the execution layer (Ethereum virtual machine). Instead, beacon nodes store it in the consensus layer, and after a month or a year, the blob will be deleted. This process is similar to clearing cache data on a laptop or device.
Although introduced by EIP-4844, blob will be fully compatible with the format used in the final shard. In EIP-4844, each rollup transaction can contain up to 2 blobs, and each block contains 8-16 blobs, approximately 1 MB to 2 MB. In the complete sharding scenario, blobs can be further expanded to 16 MB to 32 MB.
In other words, when Blob is passed through Proto-DankSharding,After becoming a part of the Ethereum protocol, more blobs will be added to the Ethereum blocks, which will significantly expand Ethereum's throughput and reduce transaction costs.
During the transaction process, a polynomial scheme called KZG (named after its creators Kate, Zaverucha, and Goldberg) will verify the transaction data published in the blob. Like other zero-knowledge verification systems, KZG can perform verification without disclosing the complete contents of the blob.
The core of the Cancun upgrade: EIP-4844
According to the Ethereum execution layer core developer meeting in June, the Cancun upgrade includes 5 EIPs, aiming to increase more data storage and reduce costs. The core content of the upgrade is EIP-4844, which aims to implement off-chain data temporary storage and retrieval through Ethereum nodes to meet the data and storage needs of blockchain applications.
Devnet Testnet Continuously Improves
Since October 2022, Ethereum developers have launched a multi-client test network for EIP-4844, also known as devnet. Since the successful activation of the "Shanghai Upgrade" on April 12 this year, Ethereum developers have immediately shifted their focus to the preparation for the "Cancun Upgrade".
Specifically, Cancun is the name of the next upgrade for the Ethereum Execution Layer (EL), while Deneb is the corresponding upgrade name for the Ethereum Consensus Layer (CL). During the ACDE conference 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, with Deneb's preparations starting from the release of Devnet 5.
Significant changes have been made to Devnet 5, such as the prohibition of zero blob transactions in the Execution Layer (EL), switching the blob transaction type to 0x03, and decoupling blob from blocks. In terms of engine API updates, there are plans to add corresponding proofs to the still unmerged getBlobsBundle V1 and merge the "getPayload V3" and "getBlobsBundle V1" calls together. As for the beacon chain API, adding blob signature endpoint will be optional.
At the end of May this year, Ethereum community developer terence.eth shared the content of the 22nd EIP-4844 implementer conference call, which mainly covered three topics.Main topics: 1. Deneb Engine API version control; 2. Adding "data_gas_used" to execution headers; 3. Devnet 6 scope and testing updates.
In the updates for EIP-4844, the meeting has determined to add "data_gas_used" to execution headers. In the previous EIP-1559, the base fee calculation used the current header. In EIP-4844, data gas calculation uses the parent header instead of the current header. Excess_data_gas is priced for the next block, while the base_fee is priced for the current block. Additionally, the meeting decided to cover the "data_gas_used" update in Devnet 6. Before "data_gas_used" is transferred to Devnet 6, it will be tested using another testnet that belongs to EIP-4844.
By the end of June, the Ethereum Foundation DevOps team developers stated that all EL and CL client teams have passed the relevant Hive tests for Devnet 7, and the plan is to launch Devnet 7 on either June 30th or July 3rd at the earliest. Devnet 7 is a dedicated short-term test network for EIP-4844 and will not test other code changes.
The launch objectives of Devnet 7 are: increasing the blob limit from 2 to 3 and the maximum blob limit from 4 to 6. The goal of increasing blob capacity was proposed by Ethereum Foundation researcher Dankrad Feist after testing the network's ability to handle large blocks in experimental data networks.
On June 9th, Ethereum core developer Tim Beiko summarized the discussions of the latest Ethereum Execution Layer Core Devs Meeting (ACDE) on his social media platform. The meeting ultimately determined that the Cancun upgrade will include 5 EIPs, aiming to increase data storage and lower costs.
The core content is EIP-4844, which aims to implement off-chain data temporary storage and retrieval through Ethereum nodes to meet the data and storage needs of blockchain applications. Other selected EIPs include EIP-1153 (reducing the cost of on-chain storage data to improve block space), EIP-4788 (improving the design of cross-chain bridges and staking pools), EIP-5656 (adding minor code changes related to Ethereum virtual machine), and EIP-6780 (removing code that could terminate smart contracts). This meeting did not provide an accurate prediction of the Cancun upgrade time, but it is expected to take place before the end of 2023.
The goals and impacts of the Cancun upgrade
The overall goal of the Cancun upgrade is to continue preparing for a complete data sharding network while expanding the rollup during the transition period. Introducing the transaction-carrying blob will increase the data availability of the rollup and significantly reduce its costs. EIP 4844 will also include the foundational work for most execution layer logic and complete sharding. This step will greatly reduce the implementation work required for future upgrades.
After the Cancun upgrade is activated, users will experience faster and cheaper payments when using native cryptocurrencies, applications, and ERC-based tokens in the Ethereum ecosystem. The Cancun upgrade is an important upgrade for Ethereum, opening a new chapter for Ethereum L1 sharding, reducing the transfer costs between L1 and L2, achieving lower gas fees and higher TPS, benefiting the L2 and other related ecosystems, further strengthening the competitiveness of the "Ethereum + L2" architecture.