Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Blob Transaction

A blob transaction is a specialized Ethereum transaction type, introduced by EIP-4844 (Proto-Danksharding), designed to carry large data blobs for Layer 2 rollups at a lower cost, with separate gas pricing and ephemeral storage.
Chainscore © 2026
definition
ETHEREUM SCALING

What is a Blob Transaction?

A blob transaction is a specialized Ethereum transaction type that temporarily stores large data packets off-chain to reduce Layer 1 costs, a core innovation introduced by EIP-4844 for proto-danksharding.

A blob transaction is an Ethereum transaction that carries one or more binary large objects (blobs)—packets of data up to ~128 KB each—which are posted to the Beacon Chain but are not accessible to the Ethereum Virtual Machine (EVM). This design separates expensive data availability from execution, allowing Layer 2 rollups like Optimism and Arbitrum to post transaction data much more cheaply than with traditional CALLDATA. The blobs are stored in the Beacon Chain's consensus layer for approximately 18 days before being pruned, providing a sufficiently long window for verification while preventing permanent state bloat.

The mechanism relies on KZG commitments (cryptographic proofs) and blob-carrying transactions. When a user submits a blob transaction, they pay two separate fees: a standard execution gas fee for the transaction's on-chain components and a blob gas fee for the data storage, which is dynamically priced by a distinct EIP-1559-style fee market. The blob data itself is not executed or stored in Ethereum's state; instead, only the commitment and a small reference are kept on-chain, enabling anyone to verify the data's availability and correctness during the storage window.

This architecture is the foundational step towards danksharding, Ethereum's long-term data scaling vision. By creating a dedicated, low-cost data channel, blob transactions dramatically reduce the cost for rollups to settle on Ethereum, which directly lowers transaction fees for end-users. The separation of data and execution also improves network efficiency, as nodes only need to ensure blob data is available for a short time, rather than processing and storing it permanently, which scales Ethereum's capacity without proportionally increasing node hardware requirements.

how-it-works
EIP-4844 MECHANISM

How Blob Transactions Work

An explanation of the technical architecture and data flow of blob-carrying transactions, the core innovation of Ethereum's proto-danksharding upgrade.

A blob transaction is a special type of Ethereum transaction that includes a large, temporary data packet called a blob (Binary Large OBject) in addition to its standard execution payload. Introduced by EIP-4844 (proto-danksharding), this mechanism separates high-volume data, like calldata for Layer 2 rollups, from the main Ethereum execution, storing it in a new, low-cost data layer for approximately 18 days. The transaction itself is validated and executed normally, but the blob data is processed and made available through a separate data availability sampling network.

The workflow begins when a user or, more commonly, a rollup sequencer constructs a blob transaction. The core transaction, containing the sender, recipient, and standard execution logic, is posted to the execution layer. Simultaneously, the blob data—encoded in a KZG commitment form—is attached and broadcast to the consensus layer's beacon chain. Validators on the beacon chain verify the KZG proof, ensuring the data is available and correctly committed, before including the transaction in a block. This separation is key: execution handles computation, while consensus guarantees data availability.

For nodes and users to access the blob data, a peer-to-peer network called the blob sidecar distribution network operates. Full nodes participating in this network store and serve the raw blob data for the ~18-day retention window. Applications, such as rollup provers or data indexers, can retrieve the data from these nodes using the blob's commitment as a reference. After the retention period, the blob data is pruned, but its commitment remains permanently on-chain, allowing for cryptographic verification of historical data if needed.

The economic model is designed to keep gas fees for execution predictable while making blob storage cheap and volatile. Blob transactions pay two separate fees: a standard base fee for execution and inclusion, and a distinct blob gas fee calculated by a separate, targeted EIP-1559 mechanism. This blob gas market dynamically adjusts based on demand for blob space in each block, which is capped (initially at 6 blobs per block). This ensures that surges in data posting from rollups do not congest the main network for regular users.

The primary use case is scaling Layer 2 rollups (Optimistic and ZK). Instead of posting their batch transaction data as expensive calldata, rollups post it as blob data. This drastically reduces their operational costs while maintaining the same security guarantee—that the data is available for fraud proofs or state reconstruction. By moving this bulk data to a temporary, dedicated storage layer, blob transactions enable higher transaction throughput on L2s without proportionally increasing the load and cost on Ethereum Layer 1.

key-features
EIP-4844

Key Features of Blob Transactions

Blob transactions, introduced by EIP-4844, are a new Ethereum transaction type designed to carry large data packets for Layer 2 rollups, significantly reducing data availability costs.

