DeFi Intel

Blobspace: Understanding EIP-4844 and Rollup Data Costs

Quick answerEIP-4844 introduced blobspace—a temporary, low-cost data layer for rollups, separate from EVM execution. Blobs use a dedicated gas market with its own base fee mechanism. This slashed L2 posting costs by 10-100x compared to calldata, enabling cheaper transactions on Arbitrum, Optimism, Base and others.

EIP-4844 blobspace Ethereum, introduced via the Dencun upgrade, fundamentally reshapes how rollups post data to L1. Before blobs, every batch of L2 transactions was stored in Ethereum’s permanent calldata, competing directly with regular smart contract execution for block space. This created a costly bottleneck: L2 users paid high fees because rollups passed on those L1 data costs. Blobspace solves that by creating a separate, ephemeral data layer—blobs—that is cheaper to use and doesn’t crowd out normal transactions.

This guide provides a deep dive into blob gas markets, the trade-offs between blobs and calldata, and the concrete impact on L2 fee structures. Whether you’re a developer optimizing rollup batch submission or a power user curious why Ethereum L2 fees dropped dramatically, you’ll find the mechanics, economics, and practical considerations laid out clearly.

Key takeaways
  • Blobspace is a dedicated, cheap data layer for rollups, created by EIP-4844.
  • Blobs use a separate gas market with target 3 per block and exponential fee adjustment.
  • L2 fees dropped dramatically (often 10-100x) after Dencun, enabling sub-cent transactions.
  • Blobs are temporary (18 days) but sufficient for rollup security; long-term DA must be handled separately.
  • EIP-4844 is Proto-Danksharding; future upgrades will increase blob capacity and add DAS.
  • Developers must carefully design batch size, fee estimation, and verification logic for blobs.

What Is Blobspace and Why Was It Needed?

Blobspace is a temporary data storage area on Ethereum designed exclusively for rollups to post their compressed transaction data. Unlike calldata—which is stored permanently on-chain and indexed by Ethereum clients—blobs are only kept for about 18 days (approximately 4096 epochs). This ephemeral nature is acceptable because rollups themselves already provide long-term data availability (DA) through their own committees or external DA layers; Ethereum only needs to guarantee that the data was available during the period when anyone can dispute a state transition.

Before EIP-4844, every blob of data a rollup submitted was posted as calldata, which incurred high costs because calldata bytes must be accessible forever and occupy permanent state. For example, a typical Optimism batch with 100 KB of calldata could cost over $100 in gas, which then got passed down to end users. Blobspace slashes these costs by roughly 90–99% because blob gas is priced separately and blobs are pruned after the DA window. The need was acute: L2 activity was exploding, and high L1 data costs were the primary barrier to sub-cent transaction fees on rollups.

How EIP-4844 Created Blobspace: Blob Gas vs. Regular Gas

EIP-4844 introduces a new transaction type (0x03) that contains one or more blobs alongside the standard execution payload. Each blob is a fixed size of 128 KB, and a transaction can include up to 6 blobs per block (though the target is 3). The key innovation is a separate fee market for blob “gas.” While regular execution uses the EIP-1559 base fee mechanism for computational gas, blobs have their own base fee that adjusts based on blob supply and demand.

Blob gas is not interchangeable with regular gas. A transaction consumes both execution gas (for verifying the blob commitment and calling the rollup’s inbox contract) and blob gas (for the blob itself). The total fee paid is: execution gas * (base fee + priority fee) + blob gas * blob base fee. The blob base fee starts at 1 wei per unit and can increase or decrease based on how many blobs are included relative to a target of 3 per block. If the network is congested with blobs, the base fee rises; if underutilized, it falls. This creates a dynamic market that keeps blob inclusion economical.

Example: In a block with 4 blobs (above target), the blob base fee might be 50 gwei. In a block with only 1 blob, it could drop to 1 gwei. This adaptive pricing prevents spam while ensuring low costs during normal usage.

