Home
» News
»
Ethereum Gas Fee Optimization: How Proto-Danksharding Reshaped L2 Transaction Costs
Ethereum Gas Fee Optimization: How Proto-Danksharding Reshaped L2 Transaction Costs
The big change for L2 users was not a universal cut to Ethereum gas fees. It was a cheaper, temporary data lane for rollups. Ethereum’s Dencun upgrade activated proto-danksharding through EIP-4844 on March 13, 2024. Rollups could then publish batches using blobs—temporary data containers with a separate fee market—instead of relying only on permanently stored calldata. That change lowered a major cost input for L2s that adopted blobs, but it did not make every L2 transaction cheap at every moment.
The current context matters. Ethereum’s later Fusaka upgrade brought PeerDAS to mainnet in December 2025, advancing the same data-availability roadmap by making it possible to scale blob throughput more efficiently. For users today, the practical lesson is that L2 fees depend on more than a single “gas price”: an L2 must pay for its own execution and for publishing data or proofs to Ethereum, while demand for blob space and each L2’s fee policy can change the final price.
The diagram represents the route that makes blob-based rollup posting cheaper: L2 batches are grouped into temporary data containers before their commitments are made available to Ethereum’s network. It is an explanatory interface, not a live fee dashboard.
What changed with proto-danksharding?
Before EIP-4844, a rollup commonly posted transaction data to Ethereum as calldata. Calldata is part of Ethereum’s transaction input and remains available as part of chain history. That permanence is valuable, but it makes the data expensive for rollups to use at scale.
EIP-4844 added a new transaction type, often called a blob-carrying transaction. A blob holds data that is made available to the network for a limited period rather than executed by the Ethereum Virtual Machine or stored forever in the same way as calldata. Ethereum.org says blob data are available for about 18 days (4096 epochs) before they can be pruned. That window is designed around the data-availability needs of rollups, not as general-purpose permanent file storage.
The result is a different economic path for rollup data. The rollup still settles or anchors to Ethereum, but it can use a purpose-built data-availability resource instead of competing only for ordinary L1 execution and calldata capacity. Read Ethereum’s Dencun FAQ for the official overview of the upgrade and the EIP-4844 specification for the transaction and fee design.
The key mechanism: blob fees are separate from normal gas
“Gas” is often used as if it were one number. After EIP-4844, that shorthand can obscure what a rollup is paying for. Blob transactions have normal Ethereum execution-fee fields plus a separate maximum fee for blob gas. The protocol maintains an independent blob base fee that responds to blob usage, rather than pricing blobs only through the normal L1 gas market.
Cost component
What it pays for
Why an L2 user should care
L2 execution fee
Computing and processing the user’s transaction on the rollup.
It can rise when that specific L2 is busy, even if Ethereum blob fees are low.
L1 data-availability cost
Posting rollup batches or proofs to Ethereum.
Blobs can reduce this input relative to calldata when the rollup uses them.
Blob fee
The dedicated fee market for blob space.
It varies with blob demand and is not identical to L1 execution gas.
Rollup operator policy
How a sequencer batches transactions, passes through costs, and charges overhead.
Two L2s can show different user fees under the same Ethereum conditions.
EIP-4844 deliberately keeps blob pricing separate. Its specification describes blob gas as independent of normal gas, with its own target and adjustment rule. This is why a headline about low L1 gas does not automatically tell you what an L2 transaction will cost, and a spike in blob demand may matter to rollups even when ordinary L1 activity looks quiet.
How that changed L2 transactions in practice
Rollups can post data more economically
Rollups execute many user transactions off Ethereum Mainnet, then post enough information to Ethereum so the rollup’s state can be verified or challenged according to its design. Before blobs, permanent calldata was a meaningful part of that bill. Blobs give the rollup a lower-cost place to publish data that must be available long enough for the system’s security process, but does not need to remain in every node’s permanent execution history.
For an L2 that supports blobs, the saving can be passed through to users, retained in a fee model, or partly offset by other costs. The timing and size of any reduction are therefore implementation-specific. Ethereum.org explicitly notes that rollup providers make the calldata-versus-blob choice, generally based on blob-space demand, and that individual support timelines and fee behavior may vary.
Fees became more sensitive to batching and data efficiency
A rollup generally groups many user actions into a batch before posting to L1. Spreading the L1 data cost across more transactions can make the per-user share lower, while data-heavy actions can consume a larger share. The details vary by rollup architecture, compression method, and sequencer policy. A simple token transfer, a contract call with substantial calldata, and an NFT mint can therefore produce very different fee outcomes on the same L2.
Proto-danksharding does not remove this trade-off. It lowers the cost of the data-availability layer when blobs are used; it does not eliminate L2 computation, smart-contract complexity, or the cost of a scarce data resource during congestion.
What proto-danksharding did not change
It did not directly make every Mainnet transaction cheap. The Dencun FAQ says EIP-4844 primarily targets L2 fees. Any Mainnet fee effect is indirect and depends on adoption and demand.
It did not make blob space unlimited. Blob capacity is constrained, and rollups may use calldata when blob space is in demand or unavailable at an acceptable cost.
It did not force every L2 to use blobs in the same way. The sequencer or rollup operator generally manages data posting and batching choices.
It did not turn blobs into permanent storage. Blob contents are temporary; applications needing durable data must use an appropriate storage design.
It did not remove bridge, swap, protocol, or wallet fees. The displayed total can include several layers of cost beyond the base L2 transaction charge.
Why the post-Dencun roadmap still matters: PeerDAS
Proto-danksharding was intentionally a bridge to more scalable data availability, not the final form of sharding. EIP-4844 introduced the blob transaction format and a separate fee market while retaining conservative initial capacity. In December 2025, Fusaka introduced PeerDAS (EIP-7594), a data-availability sampling design that lets nodes verify availability by sampling data instead of every node downloading all blob data.
This matters because more blob throughput can support more rollup data without demanding that every node carry the full burden. It does not change the basic user-facing rule: an L2 fee is still dynamic. The technical improvement can improve capacity and reduce pressure, but it is not a fixed-price promise. See the Ethereum Foundation’s Fusaka mainnet announcement and the official PeerDAS overview for the confirmed scope of that upgrade.
A practical fee-optimization workflow for L2 users
You cannot select a blob directly in a typical wallet transaction; the rollup decides how it posts batches. You can, however, reduce avoidable costs and choose a route that fits the transaction.
Identify the actual network. Confirm whether the app is using Ethereum Mainnet, a specific rollup, or another chain. “Ethereum-compatible” does not mean it benefits from Ethereum blob space.
Read the fee breakdown before confirming. Distinguish the L2 network fee from any application, bridge, swap, or protocol fee.
Compare the same action across supported L2s. Use only the app’s official network support and its current wallet quote. A lower fee is useful only if the destination, liquidity, security assumptions, and withdrawal path fit your use case.
Avoid unnecessary data-heavy calls. Multiple approvals, repeated retries, and complex contract interactions can cost more than a simple transfer. Consolidate actions only when doing so does not create a larger security or execution risk.
Do not retry blindly after a delay. Check transaction status first. A replacement or duplicate transaction can create another charge or an unintended second action.
Keep a small buffer of the native gas asset on the L2. Running out of gas after bridging or swapping can force an extra transfer and delay the transaction.
Use official explorers and documentation. Verify contract addresses, bridge steps, and network settings before signing. A “cheap” transaction sent to the wrong network is not an optimization.
When a lower displayed fee is not the better choice
Fee optimization is conditional. A low-cost L2 may be a good fit for a frequent, supported action such as an application interaction that stays within that ecosystem. It may be a poor fit if you immediately need to bridge again, if the app does not support the destination network, or if liquidity and withdrawal arrangements add more cost and risk than the initial fee saving.
For example, moving assets to a low-fee L2 for one small swap can be inefficient if the bridge, approvals, and return transfer cost more than transacting where the assets already are. Conversely, a user making many supported transactions within a single L2 ecosystem may benefit more from low recurring execution and data costs. Compare the complete path, not just the first gas quote.
How developers should interpret the change
For rollup teams, blobs shift the optimization target from “minimize permanent calldata at all costs” toward “use data availability efficiently while handling a separate blob-fee market.” That includes compression, batch formation, fallback behavior when blob fees rise, and transparent fee accounting for users. Applications should avoid claiming a permanent fee reduction based solely on EIP-4844 because demand, rollup implementation, and future protocol upgrades remain variables.
For application developers on an L2, transaction design still matters. Reducing unnecessary storage writes, calldata, contract calls, and failed execution can lower the execution portion of user cost. Those are complementary optimizations: proto-danksharding primarily reduces the rollup’s L1 data-posting component, while efficient contracts address work performed on the L2 itself.
Bottom line
Proto-danksharding changed L2 economics by giving rollups a temporary, separately priced data lane. That is why many blob-enabled rollups could reduce a major settlement-cost input after Dencun. The later arrival of PeerDAS strengthened the capacity side of the same roadmap, but neither upgrade makes fees static or guarantees that every L2 is cheaper than Mainnet for every task.
For users, the best optimization is to choose the correct network for the full transaction path, read the actual fee quote, avoid redundant contract calls, and keep enough native gas for the network you are using. For developers, the durable lesson is to treat blob availability, blob fees, batching, and L2 execution as related but distinct parts of the cost model.