EIP-4844 explained: how proto-danksharding cut Ethereum L2 fees by 90%
Before March 2024, sending $10 worth of tokens on Arbitrum cost about $0.50 in fees. On Base, it was sometimes over a dollar. Those fees existed because every Layer 2 rollup had to post its transaction data to Ethereum mainnet as calldata, and calldata is expensive. Permanently stored on-chain, competing for the same gas market as every other Ethereum transaction.
Then the Dencun upgrade went live on March 13, 2024. EIP-4844 introduced blob transactions. L2 fees dropped to fractions of a cent. Base saw a 224% explosion in transaction volume. Optimistic rollups cut their calldata costs by 81%. The upgrade did not just tweak gas numbers. It changed the economics of Ethereum's entire rollup ecosystem.
This article breaks down what EIP-4844 actually does, how blob transactions work, what changed for L2 users after Dencun, and where Ethereum goes from here with the Pectra upgrade and the road to full danksharding.
What is EIP-4844?
EIP-4844, also called proto-danksharding, is an Ethereum Improvement Proposal that introduced a new transaction type: blob-carrying transactions. The idea is straightforward. Rollups need to post data to Ethereum so anyone can verify their transactions. Before EIP-4844, that data went into calldata, which lives on-chain forever and costs execution gas. After EIP-4844, rollups post data as blobs instead. Blobs are cheaper, temporary, and have their own separate fee market.
Each blob holds 128 KB of data. That is roughly 4,096 field elements of 32 bytes each. A single Ethereum block can carry up to 6 blobs (the target is 3). The data in blobs is not accessible to the EVM. Smart contracts cannot read blob contents directly. Instead, they see a versioned hash of the blob's KZG commitment, a cryptographic fingerprint that proves the data exists without exposing it to the execution layer.
The blobs sit on the beacon chain (Ethereum's consensus layer) for about 18 days. After that, they get pruned. Gone. This is the critical difference from calldata, which stays on-chain forever. That temporary storage model is what makes blobs so much cheaper. Ethereum nodes do not need to store blob data permanently, so the network can afford to process a lot more of it.
The separate blob gas market works like EIP-1559 but for blob space specifically. When demand for blobs is high (more than 3 per block), the blob base fee goes up. When demand is low, it drops. This means blob pricing adjusts independently from regular gas, so a spike in DeFi activity on mainnet does not automatically make L2 fees jump.

How blob transactions work technically
When a rollup sequencer wants to post data to Ethereum, it constructs a blob-carrying transaction. This transaction contains two new fields that did not exist before EIP-4844:
- `max_fee_per_blob_gas`: the maximum the sender will pay per unit of blob gas
- `blob_versioned_hashes`: cryptographic references linking to the attached blobs
The actual blob data travels as a "sidecar" alongside the transaction. It does not enter the execution payload. Beacon nodes store the blobs, validate them using KZG polynomial commitments, and make them available for about 18 days before pruning.
KZG commitments are the cryptographic backbone. Named after Kate, Zaverucha, and Goldberg, these polynomial commitment schemes let anyone verify that a specific piece of data within a blob is correct without downloading the entire 128 KB. That property is what makes data availability sampling possible down the road with full danksharding. For now, every validator downloads the full blobs. In the future, they will only need to sample small pieces.
Before the Dencun upgrade, Ethereum ran a Trusted Setup Ceremony for the KZG parameters. Over 140,000 contributors participated. The security model only requires one honest participant to have discarded their computation. If even one person was honest, the whole system works.
The storage burden on nodes is manageable. At the target of 3 blobs per block, nodes need about 384 KB per block of extra storage. Over the full 18-day retention window, that adds up to roughly 48 GB. Not nothing, but not a dealbreaker either.
What changed after Dencun: the numbers
The Dencun upgrade activated on March 13, 2024. The impact on L2 economics was immediate and massive.
| Metric | Before Dencun | After Dencun | Change |
|---|---|---|---|
| Average block data size | Baseline | +116.8% | Larger blocks, more throughput |
| Calldata usage by rollups | Standard | -56.8% | Rollups shifted to blobs |
| Optimistic rollup calldata costs | $0.50-$2 per tx | Sub-cent | -81% |
| Base transaction volume | Baseline | +224% | Fee drop triggered adoption |
| Blob gas market | Did not exist | Independent fee market | New pricing mechanism |
Before Dencun, every byte of rollup data cost execution gas. A typical Arbitrum transaction required the sequencer to post calldata on Ethereum mainnet, paying the same gas rates as any other Ethereum user. During busy periods, this pushed L2 fees up to several dollars per transaction, partially defeating the point of using an L2.
After Dencun, rollups switched to blob transactions. Blobs have their own gas lane. The result: sending a token transfer on Base went from dollars to fractions of a cent. Arbitrum fees dropped by a similar margin. The fee reduction was so dramatic that L2 activity exploded. Users who had been waiting on the sidelines came flooding in.
Base was the standout. A 224% increase in transaction volume within weeks of Dencun going live. The Coinbase-backed rollup had been expensive relative to competitors. With blobs, it became one of the cheapest L2s to use.
The Pectra upgrade: doubling blob capacity
The first blob capacity increase arrived with the Pectra upgrade in May 2025. EIP-7691 doubled the blob target from 3 to 6 per block and raised the maximum from 6 to 9. That effectively doubled the data bandwidth available to rollups.
Why did this matter? By late 2024, blob space was starting to fill up. When all 6 blob slots in a block are taken, the blob base fee starts climbing, just like regular gas during congestion. More rollups posting more data meant the cheap blob fees would not stay cheap forever unless capacity expanded.
Pectra addressed that. With 6 target blobs per block, the network can handle roughly twice the rollup data before the fee market starts pushing prices up. For L2 users, this means fees stay low even as adoption grows.
The math on node requirements stayed reasonable. At 6 blobs per block, the storage burden is about 768 KB per block. Over the 18-day retention period, that is roughly 96 GB. Larger than before Pectra, but still within reach of consumer hardware. Keeping Ethereum decentralized by not pricing out home node operators is a constraint the protocol designers take seriously.

From proto-danksharding to full danksharding
EIP-4844 was always designed as a stepping stone. Proto-danksharding gives Ethereum blob transactions and a separate fee market. Full danksharding, which is still years away, takes the concept much further.
The current system requires every validator to download every blob in full. That works with 6-9 blobs per block. It does not work with 64 or more. Full danksharding introduces data availability sampling (DAS), where validators only need to download small random pieces of each blob and use KZG commitments to verify the rest. This lets Ethereum scale blob capacity without making nodes download exponentially more data.
| Feature | Proto-danksharding (now) | Full danksharding (future) |
|---|---|---|
| Blobs per block | 6 target, 9 max (post-Pectra) | 64+ |
| Validator data download | Full blobs | Random samples (DAS) |
| Erasure coding | Not used | Required for DAS |
| Data availability verification | Full download | Probabilistic sampling |
| Node storage burden | ~96 GB / 18 days | Minimal per node |
| Transaction throughput | Thousands of TPS across L2s | Millions of TPS target |
The roadmap is not set in stone. Ethereum researchers continue debating the exact parameters. But the direction is clear: more blob space, less per-node overhead, and a data availability layer that can support hundreds of rollups simultaneously.
What blobs mean for users and developers
If you use Layer 2 networks, EIP-4844 is the reason your fees are low. That is the bottom line. You do not need to understand KZG commitments or blob gas markets to benefit. The impact flows through automatically: rollups pay less to post data, they pass the savings to users, and everyone's transactions cost fractions of a cent.
For developers building on L2s, blobs changed the cost equation for data-heavy applications. Gaming, social, and data-intensive dapps that were impractical on expensive L2s became viable. Base's surge in activity after Dencun was not random. Developers shipped applications that only made economic sense with blob-level fees.
For Ethereum mainnet, the picture is more nuanced. Blobs create separate fee revenue that goes to validators. But because blob fees are designed to be cheap, they generate less revenue per byte than calldata did. Some analysts argue this accelerates Ethereum's "ultrasound money" problem in reverse: lower L2 fees mean less ETH burned through EIP-1559. Whether that is a concern depends on your view of Ethereum's long-term value proposition.
The one thing that has not changed: Ethereum still settles everything. Blobs are temporary, but the cryptographic commitments persist on mainnet permanently. Rollups still need Ethereum for security. Proto-danksharding made L2s cheaper. It did not make them independent.