The Blob Gas Market: Target, Excess, and Base Fee Mechanics

The blob gas market operates via a mechanism very similar to EIP-1559 but with different parameters:

blob_base_fee = 1 wei * exp(excess_blob_gas / 4000000)

Where excess_blob_gas accumulates the difference between actual blob gas used and the target each block, clamped between 0 and max. This exponential curve ensures that even small sustained excesses can push fees up quickly, discouraging congestion. For instance, if the network consistently sees 5 blobs per block (2 above target), the excess builds, and the base fee grows exponentially until demand subsides.

This design has two critical effects for rollups: (1) during normal periods, blob base fees are extremely low (often single-digit wei), making blob posts nearly free compared to calldata; (2) during data-availability spikes—like a popular NFT mint on a rollup—the base fee can spike, but even at elevated levels, blobs remain cheaper than calldata because calldata competes for the same blockspace as DeFi trades and has a much higher fee floor.

Real-time blob base fee and utilization can be monitored on dashboards like Blobscan or Dune Analytics dashboards by @hildobby, which show spot fees and historical averages.

Trade-offs: Blobs vs. Calldata — A Comparison

FeatureCalldata (pre-4844)Blobs (EIP-4844)
PersistencePermanent (forever accessible)~18 days (pruned after DA window)
Fee MarketShared with EVM execution (EIP-1559)Separate blob gas market (own EIP-1559 variant)
Cost per byte (illustrative)~16 gas per byte (calldata cost) → at 50 gwei: ~0.08 ETH/100KB~1 wei per byte blob gas → at 50 gwei: ~0.000005 ETH/100KB
Max per blockLimited by block gas limit (~30M gas); ~1.8M calldata bytes typicalTarget 3 blobs (384KB), max 6 blobs (768KB) of data
L2 fee impactDominant cost for rollups; forces high feesDramatically reduces fixed cost; sub-cent L2 transactions become feasible
Verification costLinear in calldata bytes (SLOAD to read)Constant via KZG commitments (128 KB blob verified with a single pairing check)
Light client supportFull nodes store all calldata forever (hardware burden)Blobs pruned after 18 days; light clients can ignore historical blobs

The trade-off is clear: blobs sacrifice permanent availability for massive cost savings. Rollups that require long-term L1 data availability must supplement blobs with their own DA solutions (e.g., Celestia) or keep a copy off-chain. But for the vast majority of users, the 18-day window is sufficient—it covers the fraud proof period (optimistic rollups) or allows enough time for zk-rollup provers to fetch the data.

Impact on L2 Fee Structures: Real-World Examples

The introduction of blobspace on March 13, 2024 caused an immediate and dramatic drop in L2 transaction fees. Let’s examine three major rollups:

These savings are direct: L2 sequencers post batches roughly every few minutes, and each batch of ~500 transactions might have cost 0.01 ETH in calldata; as a blob, the same batch costs under 0.0001 ETH. The savings are passed on to users through lower L2 fees.

Data from L2BEAT and Dune dashboards confirm that post-4844, the share of rollup costs coming from L1 DA dropped from ~90% to less than 10% for optimistic rollups, making execution cost the new dominant factor.

Data Availability Considerations: Blob Retention and Light Clients

Blobs are only stored by Ethereum full nodes for approximately 18 days (defined as 4096 epochs, or ~18.2 days). After that, they are pruned—meaning the raw blob data is no longer available from Ethereum’s peer-to-peer network. However, the commitment (a KZG polynomial commitment) remains in the beacon state, allowing anyone to verify that a blob existed at a certain block. This design is intentional: Ethereum is not a permanent data warehouse; it only needs to provide data availability during the window when rollups need to detect fraud or generate proofs.

For light clients, blobs are a boon. Before EIP-4844, a light client verifying the state of a rollup would need to download all calldata to ensure the data was available. That’s expensive. With blobs, a light client can download only the blob headers (32-byte commitments) and sync with the beacon committee’s attestations that the blob data was actually published—a much lighter task. This enables trust-minimized light clients for L2 on mobile and browser wallets.

