An In-depth Explanation of EIP-4844: The Core of the Cancun Upgrade

Ebunker
8 min readAug 9, 2023

--

One of the biggest obstacles to the large-scale adoption of Ethereum is that users have to pay high gas fees to make transactions or interactions. As on-chain activity increases, gas fees also significantly increase, thereby raising the user threshold.

In order to improve the performance of Ethereum L1+L2 and solve the problem of gas fees, the Ethereum Foundation proposed using EIP-4844 to reduce gas fees and increase throughput as a medium-term transitional solution. This article will provide a detailed introduction to EIP-4844 and why it is crucial to the implementation of the Ethereum roadmap.

Introduction to EIP-4844

Ethereum’s EIP-4844 is the core content of the Cancun upgrade. It introduces a new type of transaction (blob-carrying transaction) to reduce Ethereum’s transaction costs. Blob-carrying transactions are similar to regular Ethereum transactions, but they carry some additional data, known as a blob. Compared to the current immutable calldata storage and read-only memory, blobs have much larger storage and are cheaper.

Looking at the difference between blockspace and blobspace from the above diagram, blobs are different from the blocks visible to the Ethereum Virtual Machine (EVM). Blobs are only available briefly and are invisible to the EVM. In addition, blobs are located on the Ethereum consensus layer, not on the computation-focused execution layer. Most importantly, blobspace is much cheaper than blockspace.

EIP-4844 is also known as Proto-Danksharding. It will implement the framework and logic of Danksharding, which is the same as the new transaction format and verification rules.

EIP-4844 Development Timeline

In the past 3 years, Ethereum has undergone a series of upgrades, transitioning from PoW to PoS consensus, making its blockchain more scalable.

Here is a timeline and overview of important Ethereum updates:

  • On December 1, 2020, the PoS-driven Beacon Chain was launched, and Ethereum users could stake their ETH on a separate Beacon Chain to validate transactions.
  • In September 2022, the Beacon Chain merged with the Ethereum mainnet, bringing the network’s execution layer and consensus layer together.
  • On April 13, 2023, the Shanghai upgrade (EIP-4895) was launched, opening up the ETH staking withdrawal function for Ethereum validators.

These upgrades are necessary for Ethereum to improve scalability, but they have not directly improved the blockchain’s transaction speed or gas price. Future upgrades such as Sharding and Danksharding will make Ethereum scalable in practice.

What is Sharding?

Sharding refers to dividing the blockchain network into smaller units called ‘shard chains’. Each shard chain can process transactions in parallel to maximize transaction throughput, reduce network congestion, and lower gas fees. In other words, sharding is a way of dividing a database into smaller databases that manage specific data segments, thereby improving the efficiency and performance of these databases.

Due to the high difficulty of Sharding technology, Ethereum has decided to adopt an intermediate solution, first to implement Proto-Danksharding, and eventually transition to the easier-to-implement Danksharding.

What is Danksharding?

Danksharding is a new sharding architecture that relies on large-capacity data called blobs to expand the Ethereum blockchain. Rollup-centric second-layer protocols use additional blob data space to alleviate network congestion, thereby reducing transaction costs.

Currently, the TPS of the Ethereum base layer is about 15, and the TPS of its second-layer rollup is about 100. According to rough estimates, Danksharding is expected to increase the TPS of Ethereum to 100,000 (considering L1+L2 as a whole).

Another innovation of Danksharding is the merged fee market, that is, only one proposer selects transactions from all shards, instead of each shard having its own proposer. In order to make this merged fee market run smoothly and alleviate the problem of Maximum Extractable Value (MEV), a method called proposer-builder separation will also be implemented (the proposer refers to the Ethereum protocol validator who chooses which transactions to include in the next block).

However, implementing full Danksharding on Ethereum is not a one-step process, but requires several upgrades to achieve gradually, such as EIP-4844 (Proto-Danksharding).

What is Proto-Danksharding?

Named after two Ethereum researchers, Proto Lambda and Dankrad Feist, Proto-Danksharding will increase Ethereum’s TPS to about 1000. It is simpler and is a step needed before implementing full Danksharding. Most importantly, it will introduce a new transaction type that accepts blob data, which is an important component to make full Danksharding possible.

Vitalik Buterin believes that Proto-Danksharding executes most of the logic and framework of Danksharding, but it still hasn’t implemented any actual shards. In other words, Proto-Danksharding is a prototype of Danksharding, providing a framework for implementing other sharding upgrades in the future.

How does EIP-4844 reduce gas fees?

The main purpose of EIP-4844 (Proto-Danksharding) is to reduce Ethereum’s gas fees by using blob-carrying transactions. Blob data is more cost-effective, and the Ethereum Virtual Machine (EVM) cannot access it, only being able to view commitments to the blob. In addition, the data bandwidth in Proto-Danksharding is fixed at 1 MB per slot.

Since simply making CallData cheaper may lead to a mismatch in the average or worst-case scenarios, Ethereum developers are trying to reduce gas fees by establishing a new type of blob-carrying transaction (focused on transactions from L2 Rollup).