01

Data Blobs (Binary Large Objects)

A blob is a dedicated data packet of up to ~128 KB attached to a transaction. It is stored in the Beacon Chain consensus layer for ~18 days, providing temporary data availability for Layer 2s. The blob data is not accessible to the EVM and is pruned after this period, which is the core mechanism for reducing long-term storage costs.

02

Separate Fee Markets

Blobs have their own independent gas fee market, distinct from the standard execution gas for EVM computation. This separation prevents competition between blob data posting and regular transactions, leading to more predictable and stable fees for L2 rollups. Fees are determined by a dedicated blob base fee that adjusts per block based on demand.

03

KZG Commitments & Proofs

Each blob is cryptographically committed to using KZG (Kate-Zaverucha-Goldberg) commitments. The transaction includes the commitment and a proof. This allows nodes to verify that the blob data is available and correct without downloading the entire blob, enabling efficient data availability sampling (DAS) by light clients and validators.

04

Proto-Danksharding

EIP-4844 implements proto-danksharding, a precursor to full danksharding. It establishes all the necessary transaction logic and infrastructure for blobs but initially limits each block to a target of 3 blobs (max 6). This phased approach allows the network to test the mechanism before scaling to the full 16 MB per block target of full danksharding.

05

Cost Reduction for L2s

The primary goal is to drastically lower data availability costs for Optimistic Rollups and ZK-Rollups. By providing a dedicated, cheaper data channel with temporary storage, blob transactions can reduce L2 transaction fees by 10-100x compared to using calldata, making Ethereum scaling more affordable.

06

Versioned Hashes

To ensure forward compatibility with future cryptographic schemes, blobs are referenced in the execution layer by a versioned hash. This hash includes a version byte followed by a SHA-256 hash of the commitment. This design allows the consensus layer's data structure to evolve independently from the execution layer.

etymology-history
TERM ORIGIN

Etymology and History

The term 'blob transaction' emerged from Ethereum's scaling roadmap, specifically the EIP-4844 upgrade known as Proto-Danksharding. Its history is a story of evolving data availability solutions.

The term blob transaction is a direct reference to its core component: a blob of data. In computer science, a 'Binary Large OBject' (BLOB) is a collection of binary data stored as a single entity. In the Ethereum context, this was adapted to describe a new transaction type that carries a large, dedicated data packet separate from the main execution layer. The nomenclature distinguishes it from standard transactions, emphasizing its role as a data carrier for layer 2 rollups.

The concept's history is rooted in the long-term Danksharding scaling vision for Ethereum. As a precursor, Proto-Danksharding (EIP-4844) was implemented to introduce the data structure and market without the full complexity of sharding. The key historical driver was the soaring cost of calldata, which rollups used to post transaction data on-chain. Blobs provided a new, cheaper data channel with a separate fee market, designed to be pruned after a short period (approximately 18 days) to control state growth.

The development followed a lineage of data availability solutions, learning from earlier designs like data availability committees and validiums. The blob's design—using KZG polynomial commitments for efficient verification and a separate gas fee model—was a pragmatic step informed by years of rollup deployment. Its introduction in the March 2024 Dencun upgrade marked a pivotal moment, immediately reducing L2 transaction fees by orders of magnitude and validating the modular blockchain approach where execution and data availability are distinct layers.

ecosystem-usage
BLOB TRANSACTION

Ecosystem Usage

Blob transactions are a specialized EIP-4844 transaction type that temporarily stores large data packets (blobs) off-chain, enabling high-throughput, low-cost data availability for Layer 2 rollups.

02

Proto-Danksharding (EIP-4844)

Blob transactions are the core feature of Proto-Danksharding, a precursor to full Danksharding. The design introduces:

  • A new transaction type with a blob-carrying field.
  • A separate blob gas market with its own fee mechanism, decoupled from execution gas.
  • A blob storage duration of approximately 18 days, after which nodes can prune the data, as it's only needed for short-term consensus and verification.
03

Blob Gas Market & Pricing

Blobs have a dedicated gas market (EIP-1559-style) with a target of 3 blobs per block. Key mechanics include:

  • Blob Gas Price: Adjusts based on demand for blob space, independent of execution gas.
  • Fee Burning: Base fees for blob gas are burned, applying deflationary pressure to ETH.
  • Capacity: Each blob provides ~128 KB of data. The initial target allows for ~0.375 MB of blob data per block, creating a scalable data layer for rollups.
04

Node Operations & Pruning

