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-Carrying Transaction

A specialized transaction type that posts large data blobs (like rollup batches) to a blockchain, where only a cryptographic commitment is processed by the execution layer, separating data availability from execution.
Chainscore © 2026
definition
ETHEREUM EIP-4844

What is a Blob-Carrying Transaction?

A specialized Ethereum transaction type introduced by EIP-4844 (Proto-Danksharding) designed to post large, temporary data packets to the blockchain at a lower cost than traditional calldata.

A blob-carrying transaction is an Ethereum transaction that includes one or more data blobs—large, fixed-size packets of data (approximately 128 KB each) intended for off-chain data availability. The transaction's core execution logic and signatures are processed normally by the Ethereum Virtual Machine (EVM), while the blob data is posted separately to the blobspace, a new, ephemeral data storage layer. This architectural separation is the key innovation, allowing the blob data to be priced independently from standard block gas, significantly reducing costs for layer-2 rollups that need to post cryptographic proofs and state differences.

The primary purpose of this transaction type is to serve as a data availability layer for optimistic rollups and ZK-rollups. Instead of posting their batch data to expensive, permanent calldata, rollups attach it as blobs. The data is cryptographically committed to in the beacon chain via KZG commitments and is only available for a short period (currently 4096 epochs, ~18 days). This temporary availability is sufficient for all parties to verify rollup state transitions and issue fraud proofs, after which the data can be pruned, preventing indefinite state bloat on Ethereum's consensus layer.

From a user's perspective, a blob-carrying transaction looks like a standard transaction with extra fields: a list of blob commitments and their associated proofs. Validators and nodes propagate and store this blob data separately via a dedicated peer-to-peer network. The fee market for blobs uses a separate blob gas mechanism with its own floating price, determined by a targeting algorithm similar to EIP-1559, which helps stabilize costs for high-volume data posters like rollup sequencers.

The introduction of blob-carrying transactions is a foundational step toward full Danksharding, Ethereum's future scaling roadmap. It establishes the core architecture for a high-volume, low-cost data market. By moving bulk data out of the main execution layer, it directly increases the network's data capacity for layer-2s, enabling higher throughput and lower transaction fees for end-users without compromising Ethereum's security or decentralization.

how-it-works
EIP-4844 MECHANICS

How Does a Blob-Carrying Transaction Work?

A technical breakdown of the transaction type that introduced data blobs to Ethereum, a core component of proto-danksharding.

A blob-carrying transaction is a specialized Ethereum transaction type, introduced by EIP-4844, that includes a large, dedicated data packet called a blob alongside its standard execution payload. This structure separates expensive, long-term data storage from the transaction's execution logic, allowing the blob data to be cheaply available for a short period (approximately 18 days) for Layer 2 rollup verification before being automatically pruned. The transaction itself is validated and pays fees for both execution and blob storage, but the blob data is stored in a new, separate Beacon Chain data structure rather than the main Ethereum execution layer.

The workflow begins when a user or, more commonly, a Layer 2 rollup sequencer constructs a transaction with two key components: the standard to, value, and calldata fields for execution, and a new blob_versioned_hashes field pointing to one or more blobs. These blobs are large binary data objects (up to ~128 KB each) containing compressed transaction batches or state commitments. The transaction is broadcast to the network, where validators verify its signature and execution. Crucially, they also verify a KZG commitment for each blob, a cryptographic proof that binds the blob data to the hash in the transaction without requiring all validators to download the full blob.

Upon inclusion in a block, the blob data is disseminated across the peer-to-peer (p2p) network via a separate blob sidecar mechanism. The block only contains the commitments and a small proof, keeping block propagation efficient. For the next ~4096 epochs (about 18 days), the blob data remains available on the network, allowing anyone, including Layer 2 verifiers and bridges, to download and verify the data if needed. After this period, the data can be safely discarded, as its purpose—enabling secure and cheap short-term data availability for rollups—has been fulfilled. This mechanism dramatically reduces the cost for rollups to post data to Ethereum, which is their primary expense.

