Skip to content

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:

Regular transaction + Blob data = Blob-carrying transaction

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

  • EIP-4844
  • Proto-Danksharding
  • Data Availability
  • Layer 2
  • Rollup
  • KZG Commitments
  • PeerDAS
  • Dencun