Cover photo

Waiting for Dencun Upgrade, Let's Review EIP-4844

A brief summary on EIP-4844 and its impact on L2

TLDR; it's all you need to know.

1. What is Dencun Upgrade?

  1. Its full name is the Cancun-Deneb Upgrade, but it is commonly referred to as the Dencun Upgrade.

  2. Scheduled for mainnet implementation on March 13, 2024

    • Completed application on the Goerli testnet on January 17, 2024

    • Completed application on the Sepolia testnet on January 30, 2024

    • Completed application on the Holysky testnet on February 7, 2024

  3. It is the largest-scale hard fork upgrade to be applied after the Shanghai Upgrade.

  4. The upgrade applies simultaneously to the execution layer (Cancun) and the consensus layer (Deneb).

  5. Key Features:

    • Scalability Improvement: Introduces proto-danksharding (EIP-4844) to fragment into blobs for enhanced scalability.

    • Security and Consensus Mechanism Enhancement: EIP-6780

    • Gas Optimization: Implements EIP-1559 (fee market change), EIP-2929 (state access gas cost increase), and EIP-2537 (BLS curve operations) to reduce gas fees and improve the user experience.

    • Laying the Foundation for Future Developments

source: Datawallet

2. EIP-4844

  1. Among the major EIPs included in the Dencun Upgrade, EIP-4844 is the core of core.

  2. The essence of EIP-4844 lies in the implementation of blobs to secure space on the Ethereum mainnet, enabling rollup solutions to process more transactions at lower costs and thus improving scalability.

  3. So, what is a blob?

    • A new type of data stored only on the beacon chain (consensus layer).

    • The goal is to create storage space solely for data availability, separate from the block space of the execution layer.

  4. The introduction of blobs leads to cost reduction for rollup sequencers submitting calldata to Ethereum → Rollup sequencers become the primary consumers of blob space.

    • By specifying the size and number of blobs that can be included per block, it prevents a surge in computation and thus avoids node centralization.

  5. Why are blobs cheaper than calldata? Blobs are inaccessible to the execution layer = No access to EVM.

    • Because there is a separate space solely for blob storage, it can be stored much more cheaply than regular calldata.

  6. Data within blobs is stored on the consensus layer (or beacon) for up to 18 days only.

    • The permanent storage of blob data can be managed by delegating roles to protocols that facilitate relatively easy data storage.

  7. Although rollups have emerged as a scalability solution, there remains a problem that Ethereum mainnet blocks (calldata) must be submitted to verify the validity of transactions.

    • This process imposes significant costs on rollup solutions.

  8. Therefore, the introduction of blobs aims to allow rollups to use blobs for storing transaction data, thus securing space on the Ethereum mainnet and enabling the processing of more transactions at lower costs.

    • Specifically, it allows rollup sequencers to broadcast "blob-carrying transactions."

source: Ethereworld
  1. Previously, since rollups transmitted calldata, the EVM could access this calldata to prove the validity of rollup transactions.

  2. However, as mentioned earlier, the EVM cannot access blobs. So, how is validity verification conducted with the introduction of blobs?

  3. This is made possible thanks to one of the new fields included in blobs, known as blob_versioned_hashes.

  4. When a sequencer forwards a rollup transaction to the L1 mempool, the Ethereum proposer distributes it to the execution client and the consensus client as follows:

    • Execution Payload (Signedblobtransaction) → execution client

    • Sidecar (blob_kzg & blob) → consensus client

  5. The Signedblobtransaction includes the blob_versioned_hashes, which essentially serve as a summary of the blob data.

  6. Therefore, Ethereum nodes can validate the transaction's validity by cross-verifying that the blob_versioned_hashes accessible from the EVM execution layer match the blob_KZG commit values on the consensus layer.

  7. Additionally, EIP-4844 plans to introduce a separate fee market for blobs, based on supply and demand for blob gas fee (data gas), independent from the existing block space fee market (gas fee market).

  8. By creating a seperate market for data submission (blob submission), it is possible to significantly reduce the cost of submitting to the Ethereum mainnet, which constitutes a major portion of existing L2 costs.

  9. This mechanism is very similar to EIP-1559, but it introduces a new element, max_fee_per_data_gas, set by the submitter.

  10. Basic explanation of the mechanism:

    • Each blob can store approximately 125kb of data → each block can store up to 6 blobs (target is 3 blobs).

    • If a block contains more than 3 blobs, the price of blobs increases; if less, it decreases → designed to maintain a fair price around the 3-blob benchmark.

    • If rollups use too many blobs → the price of blobs increases → stabilizing the price of blobs and vice versa.

  11. From the perspective of rollup users, the primary desires are

    1. low cost

    2. fast processing.

  12. However, the introduction of blobs presents a dilemma in balancing these two conditions:

    • Prioritizing low cost → requires sending fully packed blobs (to reduce submission costs) → results in slower processing speeds.

    • Prioritizing fast processing → entails sending blobs that are not fully packed → leads to increased costs.

  13. Therefore, when blob prices are low, the focus can shift towards fast processing, and when blob prices are high, the focus can shift towards minimizing costs, thereby finding a balance between the two.

  14. The research below unfolds a methodology to find a price that achieves this balance:

    • It attempts to find the optimal frequency of blob usage by assigning a nominal dollar cost to the time it takes to process transactions and minimizing the sum of blob costs and waiting time costs.

source: Ed Felten
  1. The sum of the submission cost (blue line), which decreases inversely with the size of the blob, and the waiting cost (red line), which increases proportionally with the size of the blob, records its lowest point at approximately 15,000 bytes/blob.

  2. The study also finds that rollups with active transaction processing can fill a full blob in less time, thus recording good performance in terms of cost.

  3. Conversely, it is mentioned that small rollups, which process fewer transactions, might prefer the existing cost structure, where they only pay for the calldata they use, rather than always paying the price for a full blob.

  4. According to the GitHub, the current gas price for blobs is 1 gas per byte.

  5. According to Arbitrum docs, the cost of L1 data submission is 16 gas per byte.

  6. Therefore, the application of blobs can reduce the cost of data submission by 1/16, resulting in a reduction of approximately 93.75%.


References


If you enjoyed my article, please subscribe and follow me on Warpcast and X.

You can check out more awesome articles from DeSpread Research.

Loading...
highlight
Collect this post to permanently own it.
Declan Kim logo
Subscribe to Declan Kim and never miss a post.
#ethereum#eip-4844#l2