For network participants, blob transactions change operational requirements:

  • Execution Clients (e.g., Geth, Nethermind): Process the transaction and hold blob data for a short period (~18 days).
  • Consensus Clients: Verify the blob's commitment and availability.
  • Data Pruning: After the retention window, nodes can safely delete blob data, minimizing long-term storage bloat while preserving data availability for dispute windows.
05

Data Availability Sampling (Future)

Blobs lay the groundwork for full Danksharding, where the network scales to ~16 MB per slot. The future state involves:

  • Data Availability Sampling (DAS): Light clients and validators can probabilistically verify data availability by sampling small chunks of blobs.
  • KZG Commitments: Each blob is accompanied by a KZG polynomial commitment, allowing for efficient cryptographic proofs of data availability and correctness.
06

Tooling & Developer Integration

Adoption requires ecosystem tooling, which now includes:

  • Client APIs: New RPC methods like eth_blobGasPrice and eth_getBlobSidecars.
  • Libraries: SDKs and libraries (e.g., in ethers.js, viem) support constructing and signing blob transactions.
  • Indexers & Explorers: Block explorers display blob transactions and their associated data commitments, providing visibility into blob space utilization.
EIP-4844 DATA LOCATIONS

Blob Data vs. Calldata

A technical comparison of the two primary methods for storing data in an Ethereum transaction, highlighting the cost and scaling trade-offs introduced by Proto-Danksharding.

FeatureBlob Data (EIP-4844)Calldata (Legacy)

Primary Purpose

Low-cost temporary data for Layer 2 rollups

General-purpose input data for contract execution

Storage Location

Off-chain in the Beacon Chain consensus layer

On-chain in the Execution Layer block body

Persistence

~18 days (4096 epochs), then pruned

Permanent, stored in blockchain history

Accessibility

Not accessible to EVM; verified via KZG commitments

Fully accessible to the EVM via msg.data

Cost Model

Independent gas market (blob gas), priced for 30-second targets

Priced via basefee, part of main execution gas

Data Capacity

~128 KB per blob (3 blobs per block target in initial phase)

Limited by block gas limit (~30-80 KB typical)

EVM Opcode Cost

N/A (inaccessible)

CALLDATALOAD: 3 gas, CALLDATACOPY: 3 gas + memory expansion

Typical Use Case

Batch posting of L2 transaction data

Function arguments, contract deployment code, direct contract calls

technical-details
BLOB TRANSACTION

Technical Specifications

A blob transaction is a specialized Ethereum transaction type that carries large data packets (blobs) for Layer 2 rollups, designed to be cheap and consensus-layer verifiable but not execution-layer accessible.

01

Core Structure (EIP-4844)

A blob transaction wraps a standard Ethereum transaction with extra components for blob data. The key fields are:

  • blob_versioned_hashes: A list of KZG commitments, linking the transaction to its blob data.
  • max_fee_per_blob_gas: The maximum fee the sender will pay per unit of blob gas.
  • blobs: The actual large data packets (each ~128 KB) attached to the transaction. The blobs themselves are not stored in the execution layer but are posted to the Beacon Chain consensus layer.
02

Blob Gas & Pricing

Blob data consumption is measured in blob gas, a separate resource from standard execution gas. Its pricing is governed by an EIP-1559-style fee market with a target of 3 blobs per block. Key mechanics:

  • Base Fee: Adjusts per block based on blob congestion.
  • Priority Fee: An optional tip for validators.
  • Blob Gas Limit: Each block has a target of ~0.375 MB and a maximum limit of ~0.75 MB of blob data. This design ensures blob space costs remain predictably low compared to calldata.
03

Data Availability with KZG Commitments

Blobs provide data availability (DA) for Layer 2s using cryptographic commitments. The process:

  1. The sender generates a KZG commitment (a polynomial commitment) for each blob.
  2. This commitment is included in the transaction (blob_versioned_hashes).
  3. Validators and Layer 2 nodes can cryptographically verify that the full blob data is available and corresponds to the commitment. This allows for efficient data availability sampling (DAS) by light clients in future upgrades, without requiring them to download the full blob.
04

The Blob Sidecar

Blob data is not stored in the traditional Ethereum execution client. Instead, it is transmitted and stored alongside the block as a blob sidecar. This is a separate data structure that contains:

  • The raw blob data.
  • Proofs (KZG proofs) for each blob. The sidecar is propagated through the P2P network via a dedicated blob gossip subnetwork. After a short retention period (~18 days), the blob data is pruned, as its cryptographic commitment provides long-term data availability guarantees.