If a rollup needs longer data availability, it can: (1) store blobs permanently using a service like Etherscan’s blob explorer (which archives them), (2) fall back to calldata for critical data, or (3) use a dedicated DA layer like Celestia or EigenDA, which offer cheaper storage with longer retention.

Blob Transaction Types and Sidecars: Technical Underpinnings

EIP-4844 defines a new transaction type with type byte 0x03. The transaction payload includes:

When a validator proposes a block, they include the blob versioned hashes in the beacon block body, while the full blob data is gossiped alongside as a sidecar. This separation means that execution clients (like Geth) do not need to process or store blob data—they only see the hash commitments. Beacon nodes and validators store the sidecars temporarily to serve blob requests from light clients or rollup nodes.

The verification cost on L1 is constant: regardless of blob size, the EVM only needs to run a single KZG verification pairing check per blob (costing about 50,000 gas). This is vastly more efficient than reading calldata byte-by-byte for verification, which scales linearly.

Tools like Blobscan and Etherscan now provide blob explorers to inspect the raw data, commitments, and blob gas fees paid per block.

Future of Blobspace: From Proto-Danksharding to Full Danksharding

EIP-4844 is deliberately called Proto-Danksharding—a stepping stone toward full danksharding, with PeerDAS (EIP-7594) as the next milestone on that path. Full danksharding will expand the blob capacity from 6 blobs per block to 64 or more, while also adding data availability sampling (DAS). DAS allows light nodes to randomly sample blob data to verify availability without downloading everything, dramatically scaling the system.

Proto-Danksharding skipped DAS to minimize complexity and get the core economic benefits out quickly. The Pectra upgrade (May 2025) already raised the blob target and maximum (to 6 target, 9 max via EIP-7691), and subsequent upgrades are expected to:

For now, blob capacity remains limited, keeping blobs extremely cheap during normal periods, but also creating a ceiling on L2 throughput—if too many L2s try to post data simultaneously, blob base fees could spike. However, even at elevated fees, blobs remain cheaper than calldata for the foreseeable future. Meanwhile, rollups are already exploring “blob compression” techniques to pack more transactions into each blob.

Common Mistakes When Using Blobs in Rollup Design

Developers migrating from calldata to blobs often stumble on these points:

Key Takeaways

Common mistakes to avoid

Frequently asked questions

How does blob storage differ from calldata in terms of cost?

Calldata is stored permanently and costs ~16 gas per byte; blob data costs only ~1 wei per blob gas unit per byte. A typical 100KB batch costs ~0.0008 ETH in calldata but <0.00001 ETH as a blob, due to the separate blob gas market and lower base fee.

Can I still use calldata for my rollup after EIP-4844?

Yes, rollups can choose to post data as calldata if they need permanent storage or are unable to switch. However, they will pay significantly more, and may be outcompeted by rivals using blobs.

How long do blobs remain available on Ethereum?

Blobs are kept for approximately 18 days (4096 epochs). After that, full nodes are expected to prune them. The commitment (hash) remains in the beacon state indefinitely.

What happens if blob base fee becomes very high?

If blob demand exceeds 3 blobs per block for many consecutive blocks, the base fee rises exponentially. Rollups can respond by batching less frequently, using compression, or temporarily switching to calldata. In practice, the fee has remained near the minimum since launch.

Do all rollups use blobs now?

Most major rollups (Arbitrum One, Optimism, Base, zkSync Era, Linea, Scroll, Polygon zkEVM) have implemented blob posting. Some smaller or newer rollups may still use calldata. Check L2BEAT to see which ones support blobs.

Track the entities behind the concepts

DeFi Intel maps 11,000+ protocols, tokens and companies to a typed knowledge graph — with live data, incidents and regulation.

Entities mentioned