Ethereum’s Cancun-Deneb (Dencun) Upgrade: another milestone after the Shanghai Upgrade

Ebunker
7 min readJul 19, 2023

--

Introduction of Ethereum’s Cancun-Deneb Upgrade:

Cancun-Deneb (also known as Dencun upgrade) is the next significant upgrade to the Ethereum blockchain, which will enhance the scalability, security, and usability of the Ethereum network.

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

DankSharding

The launch of the Beacon Chain and the implementation of the merge are the first two parts of the entire Ethereum framework upgrade, while DankSharding is the third part. This newly designed 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 conduct more transactions but focuses on increasing the data availability of rollups. Rollup is 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 proof to the main chain. Using specific rollup technologies like 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. To help the Ethereum network start the long-term transition to full DankSharding, 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 described Proto-DankSharding as a “stopgap” solution that will significantly reduce Rollups’ gas cost before the full sharding implementation.

EIP-4844 is a scaling solution centered around Rollup and is the first step in Ethereum’s scaling journey. Before this upgrade, rollup data was permanently stored on Ethereum, resulting in high storage costs. In fact, 90% of the transaction costs users paid for Rollup were due to these storage expenses.

To address this, EIP-4844 introduces a new type of transaction — the Blob Transaction. Data will be moved to “Blob” for temporary storage, lasting roughly a month, after which it will be deleted. For long-term data storage, other service providers will handle it based on actual needs.

Shard Blob Trading

As mentioned earlier, EIP-4844 introduces a type of transaction called “blob carrying transaction”. Blob (Binary Large Objects) is an abbreviation for “binary large objects”, representing 125 KB of payload data. To create a blob-carrying transaction, a rollup must submit its data to the blob and attach it to the block. A single blob-carrying transaction can contain up to two blobs. In addition, to incentivize such transactions, an enhanced EIP-1559 fee market will be implemented. 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, rollups permanently store transaction data on the Ethereum blockchain through CallData. However, blob data is much cheaper than CallData because it will not be permanently stored on the execution layer (Ethereum Virtual Machine). Instead, beacon nodes store it on the consensus layer, and the blob will be deleted after a month or a year. This process is similar to clearing the cache data of a laptop or device.

Although introduced by EIP-4844, blobs will be fully compatible with the format used in final sharding. In EIP-4844, each rollup transaction contains a maximum of 2 blobs, and each block contains 8–16 blobs, approximately 1MB to 2MB. In a complete sharding scenario, blobs can further expand to 16MB to 32MB.

That said, when Blobs become a part of the Ethereum protocol through Proto-DankSharding, more Blobs will be added to Ethereum blocks. This will once again significantly expand Ethereum’s throughput, while also reducing 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 proof systems, KZG can verify without disclosing the full contents of the blob.

Core of the Cancun Upgrade: EIP-4844

According to the Ethereum execution layer core developer meeting in June, the Cancun upgrade includes 5 EIPs, aimed at increasing more data storage and reducing costs. The core content of the upgrade is EIP-4844, which aims to implement temporary storage and retrieval of off-chain data through Ethereum nodes to meet the data and storage needs of blockchain applications.

Devnet Testnet Continues to Improve

Since October 2022, Ethereum developers have started a multi-client testnet 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 attention to the preparation for the “Cancun Upgrade”.

To be precise, Cancun is the name of the next upgrade for the Ethereum Execution Layer (EL), while Deneb is the upgrade name for the corresponding Ethereum Consensus Layer (CL). During the ACDE conference call, developers discussed the final scope of the Cancun/Deneb upgrade, which will center on EIP-4844, i.e., the implementation of blob transaction types, with the preparation for Deneb starting from the launch of Devnet 5.

Significant changes were made to Devnet 5, such as the Execution Layer (EL) prohibiting 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 the corresponding proof to the yet-to-be-merged getBlobsBundleV1, and merge the “getPayloadV3” and “getBlobsBundleV1” calls into one. On the Beacon Chain API side, adding a blob signature endpoint is optional.

By the end of May, Ethereum community developer terence.eth shared the content of the 22nd EIP-4844 implementers’ call. The meeting mainly covered three main topics: 1. Deneb engine API version control, 2. Adding “data_gas_used” to the execution header, and 3. Scope and testing updates for Devnet 6.

During the meeting, it was agreed to add “data_gas_used” to the execution header in the EIP-4844 update. Previously in EIP-1559, the base fee was calculated using the current header. In EIP-4844, the data gas calculation employs the parent header, not the current one, with excess_data_gas pricing the next block and base_fee pricing the current block. Furthermore, the meeting decided to let Devnet 6 cover the “data_gas_used” update and to test another network subordinate to EIP-4844 before the transition of “data_gas_used” to Devnet 6.

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

The launch goal of Devnet 7 is to increase the blob limit from 2 to 3, and the maximum blob limit is increased from 4 to 6. The goal of increasing blob capacity was proposed by Dankrad Feist, a researcher at the Ethereum Foundation, after conducting data experimental testnet to handle large blocks.

At present, regarding the progress of the Cancun upgrade, developers have agreed to update the precompiled address of EIP-4844. The test case for copying memory areas of the EVM instruction (EIP-5656) has been added to the test framework. Changes are expected in the engine API responsible for communication between the consensus layer and the execution layer. Devnet 6, after thorough checking and patching, is now stable, and Devnet 7, with the same code, will be launched focusing on tests related to EIP-4844.

Expected Launch Date for the Cancun Upgrade

On May 26 this year, Ethereum Foundation researcher Alex Stokes stated that a reasonable target date for the activation of Cancun is October 2023. Geth (EL) developer Lightclient affirmed this, stating that the upgrade would take at least another 5–6 months based on its current scope.

On June 9th, Ethereum core developer Tim Beiko summarized the latest Ethereum Execution Layer Core Developers Meeting (ACDE) discussion in a social media post. The meeting finalized that the Cancun upgrade will incorporate 5 EIPs, aiming to boost data storage and decrease costs.

The core content is EIP-4844, which aims to facilitate off-chain temporary data storage and retrieval via Ethereum nodes, catering to the data and storage needs of blockchain applications. Other selected EIPs include EIP-1153 (reducing the cost of storing data on-chain, thereby improving block space), EIP-4788 (improving the design of cross-chain bridges and stake pools), EIP-5656 (adding minor code changes related to the Ethereum Virtual Machine), and EIP-6780 (removing code that could terminate smart contracts). While the meeting did not provide a precise prediction for the Cancun upgrade, it’s anticipated to occur before the end of 2023.

Objectives and Impact of the Cancun Upgrade

The overarching goal of the Cancun upgrade is to continue paving the way for a full data sharding network while expanding rollups in the transitional phase. The introduction of blob-bearing transactions will enhance data availability for rollups and significantly reduce their costs. EIP-4844 will also include the majority of execution layer logic and foundational work for complete sharding. This step will significantly diminish the implementation work required for subsequent upgrades.

Once the Cancun upgrade is activated, users will experience faster and cheaper payments when using Ethereum ecosystem’s native cryptocurrency, applications, and ERC-based tokens. The Cancun upgrade represents a pivotal enhancement for Ethereum, opening a new chapter for Ethereum L1 sharding. It will decrease the transfer costs between L1 and L2, leading to reduced gas fees and a higher TPS (transactions per second). This is favorable for L2 and associated ecosystems, thus bolstering the competitive edge of the “Ethereum + L2” framework.

--

--

Ebunker

A non-custodial open-source Ethereum staking pool.