A blob transaction is a special Ethereum transaction type, formalized by EIP-4844 (Proto-Danksharding), that carries large binary data objects called blobs in a separate, low-cost data layer. Unlike standard calldata, which is stored permanently on-chain, blob data is only accessible for a short data availability window—approximately 18 days—after which it is pruned, dramatically reducing the long-term storage burden on consensus nodes. The primary purpose of blob transactions is to provide an inexpensive and scalable source of data availability for Layer 2 rollups like Optimism and Arbitrum, allowing them to post their transaction data to Ethereum mainnet at a fraction of the previous cost.
Blob Transactions
What are Blob Transactions?
A new transaction type introduced by Ethereum's Dencun upgrade to provide cheap, temporary data storage for Layer 2 rollups.
The mechanism relies on a multi-dimensional fee market. Blob transactions pay two separate gas fees: one for standard execution and a separate fee for the blob data, priced in a new unit called blob gas. This creates a distinct pricing market for data, decoupling it from the congestion of the main execution layer. Validators and clients store blob data temporarily in a blob sidecar, ensuring the data is available for nodes and rollups to download and verify during the critical window. This architecture is a precursor to full Danksharding, which will further scale data capacity by distributing blob storage across the validator set.
For developers and users, the most immediate impact of blob transactions is drastically reduced L2 transaction fees. By moving bulk data off the expensive main execution calldata and onto this dedicated data layer, rollups can pass significant cost savings to end-users. The BLOB opcode (0x0A) allows smart contracts within the Ethereum Virtual Machine (EVM) to read the data from blobs attached to the current block, enabling verification of commitments. Key related concepts include the KZG polynomial commitments used to cryptographically commit to blob contents and data availability sampling, which will be used in full Danksharding to allow light nodes to verify data availability efficiently.
Etymology
The term 'blob transaction' is a technical descriptor for a specific data structure introduced in Ethereum's Dencun upgrade. Its name is a direct and functional acronym.
The term blob transaction originates from the technical descriptor Binary Large OBject transaction. This nomenclature directly references the core innovation of Ethereum's EIP-4844 (Proto-Danksharding): a transaction that carries a large, dedicated data packet—the blob—separate from the standard transaction calldata. The acronym BLOB is a well-established term in computer science for storing unstructured binary data, making it a fitting label for this new carrier of off-chain data.
The conceptual lineage of blob transactions is deeply tied to scaling research, particularly Danksharding. The 'blob' prefix was adopted to distinguish this data type from regular calldata and to signify its temporary, non-execution nature. Unlike standard transaction data, which is processed by the Ethereum Virtual Machine (EVM), blob data is designed to be cheaply available for a short period (approximately 18 days) for layer-2 rollups to verify proofs, after which it can be pruned. This ephemeral characteristic is central to its economic and scaling model.
The full terminology includes related constructs like the blob-carrying transaction (the wrapper that includes the blob), the blob data itself, and blob gas, a new fee market for pricing this dedicated data space. The etymology reflects a deliberate design choice to create a distinct, purpose-built data pathway for rollups, moving away from overloading the existing calldata mechanism and paving the way for a more scalable, modular blockchain architecture.
Key Features
Blob transactions are a specialized transaction type introduced by EIP-4844 that temporarily stores large data packets off-chain to dramatically reduce L2 transaction costs.
Proto-Danksharding
Blob transactions are the core implementation of Proto-Danksharding, the precursor to full Danksharding. They introduce a new transaction format with a blob-carrying field that holds data in a compressed, versioned format. This data is not accessible to the EVM but is committed to and verified by the consensus layer, enabling secure and cheap data availability for Layer 2 rollups.
Data Availability vs. Execution
A key innovation is the separation of data availability from execution. The blob data itself is not processed by execution clients; it is only made available for a short period (currently ~18 days). Rollup nodes download this data to reconstruct state, while the execution layer only processes a small commitment (a KZG polynomial commitment) to the blob, keeping gas costs minimal.
Blob Gas Market
Blobs use a separate blob gas market with its own fee mechanism, distinct from the standard EIP-1559 gas for execution. This creates a dedicated resource pricing layer for data, preventing competition with regular transactions. The target is 3 blobs per block, with fees adjusting dynamically based on demand for blob space.
KZG Commitments & Proofs
Each blob is accompanied by a KZG commitment, a cryptographic proof that allows nodes to verify the data's availability and correctness without downloading the entire blob. This uses KZG polynomial commitments (a type of vector commitment), which are efficient for verification and form the trust basis for data availability sampling in future sharding.
EIP-4844 Specification
The technical standard is defined by EIP-4844. It specifies:
- A new transaction type (
TransactionType=3) - The
blob_versioned_hashesfield in the transaction - A new
BLOB_BASE_FEEopcode for the EVM - Beacon chain logic for validating and storing blob sidecars This upgrade is a foundational step towards a scalable, modular blockchain architecture.
Impact on Layer 2 Rollups
Blob transactions are designed primarily to reduce costs for Optimistic Rollups and ZK-Rollups. Before blobs, rollups posted call data directly to calldata, a costly on-chain storage. By posting to blobs instead, L2 transaction fees can be reduced by 10-100x, making Ethereum scaling solutions significantly more affordable for end-users.
How Blob Transactions Work
Blob transactions are a new Ethereum transaction type designed to provide low-cost data availability for Layer 2 rollups, separating data storage from execution.
A blob transaction is a standard Ethereum transaction that carries an extra piece of data called a blob (Binary Large OBject) in a new format known as blob-carrying transactions. This blob is a packet of up to ~128 KB of raw data, typically containing compressed Layer 2 rollup transaction batches. The core innovation is that this data is posted to the consensus layer (Beacon Chain) but is not accessible to the execution layer (EVM), making it cheaper than calldata. A critical mechanism is the blob gas market, a separate fee market from standard EIP-1559 gas that dynamically prices blob space, preventing network congestion from data posting.
The lifecycle of a blob involves several stages. First, a rollup sequencer constructs a blob and submits it within a blob transaction. The Ethereum network validates and confirms the transaction, storing the blob's KZG commitments and versioned hashes on-chain. The actual blob data is only held by consensus layer nodes for a short blob retention period (currently 4096 epochs, ~18 days). After this period, the data is pruned, but its availability is guaranteed because the commitments allow anyone to reconstruct it using Data Availability Sampling (DAS). This separation—keeping data available for verification but not permanently on-chain—is the key to scalability.
For developers and users, the process is largely abstracted. Layer 2 networks handle blob construction and submission. End-users signing transactions on an L2 may have their data eventually batched into a blob. To verify data, light clients or validators can perform DAS by randomly sampling small sections of the blob; successful sampling proves the entire dataset is available. This trust-minimized verification is fundamental to proto-danksharding, the initial phase of Ethereum's danksharding roadmap. The BLOBHASH opcode allows smart contracts in the execution layer to reference the versioned hash of a blob in the same block, enabling verification logic without direct data access.
The economic and security model is distinct. Blob transactions pay two separate gas fees: one for execution and one for blob gas, which is burned via EIP-1559. The blob gas price is adjusted per block based on demand for the limited blob slots (currently 6 per block). This design ensures that high demand for L2 data posting does not inflate gas costs for simple ETH transfers or DeFi swaps. The temporary storage model reduces the perpetual storage burden on nodes while maintaining security, as the commitment cryptographically secures the data for the entire retention window, long enough for any fraud proof challenge to be submitted.
Visual Explainer: The Blob Lifecycle
A step-by-step breakdown of how blob-carrying transactions are created, propagated, and pruned on the Ethereum network, detailing the journey of data from submission to deletion.
A blob transaction is a specialized Ethereum transaction type, introduced by EIP-4844, that carries large data packets called blobs in a separate, low-cost data layer. Unlike calldata, which is stored permanently on-chain, blob data is designed for temporary availability, significantly reducing the cost for Layer 2 rollups to post their transaction data. This transaction format is the core mechanism enabling proto-danksharding, a precursor to full danksharding, by creating a new, high-volume data market.
The lifecycle begins when a user or, more commonly, a rollup sequencer constructs and signs a blob transaction. This transaction includes the standard execution payload and attaches one or more blobs—each a 128 KB chunk of data committed to via a KZG commitment. The transaction is then broadcast to the network, where validators bundle it into a block. Crucially, the blob data itself is transmitted and validated separately through a peer-to-peer network, ensuring its availability for a fixed period.
Once included in a beacon block, the blob enters its availability window, typically lasting 4096 epochs (approximately 18 days). During this time, the blob data must remain accessible for nodes to download and verify against its KZG commitment. This guarantees that Layer 2 networks or anyone else can reconstruct the rollup's state. After this window expires, the blob data is pruned from the network's active storage. Only the small KZG commitments remain permanently in the consensus layer, acting as a cryptographic proof that the data was once available.
Ecosystem Usage
Blob transactions are a specialized transaction type introduced in Ethereum's Dencun upgrade to provide a dedicated, low-cost data channel for Layer 2 rollups. Their primary use case is to post transaction data and cryptographic proofs off-chain while maintaining data availability.
Layer 2 Data Availability
Layer 2 rollups (Optimistic and ZK) are the primary users of blob transactions. They use blobs to post batched transaction data and, in the case of ZK-Rollups, validity proofs to Ethereum. This data is essential for anyone to reconstruct the L2 state and verify its correctness, ensuring trustless security. The separation of this data from the main execution layer is what enables dramatically lower fees for L2 users.
EIP-4844 (Proto-Danksharding)
Blob transactions are defined by EIP-4844, known as proto-danksharding. This upgrade introduced a new transaction format with a blob-carrying field and a separate blob gas market. Key mechanisms include:
- Blob Gas: A separate fee market from standard execution gas, priced based on blob supply and demand.
- Blob Expiry: Data in blobs is automatically pruned by nodes after approximately 18 days (4096 epochs).
- KZG Commitments: Blobs use KZG polynomial commitments for efficient cryptographic verification of data availability.
Cost Structure & Fee Savings
Blobs provide cost savings by being temporary and non-executable. Unlike calldata, blob data is not accessed by the Ethereum Virtual Machine (EVM), allowing for optimized storage and pricing. The blob gas price is determined independently from standard gas, often resulting in costs that are 10-100x cheaper than equivalent calldata. This predictable, low-cost data layer is critical for scaling L2 transaction throughput economically.
Data Availability Sampling (Future)
Proto-danksharding lays the groundwork for full danksharding. In the future, the blob space will expand from ~0.75 MB per block to ~16 MB. Full danksharding will enable Data Availability Sampling (DAS), where light clients and validators can verify data availability by randomly sampling small pieces of the blob. This allows the network to securely scale data capacity without requiring any single node to download the entire dataset.
Client & Node Implementation
Ethereum execution and consensus clients had to implement new logic to handle blobs. Key components include:
- Execution Client (e.g., Geth, Nethermind): Validates blob transactions, manages the blob gas market, and makes blob data available via the Engine API.
- Consensus Client (e.g., Prysm, Lighthouse): Propagates blobs across the peer-to-peer network and includes blob sidecars in beacon blocks.
- Blob Storage: Nodes store blobs in a temporary blob sidecar cache, typically for the 18-day retention period.
Tooling & Developer APIs
A new ecosystem of tooling has emerged to interact with blob data. Key interfaces include:
- Beacon API
/eth/v1/beacon/blob_sidecars/{block_id}: Retrieves blob sidecars for a given beacon block. - Engine API
engine_getBlobV1: Used by execution clients to fetch blob data. - EIP-4844 Specific RPCs: Methods like
eth_blobGasPricequery the current blob gas market. - Data Indexers: Services that persist blob data long-term for historical access, as nodes prune it after ~18 days.
Comparison: Blob Data vs. Calldata
A technical comparison of the two primary data storage and transmission methods on Ethereum, highlighting the cost and scalability trade-offs introduced by proto-danksharding.
| Feature | Calldata | Blob Data |
|---|---|---|
Primary Purpose | Smart contract execution input | Low-cost data availability for Layer 2s |
Storage Location | Permanently on-chain in block body | Off-chain, with commitment in block |
Persistence | Permanent (full history) | Temporary (~18 days via EIP-4444) |
Gas Cost Model | Priced per byte (non-zero/zero) | Priced per blob via base fee multiplier |
Typical Cost (Relative) | High | ~10-100x cheaper for bulk data |
Execution Access | Directly readable by EVM | Not accessible to EVM; verified off-chain |
Data Verification | Full data on-chain | KZG polynomial commitment & proof |
Throughput Limit | ~100 KB per block (gas limit) | ~1.3 MB per block (3 blobs of ~128 KB each) |
Security & Economic Considerations
Blob transactions introduce a new data structure to scale Ethereum, separating large data from execution. This section details the security model and economic incentives that govern their use.
Blob Gas Pricing
Blob gas is priced independently from standard execution gas using an EIP-1559-style mechanism. A separate base fee targets 3 blobs per block, adjusting based on network demand. This creates a distinct fee market, preventing competition between blob data and standard transactions. The base fee for blobs is burned, providing a deflationary pressure on ETH supply.
Data Availability Guarantees
The primary security guarantee of blob transactions is data availability (DA). For a fixed period (currently 4096 epochs, ~18 days), blob data is made available for Layer 2s or anyone to download and verify. This window allows for fraud proofs in optimistic rollups and data availability sampling in validity rollups. After this period, nodes prune the data, relying on the assumption it was available.
Pruning & Historical Data
To control state growth, nodes automatically prune (delete) blob data after the 18-day retention window. This makes blobs a short-term data availability solution. Applications requiring permanent storage must independently ensure data persistence. Services like blob explorers, indexers, and data availability committees may archive this data, but reliance on them introduces additional trust assumptions.
Validator Responsibilities & MEV
Validators are responsible for propagating and making blob data available. Failure to do so can lead to slashing or missed rewards. The separation of blob and execution markets can create new Maximal Extractable Value (MEV) opportunities, such as arbitraging between the two fee markets or censoring specific types of data. Proposer-Builder Separation (PBS) designs must account for this new data dimension.
Economic Incentives for Rollups
Blobs provide a cost-efficient data layer for Layer 2 rollups. By moving data off-chain into blobs, rollups reduce their transaction costs by ~10-100x compared to using calldata. This economic model incentivizes rollup adoption while ensuring the Ethereum base layer is compensated via blob gas burns. The stability of blob gas fees is critical for predictable L2 user costs.
Security vs. Cost Trade-offs
Using blobs involves explicit trade-offs:
- Lower Cost: Significantly cheaper than calldata.
- Temporary Data: Data is not permanently stored on-chain.
- Throughput Limits: Target of 3 blobs/block (0.375 MB) creates a constrained resource.
- Protocol Complexity: Introduces a new gas market and client logic. Applications must choose between the high-security, permanent storage of calldata and the cost-optimized, temporary storage of blobs.
Evolution & Future: From Proto-Danksharding to Full Danksharding
This section details Ethereum's multi-phase scaling strategy, which uses a novel data availability architecture to exponentially increase network capacity while preserving decentralization.
The path from Proto-Danksharding (EIP-4844) to Full Danksharding represents Ethereum's methodical, rollup-centric roadmap for achieving scalable data availability. This evolution is designed to lower transaction costs for Layer 2 rollups by orders of magnitude, transitioning from a temporary blob-carrying transaction format to a fully sharded data layer. The core innovation, Danksharding, introduces a paradigm where block proposers and builders are separated from the responsibility of attesting to data availability, a task delegated to a specialized committee.
Proto-Danksharding, implemented via EIP-4844, introduced blob transactions as a precursor to full sharding. These transactions carry large data "blobs" that are cheap to post because they are not permanently stored by Ethereum execution clients and are not accessible to the EVM. Instead, they are stored temporarily by consensus clients, just long enough for rollups to verify and process the data. This creates a dedicated data availability market separate from gas competition for execution, dramatically reducing L2 costs as an interim solution.
The transition to Full Danksharding expands this model from a single blob per block to 64 data blobs per slot, effectively creating multiple shards for data. Key technical components enable this: Data Availability Sampling (DAS) allows light clients to verify data availability with minimal downloads, KZG polynomial commitments provide cryptographic proofs of data integrity, and a distributed block builder architecture separates block building from proposal. The Builder-Blockchain API (BAPI) and crLists ensure censorship resistance within this new design.
This architectural shift fundamentally changes validator responsibilities. In Full Danksharding, validators no longer need to download the entire sharded data set. Through DAS, they randomly sample small segments of each blob. Only if a threshold of samples is unavailable do they need to download the full data to reconstruct it and identify malicious block builders. This keeps hardware requirements low and maintains Ethereum's decentralized validator set while supporting massive data throughput estimated at 1.3 MB per slot or ~40 TB per year.
The end-state of Full Danksharding positions Ethereum as a robust settlement and data availability layer. Rollups will post their transaction data to this high-throughput, low-cost data layer, while execution and state growth remain managed on L2. This completes the vision of a modular blockchain stack, where Ethereum provides security and data availability, and rollups provide scalable, specialized execution. Future upgrades may focus on further refinements, such as PeerDAS for more efficient data distribution or increased blob counts.
Frequently Asked Questions (FAQ)
Common questions about Ethereum's blob-carrying transactions, a core scaling mechanism introduced by EIP-4844 (Proto-Danksharding).
A blob transaction is a new Ethereum transaction type introduced by EIP-4844 that carries large data packets called blobs in a separate, low-cost data layer. It works by including a commitment to the blob data in the main execution layer while storing the actual blob data in the Beacon Chain consensus layer for a short period (approximately 18 days). This separation allows Layer 2 rollups to post data cheaply without burdening Ethereum's execution layer with permanent storage costs, significantly reducing transaction fees for end-users.
Key Mechanism:
- A transaction includes a
blob_versioned_hashesfield pointing to the blob data. - Validators and clients temporarily store and propagate blobs.
- After the retention window, blob data is pruned, but its commitment remains secured by Ethereum consensus.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.