05

Execution vs. Consensus Layer Separation

A fundamental design choice is the separation of blob data from the EVM:

  • Consensus Layer (Beacon Chain): Stores blob data temporarily and verifies its availability via KZG commitments. This is where the data availability guarantee is enforced.
  • Execution Layer (EVM): Only sees the blob versioned hashes. The EVM cannot directly access blob contents via opcodes like BLOBHASH (which returns the commitment hash). This separation keeps execution costs stable and prevents bloating the EVM state with large, transient data.
security-considerations
BLOB TRANSACTION

Security and Design Considerations

Blob transactions introduce a new data structure to scale Ethereum's data availability, requiring specific security and design trade-offs for developers and validators.

01

Data Availability Sampling (DAS)

Data Availability Sampling (DAS) is the core security mechanism that allows light clients and rollups to probabilistically verify that all data within a blob is available without downloading it entirely. This is achieved by:

  • Nodes requesting small, random samples of the blob data.
  • Using KZG polynomial commitments to prove the correctness of each sample.
  • Ensuring that if any data is withheld, a sample request will detect it with high probability. This design is critical for maintaining the data availability guarantee, which underpins the security of Layer 2 rollups.
02

Blob Gas Pricing & Spam Prevention

Blobs are priced with a separate blob gas mechanism, distinct from standard execution gas. Its design includes:

  • A target and maximum per-block blob count (target: 3, max: 6 as of EIP-4844).
  • An exponential pricing model for blob gas that rapidly increases costs when usage exceeds the target, disincentivizing spam and stabilizing network load.
  • This separation prevents congestion in blob data from directly impacting the gas prices for standard EVM transactions, improving predictability.
03

Pruning & Storage Commitment

Blobs are designed for ephemeral data availability, not permanent on-chain storage. Key considerations include:

  • Nodes are only required to store blob data for 4096 epochs (~18 days).
  • After this period, the data can be pruned, as its availability has been sufficiently verified for rollup fraud or validity proofs.
  • Only the small blob commitment (a KZG commitment) and blob hash remain in the beacon chain permanently. This design drastically reduces the long-term state growth burden on consensus nodes compared to storing all data in calldata.
04

Validator Responsibilities & Penalties

Validators have new responsibilities and face inactivity leak penalties for non-compliance:

  • They must make blob data available for the required retention window (~18 days).
  • Failure to serve blob data when requested can be penalized, as it breaks the data availability guarantee.
  • This ensures the peer-to-peer network reliably propagates and stores blob data, which is essential for the security of light clients and rollups.
05

Rollup Integration & Proof Systems

For Layer 2 rollups, blob transactions shift security assumptions:

  • Rollups now post data to blobs instead of calldata, relying on the chain's data availability guarantee.
  • ZK-Rollups must ensure their validity proofs account for the KZG commitments in blobs.
  • Optimistic Rollups must ensure their fraud proof window (typically 7 days) is shorter than the blob pruning window (~18 days) to guarantee data is available for challenge.
  • Rollup sequencers must manage the new blob gas market and potential congestion.
06

Client Implementation Complexity

Implementing blob support adds complexity to Ethereum clients (execution and consensus):

  • Requires integration of KZG cryptography libraries for commitment and proof verification.
  • New network protocols (e.g., BlobSidecar propagation) must be implemented in the P2P layer.
  • Execution clients must handle the new transaction type and interact with the consensus layer for blob data.
  • This increases the attack surface and requires rigorous auditing of the new cryptographic and networking code.
BLOB TRANSACTIONS

Frequently Asked Questions (FAQ)

Blob transactions are a core scaling mechanism introduced by Ethereum's EIP-4844 (Proto-Danksharding). These questions address their purpose, mechanics, and impact on Layer 2 rollups and network costs.

A blob transaction is a special type of Ethereum transaction that includes a large, temporary data packet called a blob (Binary Large OBject) in addition to its standard components. It works by posting this blob data to the Beacon Chain consensus layer, where it is stored for a short, fixed period (approximately 18 days), while only a small commitment to the data is stored permanently on the execution layer. This design drastically reduces the cost of posting data for Layer 2 rollups by separating expensive, permanent calldata storage from cheap, temporary data availability.

Key components:

  • Execution Payload: Standard transaction details (to, from, value).
  • Blob Sidecar: The large data blob (up to ~128 KB per blob).
  • KZG Commitments: Cryptographic proofs that commit to the blob's contents.
ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
Blob Transaction: Ethereum's Data Layer Explained | ChainScore Glossary