The fee market for blob-carrying transactions is distinct from the standard gas market. It uses a separate blob gas unit and a multi-dimensional EIP-1559-style fee mechanism. A target and limit for blob gas per block are set (initially targeting 3 blobs per block), creating a separate floating blob base fee that adjusts based on network demand for blob space. This design prevents competition for block space between execution and data availability, ensuring that surges in blob posting do not congest the core transaction processing layer of Ethereum.

key-features
BLOB-CARRYING TRANSACTION

Key Features & Characteristics

A blob-carrying transaction is a specialized Ethereum transaction type introduced with EIP-4844 (Proto-Danksharding) that temporarily posts large data packets, known as blobs, to the beacon chain for significantly reduced Layer 2 data availability costs.

01

Data Availability Layer

The primary purpose of a blob-carrying transaction is to provide a low-cost data availability layer for Layer 2 rollups. Instead of posting transaction data directly to Ethereum's expensive calldata, rollups attach it as a blob. This separates the cost of data availability from the cost of execution, enabling cheaper L2 transactions while still securing data on Ethereum.

02

Fixed-Size Binary Blob

Each transaction carries one or more blobs, which are fixed-size binary data objects of approximately 128 KB each. This standardized size simplifies verification and future sharding. The blob data is not accessible to the Ethereum Virtual Machine (EVM); it is committed to via a KZG commitment and posted to the consensus layer for a short period (currently ~18 days).

03

Separation of Data and Execution

This transaction type enforces a clean separation:

  • Execution Layer: Processes the transaction's EVM component (e.g., a small contract call).
  • Consensus Layer: Stores and attests to the blob data for data availability. This architecture allows nodes to prune blob data after its expiry window, preventing indefinite state growth while ensuring short-term data availability for rollup proofs.
04

Cost Structure (Blob Gas)

Blob-carrying transactions use a separate blob gas market, distinct from the standard EIP-1559 gas for execution. Blob gas prices are determined by a dedicated fee market that targets a constant number of blobs per block (initially 3). This design isolates demand spikes for data availability from the main execution gas market, providing more predictable costs for rollups.

05

Commitment & Verification

Instead of including the full blob data in an execution block, the transaction includes a KZG polynomial commitment and a versioned hash. Consensus layer validators verify the commitment matches the blob. This allows for efficient data availability sampling (DAS) in future sharding upgrades and enables light clients to verify data availability with minimal data download.

evolution
SCALABILITY UPGRADE

Evolution & EIP-4844 (Proto-Danksharding)

This section details the foundational upgrade, EIP-4844 or Proto-Danksharding, which introduced a new transaction type and data structure to dramatically reduce Layer 2 rollup costs on Ethereum.

A blob-carrying transaction is a new Ethereum transaction type introduced by EIP-4844 (Proto-Danksharding) that includes a large, temporary data packet called a blob (Binary Large OBject) destined for Layer 2 rollups. Unlike calldata, which is stored permanently on-chain, blob data is posted to the Beacon Chain consensus layer and is only accessible for a short data availability window—approximately 18 days—before being pruned. This design separates the cost of data availability from the cost of permanent storage, allowing rollups to post their transaction data at a fraction of the previous cost while maintaining the same security guarantees.

The core innovation is the use of KZG commitments (Kate-Zaverucha-Goldberg) and cryptographic proofs to ensure data availability without requiring all nodes to store the blob data long-term. When a blob-carrying transaction is submitted, the associated blob is referenced by its KZG commitment, which is a small, fixed-size cryptographic fingerprint. Validators and Layer 2 nodes can quickly verify that the full blob data was published and is available for download during the retention period. This mechanism is a precursor to full Danksharding, where the network's capacity for blobs will be massively scaled across many validators.

For users and developers, the primary impact is drastically reduced transaction fees on Optimistic Rollups and ZK-Rollups. By moving bulk data from expensive calldata to inexpensive, temporary blobs, L2s can pass the savings on to end-users. The upgrade required coordinated changes across the execution layer (via the Cancun hard fork) and the consensus layer. Key client implementations, such as Geth and Prysm, added support for the new transaction type and blob propagation network protocols, ensuring the network could handle this new form of data.

