Blob¶
Introduction¶
Blob (Binary Large Object) is a new data storage mechanism introduced to Ethereum through EIP-4844 during the Dencun upgrade (March 2024). Blobs are temporary data segments attached to transactions, specifically designed to provide cheap data availability space for Layer 2 Rollups, and are a key component of Ethereum's scaling strategy.
Unlike CALLDATA, which is permanently stored on-chain, blob data is only temporarily stored on the consensus layer for approximately 18 days, making its pricing far lower than traditional on-chain storage and significantly reducing operational costs for L2 networks.
Technical Characteristics¶
Data Specifications¶
Capacity Parameters: - Single blob size: 128 KB (precisely 131,072 bytes) - Initial target: 3 blobs per block (Dencun) - Initial maximum: 6 blobs per block (Dencun) - Post-Pectra: Target of 6, maximum of 9 - Total capacity: Up to 1.125 MB/block (9 x 128 KB)
Storage Characteristics: - Stored on the Beacon Chain's consensus layer - Lifecycle of approximately 18 days (4,096 epochs) - Automatically pruned after expiration - Third-party archival services can optionally retain historical data
Payment Rules: - Even if the full 128 KB is not utilized, the sender must still pay for the complete 128 KB blob space - Uses an independent blob gas pricing mechanism
EVM Inaccessibility¶
The unique design of blob data: - Invisible to the execution layer: The Ethereum Virtual Machine (EVM) cannot directly read blob contents - Reference only: The execution layer can only access commitments and references to blob data - Consensus layer exclusive: Blob data is downloaded and stored by beacon nodes - Verification mechanism: Data integrity and availability are guaranteed through KZG commitments
This design ensures that blobs do not compete with regular transactions for valuable EVM execution space, while providing sufficient data availability guarantees.
Blob-Carrying Transactions¶
Blob-Carrying Transaction¶
EIP-4844 introduced a new transaction type:
Transaction Structure: - Contains all standard transaction fields (from, to, value, gas, etc.) - Attaches one or more blobs - Includes KZG commitments for the blobs - Uses independent blob gas limits and pricing
Submission Process: 1. The L2 Sequencer encodes batch transaction data into blobs 2. Creates and signs a blob-carrying transaction 3. Submits to the Ethereum mainnet 4. Validators verify blob availability 5. The transaction is included in a block 6. Blob data becomes accessible on the consensus layer
Pricing Mechanism¶
Multi-Dimensional Fee Market¶
Based on the EIP-1559 dynamic pricing model, but independent of regular gas:
Blob Gas Price Calculation: - Base fee: Dynamically adjusted based on network blob utilization - Target utilization: 3 blobs per block (Dencun), 6 (Pectra) - Above target: Base fee increases - Below target: Base fee decreases
No Block Space Competition: - Blob transactions do not compete with regular transactions for gas limits - They have an independent blob gas limit - This reduces the unpredictability of L2 costs - Provides more stable data publishing fees
Cost Advantages¶
Compared to traditional CALLDATA: - CALLDATA: Permanent storage, 16 gas/byte (non-zero), 4 gas/byte (zero) - Blob: Temporary storage, price fluctuates with market but typically far lower than CALLDATA - Fee reduction: L2 fees reduced 10-100x after using blobs - Real-world examples: Arbitrum and Optimism saw fees decrease by 90% after Dencun
Value for Layer 2¶
Rollup Data Publishing¶
Optimistic Rollups: - Encode transaction batch data into blobs - Submit to mainnet as data availability proof - Anyone can download and verify during the challenge period - Significantly reduces Sequencer operational costs
ZK Rollups: - Package transaction data into blobs - Simultaneously submit zero-knowledge proofs - Blobs provide data availability while proofs verify computational correctness - Achieve high throughput at low cost
Cost Savings¶
Data Publishing Cost Comparison: - Using CALLDATA: Expensive permanent storage fees - Using Blob: Only pay for temporary storage - Savings: Over 90% cost reduction - User benefit: Significant reduction in L2 transaction fees
Data Availability Guarantees¶
18-Day Window¶
Design Philosophy: - 18 days is long enough for all L2 participants to retrieve data - 18 days is short enough to avoid storage bloat - L2 nodes, validators, and bridges all have ample time to obtain data - Supports generation of fraud proofs and validity proofs
Retrieval Mechanism: - L2 full nodes automatically download relevant blobs - Light clients can verify through data availability sampling - Archive nodes can optionally retain historical data - Public archival services provide long-term access
Security¶
KZG Commitments: - Uses the KZG polynomial commitment scheme - Allows efficient verification of data integrity - Supports Data Availability Sampling (DAS) - Prevents data withholding attacks
Redundancy Guarantees: - Multiple validators store the same blob - Distributed network storage increases reliability - PeerDAS further optimizes storage distribution - Erasure coding provides additional redundancy
Scaling Roadmap¶
Current State (Post-Pectra)¶
- Target: 6 blobs per block
- Maximum: 9 blobs per block
- Total throughput: ~1.125 MB/block (12 seconds) = ~94 KB/second
PeerDAS (Fusaka)¶
- Introduces data availability sampling
- Validators only need to store ⅛ of blob data
- Lays the foundation for larger-scale scaling
- Supports further increases in blob count
Full Danksharding (Future)¶
- Target: 16 MB/second data throughput
- Hundreds of blobs per block
- Fully sharded data availability layer
- Supports massive L2 transaction volume
Monitoring and Tools¶
Blob Explorers: - Blobscan: Dedicated blob explorer - Etherscan Blobs: Etherscan's blob viewing feature - Beaconcha.in: Beacon chain explorer displaying blob data
Development Tools: - Web3.js / Ethers.js: Support for blob transaction creation - Blob encoding libraries: Encode data into blob format - Gas estimation tools: Calculate blob transaction fees
Recommended Reading¶
- EIP-4844: Shard Blob Transactions
- EIP-4844, Blobs, and Blob Gas - Blocknative
- Breaking Down Ethereum Blobs - Coin Metrics
- Guide to EIP-4844 and Blob Transactions - Cyfrin
- Data Blobs: New Efficiency and Challenges - Covalent
Related Concepts¶
- EIP-4844
- Proto-Danksharding
- Data Availability
- Layer 2
- Rollup
- KZG Commitments
- PeerDAS
- Dencun