A blob transaction is a new transaction format introduced by EIP-4844 (Proto-Danksharding). Its primary purpose is to provide a dedicated, low-cost data channel for layer-2 rollups like Optimism and Arbitrum. Unlike standard transactions where data is stored permanently in the execution layer's state, blob data is posted to the consensus layer and is only accessible for a short period, typically about 18 days. This temporary storage model is the key innovation that enables significantly cheaper data availability compared to using calldata.
Blob Transaction
What is a Blob Transaction?
A blob transaction is a specialized Ethereum transaction type that carries large, temporary data packets called data blobs, designed to drastically reduce the cost of layer-2 rollup data.
The transaction structure contains two main components: the standard execution payload and one or more blobs. Each blob is a binary large object (BLOB) of approximately 128 KB. The execution payload includes the transaction's core details (sender, recipient, value), while the blob data is referenced via a commitment (a KZG polynomial commitment) and stored separately. This separation allows the Ethereum Virtual Machine (EVM) to verify the blob's existence and authenticity without needing to process the full data, keeping execution efficient.
The economic model for blobs uses a distinct fee market, separate from the standard gas market for execution. This creates a multi-dimensional EIP-1559 fee market, where blob fees are determined by demand for data space and are burned. The temporary nature of the data—blobs are pruned after the blob expiry window—means nodes are not burdened with storing this data indefinitely, which is the fundamental reason costs remain low for rollups and, by extension, end-users.
For developers and users, the primary interaction with blob transactions is indirect, through layer-2 networks. Rollup sequencers batch thousands of transactions, compress the data, and post it to Ethereum as a blob. This data is essential for fraud proofs (in optimistic rollups) or validity proofs (in ZK-rollups). Wallets and block explorers display blob transactions with specific fields like blobGasUsed, blobGasPrice, and the count of blobVersionedHashes.
The long-term roadmap for blob transactions leads to full Danksharding, where the network's capacity for blobs will scale to 64 per block, further decentralizing rollups and enabling massive throughput. Blob transactions represent a critical scaling milestone, shifting Ethereum's role for rollups from a costly permanent data ledger to a highly efficient, temporary data availability layer.
Etymology & Origin
The term 'blob transaction' is a technical neologism specific to blockchain scaling, combining a descriptive computing term with a core cryptographic concept.
The word blob is a long-standing computing term, a backronym for Binary Large OBject. It describes a large, unstructured chunk of data stored as a single entity in a database. In the context of Ethereum's EIP-4844 (Proto-Danksharding), a blob refers to a dedicated data packet carrying layer 2 rollup transaction data, which is large (up to ~128 KB) and treated as an opaque binary object by the execution layer.
The transaction component is drawn directly from blockchain fundamentals, denoting a cryptographically signed instruction that initiates a state change. A blob transaction is therefore a new transaction type that includes a commitment to this external blob data. Its design is a direct evolution from earlier data-saving proposals like data gas and calldata, but it is structurally distinct because the blob data is not accessible to the Ethereum Virtual Machine (EVM) and is pruned after a short period (~18 days).
The full term's origin is tightly linked to Dankrad Feist and the Proto-Danksharding proposal, which laid the groundwork for full danksharding. The name effectively describes its function: a transaction that posts a 'blob' of data to be temporarily available for verification. This etymology highlights its role as a bridge technology, optimizing data availability for rollups today while establishing the architectural framework for Ethereum's future sharded data layer.
How a Blob Transaction Works
A blob transaction is a specialized Ethereum transaction type introduced by EIP-4844 that posts large data packets, known as data blobs, to the beacon chain for temporary storage, enabling a new, low-cost data availability layer for Layer 2 rollups.
A blob transaction is a standard Ethereum execution-layer transaction with an added component: a commitment to one or more data blobs stored separately on the beacon chain. The transaction itself includes a small blob_versioned_hashes field, which points to the blob data, while the large blob data (up to ~128 KB per blob) is posted to and propagated through the consensus layer. This separation is key—the execution layer only processes the transaction's core elements (sender, recipient, value, calldata), while the consensus layer handles the bulky blob data, making it available for a short period.
The core innovation is the use of KZG commitments (Kate-Zaverucha-Goldberg) for cryptographic verification. When a user submits a transaction, they generate a KZG commitment and proof for the blob data. The commitment is included in the transaction, and the actual blob is sent to the beacon chain. Nodes can then verify that the blob data matches the commitment without downloading the full blob, a process known as data availability sampling. This ensures Layer 2 networks can trust that the data is available for state verification without imposing the full storage burden on all Ethereum nodes.
After a fixed period, currently 4096 epochs (~18 days), the blob data is pruned from the beacon chain nodes. This temporary data availability is sufficient for the fraud proof or validity proof window of Layer 2 rollups, which need the data to be available long enough to challenge state transitions. By not burdening the Ethereum Virtual Machine (EVM) with this data permanently, blob transactions provide data at a cost roughly 10-100x cheaper than equivalent calldata, dramatically reducing Layer 2 transaction fees while maintaining Ethereum's security guarantees for data availability.
Key Features of Blob Transactions
Blob transactions, introduced by EIP-4844 (Proto-Danksharding), are a new Ethereum transaction type designed to reduce Layer 2 rollup data costs by temporarily storing data in a dedicated, low-cost data layer.
Data Blobs
A blob is a large, fixed-size packet of data (~128 KB) attached to a transaction. Unlike calldata, blob data is not accessible to the EVM and is stored separately in the Beacon Chain consensus layer. This separation is key to reducing execution layer load and cost. Each transaction can carry up to 6 blobs.
Blob Gas Market
Blobs use a separate blob gas fee market, distinct from the standard EIP-1559 execution gas. This creates independent pricing for data availability, preventing competition with regular transactions. The target is 3 blobs per block, with a maximum of 6, and fees adjust dynamically based on blob demand.
Temporary Storage & Pruning
Blob data is not stored permanently on Ethereum. Nodes are only required to hold blob data for ~18 days (4096 epochs), after which it can be safely pruned. This temporary storage model significantly reduces the long-term state bloat and hardware requirements for nodes while providing sufficient data availability for rollup fraud proofs.
KZG Commitments
Each blob is cryptographically committed to using KZG polynomial commitments. The transaction only includes a small, fixed-size commitment (~48 bytes), not the full blob data. This allows for efficient verification that the data is available and correct without needing to publish it on-chain during execution.
Cost Reduction for Rollups
The primary purpose of blob transactions is to drastically lower data availability costs for Layer 2 rollups (Optimistic and ZK). By moving bulk data to this cheaper temporary storage, rollups can post their transaction data (calldata) for a fraction of the previous cost, reducing fees for end-users.
Proto-Danksharding
EIP-4844 is known as Proto-Danksharding. It implements the core data structure (blobs) and fee market for full Danksharding, a future upgrade that will scale data availability further by distributing blob data across a committee of validators, enabling potentially 64+ blobs per block.
Blob Data vs. Calldata: A Comparison
A technical comparison of data storage locations for Ethereum transactions, highlighting the trade-offs introduced by proto-danksharding.
| Feature | Calldata (Legacy) | Blob Data (EIP-4844) |
|---|---|---|
Primary Purpose | Execute contract logic, pass function arguments | Store large, inexpensive data for Layer 2s |
Data Location | On-chain execution layer, part of block body | Off-chain, referenced via commitment in block header |
Persistence | Permanent, full node history | Temporary (~18 days), then pruned by nodes |
Gas Cost Model | Priced per byte (16 gas non-zero, 4 gas zero) | Priced per blob (~0.001 ETH, independent of content) |
Access in EVM | Fully accessible via | Inaccessible; only KZG commitment & versioned hash verifiable |
Max Size per Tx | Block gas limit constrained (~100KB typical) | Fixed at ~128 KB per blob (131,072 bytes) |
Scalability Impact | High cost for bulk data, limits L2 throughput | Designed to reduce L2 data posting costs by ~100x |
Node Storage Burden | High, grows linearly with chain history | Low, data is ephemeral for execution layer |
Ecosystem Usage & Adoption
Blob transactions are a specialized Ethereum transaction type designed to post large batches of off-chain data (blobs) to the network at a low cost, primarily to facilitate Layer 2 scaling solutions.
Core Purpose: L2 Data Availability
The primary use case for blob transactions is providing cost-effective data availability for Layer 2 rollups (Optimistic and ZK). Instead of posting full transaction data directly to Ethereum's execution layer, rollups post compressed data as a blob to the beacon chain. This data is essential for anyone to reconstruct the L2 state and verify proofs, ensuring security while drastically reducing fees compared to calldata.
EIP-4844: Proto-Danksharding
Blob transactions were introduced by EIP-4844 (Proto-Danksharding). This upgrade created a new transaction format and a separate blob-carrying gas market. Key mechanisms include:
- Blob Gas: A separate fee market that prevents congestion from blobs from affecting standard Ethereum gas prices.
- Blob Storage: Data is stored in the beacon node for approximately 18 days (4096 epochs), a sufficient window for all parties to sync and verify.
- KZG Commitments: Blobs are committed to using KZG polynomial commitments, allowing for efficient verification of data availability without downloading the entire blob.
Impact on Rollup Economics
By providing a dedicated, low-cost data layer, blob transactions have significantly reduced operational costs for rollup sequencers. This cost saving is typically passed on to end-users in the form of lower L2 transaction fees. The separation of data posting from execution allows Ethereum to scale data capacity independently, a foundational step towards the full Danksharding vision where multiple blobs per block become standard.
Adoption by Major L2s
Following the activation of EIP-4844, all major Layer 2 networks rapidly integrated support for posting data via blobs. This includes:
- Optimism (OP Mainnet)
- Arbitrum
- Base
- zkSync Era
- Starknet The migration from using calldata to blobs for data availability was a coordinated, ecosystem-wide effort that marked a new phase in scalable Ethereum transaction processing.
Client & Infrastructure Support
Widespread adoption required upgrades across the entire Ethereum stack:
- Execution Clients (e.g., Geth, Nethermind, Erigon): Updated to process new transaction types and validate blob commitments.
- Consensus Clients (e.g., Prysm, Lighthouse): Modified to store and serve blob data from the beacon chain.
- RPC Providers: Enhanced endpoints (e.g.,
eth_getBlobSidecars) to allow users and builders to query blob data. - Block Explorers: Updated to display and decode blob transaction details.
The Path to Danksharding
Proto-Danksharding (EIP-4844) is the first major step toward full Danksharding. Current usage is paving the way for future upgrades by:
- Establishing the core blob transaction framework.
- Testing the blob gas market in production.
- Providing real-world data on bandwidth and storage requirements.
- Preparing infrastructure for scaling to 16+ blobs per block, which will exponentially increase data availability capacity for rollups.
Evolution & The Path to Danksharding
This section details the architectural evolution of Ethereum's data availability layer, tracing the technical progression from early scaling concepts to the implementation of proto-danksharding (EIP-4844) and the future vision of full danksharding.
The Path to Danksharding is Ethereum's multi-phase roadmap to achieve scalable data availability through a technique called data sharding. This evolution began with the conceptual separation of execution and consensus, solidified by The Merge, which transitioned Ethereum to Proof-of-Stake. The next critical step was proto-danksharding, introduced via EIP-4844, which added a new transaction type—the blob-carrying transaction—to provide cheap, temporary data storage for Layer 2 rollups. This created a dedicated blobspace market, a precursor to a full sharded data layer.
Proto-danksharding, or EIP-4844, implemented a blob-augmented execution environment where rollup data is posted in large binary data objects called blobs. These blobs are attached to transactions but are not accessible to the Ethereum Virtual Machine (EVM); they exist purely for data availability. The blobs are stored by the consensus layer for a short period (approximately 18 days) before being pruned, significantly reducing node storage burdens while ensuring data is available long enough for fraud proofs and data sampling.
The architecture employs KZG polynomial commitments (a type of cryptographic commitment scheme) to create compact proofs that the blob data is available and correctly formatted. This allows nodes to efficiently verify data without downloading the entire blob. The system introduces new concepts like the blob gas market, which is separate from the main execution gas market, and blob fee calibration via a targeting mechanism that adjusts costs to maintain an optimal number of blobs per block, typically aiming for three.
The final evolutionary stage is full danksharding, which will expand this prototype into a robust, horizontally scalable data layer. Full danksharding aims to increase the number of blobs per block from ~3 to 64, massively boosting data capacity. It will implement data availability sampling (DAS), where light clients and validators can securely confirm data availability by randomly sampling small pieces of the total data, enabling the network to safely scale without requiring any single node to process all the data.
This progression—from a monolithic chain to a rollup-centric ecosystem with proto-danksharding, and onward to a fully sharded data layer—represents a fundamental shift in blockchain design. It moves Ethereum towards becoming a settlement and data availability layer, where execution is primarily handled off-chain by L2s, and the base layer provides secure, abundant, and cheap space for publishing transaction data, enabling global-scale adoption.
Technical Deep Dive
A comprehensive breakdown of blob transactions, the core mechanism introduced by EIP-4844 to provide low-cost data availability for Ethereum Layer 2 rollups.
A blob transaction is a new Ethereum transaction type, introduced by EIP-4844 (Proto-Danksharding), that carries large data packets called blobs in a separate, ephemeral data layer. It works by including a commitment to the blob data in the main execution layer, while the blob data itself is stored temporarily by consensus nodes and is not accessible to the EVM. This separation allows Layer 2 rollups to post their data cheaply for a short period (approximately 18 days) to prove transaction validity, without permanently burdening Ethereum's state. The transaction includes a blob gas fee distinct from regular execution gas, priced by a separate market.
Key Components:
- Blob: The raw, off-chain data (up to ~128 KB per blob).
- KZG Commitment: A cryptographic proof linking the transaction to the blob data.
- Blob Gas: A new fee mechanism for blob data storage.
Frequently Asked Questions (FAQ)
Blob transactions are a core scaling mechanism introduced by Ethereum's Dencun upgrade. This FAQ addresses common technical questions about their purpose, mechanics, and impact on developers and users.
A blob transaction is a special type of Ethereum transaction that carries large data packets called blobs in a separate, low-cost data layer, designed primarily to reduce the cost of Layer 2 (L2) rollup data availability. It works by including a commitment to the blob data within the main execution layer block, while the blob data itself is stored temporarily (for ~18 days) on the consensus layer in the Beacon Chain. This separation allows the Ethereum Virtual Machine (EVM) to cryptographically verify the data's existence and availability without having to process it directly, drastically lowering gas fees for data-heavy operations. The blob data is eventually pruned, relying on the assumption that it has been sufficiently propagated and stored by nodes and third parties during its availability window.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.