DATA STORAGE MECHANISMS

Blob-Carrying Transaction vs. Calldata

A comparison of the two primary methods for posting large data batches to the Ethereum blockchain, highlighting their distinct architectures, cost models, and use cases.

FeatureBlob-Carrying Transaction (EIP-4844)Calldata

Primary Purpose

Low-cost temporary data availability for Layer 2 rollups

Permanent contract execution input and general data storage

Data Location

Separate sidecar 'blob' in the Beacon Chain consensus layer

Within the transaction's execution payload on the execution layer

Persistence

~18 days (pruned by nodes after EIP-4844 expiry period)

Permanent (full nodes store indefinitely)

Gas Cost Model

Separate blob gas fee (independent, uses a separate fee market)

Included in base transaction gas (uses main Ethereum gas market)

Execution Access

Not directly accessible by the EVM; accessed via blob hash (versioned hash)

Fully accessible by the EVM via the CALLDATA opcodes

Typical Cost (Relative)

~10-100x cheaper for large data batches

Significantly more expensive for large data batches

Maximum Data per Unit

~128 KB per blob (up to 6 blobs per transaction)

Block gas limit constrained (~30-90 KB typical practical limit)

Primary Beneficiaries

Optimistic & ZK Rollups (for posting cheap commitment data)

Smart contracts requiring direct input, general-purpose dApps, some older scaling solutions

ecosystem-usage
BLOB-CARRYING TRANSACTION

Ecosystem Usage & Protocols

Blob-carrying transactions are a specialized Ethereum transaction type introduced by EIP-4844 (Proto-Danksharding) to provide temporary, low-cost data availability for Layer 2 rollups.

01

Core Mechanism & Structure

A blob-carrying transaction is a standard Ethereum transaction that includes one or more data blobs as a new transaction field. Each blob is a ~128 KB packet of data. The key innovation is that blob data is not stored in the EVM's state or calldata long-term. Instead, it is posted to the Beacon Chain consensus layer, where it is made available for a short period (currently ~18 days) before being pruned, significantly reducing the permanent storage burden on the network.

02

Primary Use Case: Layer 2 Data

The primary purpose of blob-carrying transactions is to serve as a cost-effective data availability layer for Optimistic and ZK Rollups. Instead of posting their transaction data (calldata) directly to Ethereum mainnet, rollups post compressed data into blobs. This separates the cost of data availability from execution, allowing Layer 2s to batch thousands of transactions into a single, inexpensive blob, dramatically reducing fees for end-users.

03

Fee Market & EIP-1559

Blobs have a separate fee market from standard Ethereum gas, governed by its own version of EIP-1559. This creates two parallel auction markets:

  • Gas for execution and storage.
  • Blob gas for data availability. This separation prevents competition between Layer 2 data posting and regular user transactions, making blob fees more predictable and stable. Excess blob gas fees are burned, similar to base fee burns on mainnet.
04

Data Availability Sampling (DAS)

Blobs are designed to be compatible with future Danksharding. In this fully scaled vision, validators and users will use Data Availability Sampling (DAS) to probabilistically verify the availability of blob data without downloading it entirely. Blob-carrying transactions establish the format and propagation rules needed for this system, where nodes sample small, random chunks of each blob to ensure the data is published and can be reconstructed.

05

KZG Commitments & Proofs

Each blob is cryptographically committed to using KZG (Kate-Zaverucha-Goldberg) polynomial commitments. The transaction includes the KZG commitment and proof, not the full blob data, in the execution layer. This allows the consensus layer to efficiently verify that the provided blob data matches the commitment. This scheme is essential for enabling light clients and future scaling techniques to trustlessly verify data availability.

06

Pruning & Historical Data

Blob data is not stored permanently on the Beacon Chain. After the blob data availability window (currently 4096 epochs, ~18 days), the data is pruned and becomes unavailable from consensus nodes. This is acceptable because rollups only need the data to be available long enough for fraud proofs or state commitments to be settled. Long-term data storage is the responsibility of Layer 2s, block explorers, and data availability committees.