The average block size of Ethereum is about 90 KB, but theoretically, the maximum block size is about 1.8 MB. This means that Ethereum blocks can accommodate more transactions during periods of active network activity, but very high gas fees are required. If calldata is 10 times cheaper, the transaction volume will increase 10 times, and in extreme cases, the block size will increase 10 times (18 MB). Obviously, Ethereum cannot accommodate such a large block in its network.

Solutions

ProtoDanksharding solves the gas pricing crisis through a multi-dimensional EIP-1559 fee market.

Before ProtoDanksharding was proposed, EIP-4488 had tried to solve the problem of high gas fees.

EIP-4488 has two rules: the gas cost of calldata is reduced from 16 gas units per byte to 3 gas units; the limit of 1 MB per block plus 300 bytes per transaction, the maximum can reach about 1.4 MB.

The block size limit is the simplest way to ensure that a surge in average block load does not lead to a surge in extreme caseload. In addition, the block size in the most extreme cases (1.4MB) is always lower than the current maximum block capacity (1.8 MB).

Since EIP-4488 had previously proposed a solution to the gas problem, why did the Ethereum community finally choose EIP-4844 to reduce gas fees? Because although EIP-4488 minimizes current changes (maintaining stability), more changes are needed in the future. In contrast, Proto-Danksharding aims to make more framework changes to help the Ethereum network upgrade to Danksharding in the future.

Proto-Danksharding creates a separate transaction type that stores data from L2 Rollup in large-capacity blobs, and the number of blobs in each block is capped, which will greatly reduce L2 fees. Blobs are stored on the consensus layer, not the execution layer, so the Ethereum Virtual Machine (EVM) cannot access them.

Even after Proto-Danksharding, Sharding is still a complex task, but the complexity will be limited to the consensus layer. Therefore, the execution layer client team and rollup developers do not need to do any additional work to transition from Proto-Danksharding to full sharding.

EIP-4844 also separates blob data from calldata, making it easier to store blob data in a shorter time period.

Data Storage Options of EIP-4844

Each slot (12 seconds) of Proto-Danksharding will generate about 2.5 TB of data annually. The consensus layer can cope with data storage challenges through a historical retention period (EIP-4444) and implement logic to delete blob data after a period of time automatically.

Regarding how to access old blob data, there are multiple ways to store historical data on decentralized protocols. For example, protocols of specific applications such as rollup, Bittorrent, Ethereum portal network, block explorers, API providers, and third-party indexing protocols (The Graph) can all store a complete history.

What upgrades were there before and after EIP-4844?

Ethereum developers proposed several upgrades before EIP-4844 to reduce gas fees. For example, EIP-3651 reduced the gas fees that block builders had to pay to interact with Ethereum block-building software Coinbase, EIP-3855 reduced developers’ gas fees through Push0, and EIP-3860 reduced gas fees for specific use cases.

EIP-4844 is a step towards full sharding, expanding the Ethereum network and reducing gas fees. Developers are planning to carry out ‘Verge’ after EIP-4844, where Verkle trees will be introduced to achieve scalability.

Impact of EIP-4844

The main goal of EIP-4844 is to reduce Ethereum’s L2 gas fees by 10–100 times by using a new type of blob-carrying transaction, making the transition to full sharding easier, as all future upgrades will only take place at the consensus layer.

On the architectural level, EIP-4844 introduces blob-carrying transactions, which is the first time Ethereum has built a data layer specifically for L2, laying the foundation for subsequent full Danksharding.

On the economic model level, EIP-4844 will introduce a new fee market for blobs, which will also be Ethereum’s first step towards a multi-dimensional market.

On the user experience level, the most intuitive perception for users is the significant reduction in L2 fees. This important underlying improvement will provide a crucial foundation for the explosion of L2 and its application layer.

Summary

EIP-4844 is a major upgrade to make the Ethereum network more scalable, while reducing the updates needed for future full sharding. Proto-Danksharding increases the space of blob data groups, which will allow more data processing, thereby reducing network congestion and lowering gas fees.

As a highly complex protocol upgrade, EIP-4844 is an important part of the Ethereum roadmap, and it is also related to other system upgrades, such as the separation of proposers and builders and the EIP-1559 blob fee adjustment, etc.

In addition to introducing blob-carrying transactions, EIP-4844 will also implement execution layer logic, verification rules, multi-dimensional gas fee markets, and other system changes needed for future full sharding.

It is worth noting that although EIP-4844 will implement most of the complete Danksharding logic, it will not implement any actual sharding. In addition to bringing Ethereum closer to the cost and throughput levels required for mass adoption, EIP-4844 can also improve scalability and save costs.

Although EIP-4844 does not currently have a definite release date, it is expected to be implemented later this year. After implementing EIP-4844, users will see significant improvements in Ethereum, especially L2, mainly faster transactions and lower fee experience. The successful implementation of EIP-4844 will also make Ethereum more competitive in the cryptocurrency field.

--

--

Ebunker

A non-custodial open-source Ethereum staking pool.