security-considerations
BLOB-CARRYING TRANSACTION

Security & Data Availability Guarantees

A blob-carrying transaction is a specialized transaction type that publishes large data packets (blobs) to the blockchain, designed to be cheap and ephemeral while ensuring the data is available for verification.

01

Core Mechanism

A blob-carrying transaction bundles two key components:

  • Execution Payload: Standard transaction data (sender, recipient, calldata) processed by the EVM and stored permanently.
  • Blob Data: Large, off-chain data (up to ~128 KB per blob) referenced by a commitment in the transaction. This data is posted to the consensus layer and is only guaranteed to be available for a short retention period (e.g., 18 days in Ethereum's EIP-4844).
02

Data Availability Guarantee

The primary security guarantee is that blob data is made available for network participants to download and verify. This is enforced by consensus-layer validators who attest to the availability of the data referenced by the KZG commitment. Data availability sampling (DAS) allows light clients to probabilistically verify this availability without downloading the entire blob, forming the foundation for secure Layer 2 scaling.

03

Cost & Ephemeral Nature

Blobs are priced via a separate blob gas market, distinct from EVM execution gas, making data posting orders of magnitude cheaper than calldata. Their data is not stored long-term by Ethereum execution clients, reducing node storage burdens. After the retention period, nodes prune blob data, relying on the assumption that users and rollups have stored what they need.

04

Primary Use Case: Rollups

Blob-carrying transactions are the intended data solution for optimistic rollups and ZK-rollups. Instead of posting expensive transaction data as calldata, rollups post compressed batch data as blobs. This drastically reduces Layer 1 costs while maintaining the security guarantee that the data is available for fraud proofs or state reconstruction.

05

KZG Cryptographic Commitments

Each blob is accompanied by a KZG commitment, a polynomial commitment that acts as a succinct cryptographic fingerprint. This allows for:

  • Efficient verification that the downloaded blob data matches the commitment.
  • Construction of proofs of possession, ensuring the blob carrier actually possesses the data.
  • Enabling future upgrades like proto-danksharding where the commitment can be used to reconstruct missing data shards.
06

Contrast with Calldata

FeatureCalldataBlob Data
StoragePermanent, on-chainEphemeral (~18 days), off-chain
CostHigh (execution gas)Low (blob gas)
EV AccessFully accessible to EVMNot accessible to EVM, only via commitment
PurposeContract execution logicBulk data availability for L2s
BLOB-CARRYING TRANSACTIONS

Technical Deep Dive

Blob-carrying transactions are a specialized Ethereum transaction type introduced with EIP-4844 (Proto-Danksharding) to provide a low-cost data layer for Layer 2 rollups.

A blob-carrying transaction is an Ethereum transaction that includes one or more large, temporary data packets called blobs in a new transaction format. It was introduced via EIP-4844 (Proto-Danksharding) to create a dedicated, low-cost data availability layer for Layer 2 rollups. Unlike calldata, which is stored permanently on-chain, blob data is only accessible to consensus nodes and Layer 2s for a short period (approximately 18 days) before being pruned, significantly reducing the long-term storage burden and associated costs. The transaction itself contains a small commitment to the blob data, which is posted to the Beacon Chain.

BLOB-CARRYING TRANSACTIONS

Frequently Asked Questions

Blob-carrying transactions are a core component of Ethereum's scaling strategy, introduced with EIP-4844 (Proto-Danksharding). These FAQs address their purpose, mechanics, and impact on developers and users.

A blob-carrying transaction is a new Ethereum transaction type that includes a large, temporary data packet called a blob to provide cheap, high-volume data availability for Layer 2 rollups. It works by attaching up to six blobs (each ~128 KB) to a standard transaction. The transaction's execution payload is processed normally by the Ethereum Virtual Machine (EVM), while the blob data is posted separately to the consensus layer and stored only for a short blob retention period (currently 4096 epochs, ~18 days). This separation allows the data to be verified as available for rollup proofs without burdening the EVM's permanent storage, drastically reducing the cost of posting data compared to using calldata.

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-Carrying Transaction: Modular Blockchain Data | ChainScore Glossary