Rollup data availability means independent participants can obtain the data they need to verify or reconstruct the state of a layer 2 rollup. On Ethereum, a rollup can publish that data in blobs, fixed-size packages with a separate charge called a blob fee. Tracking that charge helps explain why a rollup's posting costs can move even when the number of L2 transactions stays the same. Ethereum's data availability guide · EIP-4844
What goes into a blob?
An optimistic rollup can publish compressed transactions so independent nodes can replay them and challenge a disputed result. A validity rollup uses a proof to establish that the state transition is correct, and can publish state changes and supporting data, such as new contract bytecode, so nodes can reconstruct the new state. A blob's cryptographic commitment lets a node authenticate a copy of the data. Reconstruction still requires the data itself. Ethereum's guide to data availability and rollups · ZKsync's state reconstruction guide
Rollups can put data in Ethereum transaction calldata, which uses ordinary execution gas. EIP-4844 introduced blob-carrying transactions, which reference blobs by hash. Ethereum's consensus network distributes the payload separately, and Ethereum meters the payload in blob gas, so rollups can buy data space without paying execution gas for each payload byte. Every blob uses 131,072 blob gas, even when partly filled. For a given blob base fee, compression saves on the blob charge when it reduces the number of blobs the batch needs. EIP-4844 gas accounting and consensus validation
The price paid for two blobs
Suppose a fictional batch needs two blobs and is included in an Ethereum block with a blob base fee of 3 gwei per blob gas. At 131,072 blob gas each, the batch uses 262,144 blob gas. One gwei is one billionth of an ETH. Ethereum's denominations of ether
The sender's
max_fee_per_blob_gas sets the highest blob price the transaction can accept. With a cap of 5 gwei per blob gas, the transaction clears that price check at 3 gwei and pays 3 gwei per blob gas. If the block's blob base fee exceeds the cap, the transaction is ineligible for that block. The protocol burns the actual blob fee and charges it even if the included transaction reverts. The transaction also pays for ordinary Ethereum execution gas. EIP-4844 gas accounting · Execution-layer validity rulesThe block's price sets the blob charge. The gap up to the sender's cap is unused headroom.
To reconcile a real posting transaction, multiply
blobGasUsed by blobGasPrice on its Ethereum receipt. Record gasUsed times effectiveGasPrice separately as its execution charge. The fee charged to an L2 user follows the rollup's own schedule. OP Mainnet, for example, uses an estimate of the transaction's compressed size as an input to the user's L1 data fee. Ethereum execution API receipt schema · OP Mainnet's L1 data feeCapacity can change, and data can expire
The blob base fee responds to blob usage relative to a protocol target. Pectra raised the blob target and limit. Fusaka introduced PeerDAS, which adds redundant data so nodes can check availability by sampling pieces of blobs from peers. Blob Parameter Only forks can change capacity and how quickly prices adjust. Fusaka also made the blob fee update take the execution base fee into account under low blob prices. EIP-7691 · EIP-7594 · EIP-7892 · EIP-7918
Ethereum peers must serve the data columns they hold over a minimum window of 4,096 epochs, about 18 days on mainnet. Ethereum finality settles which block contained the blob reference. To replay the batch after that window, an auditor depends on the rollup or another archive for the underlying bytes and can verify the retrieved copy against the original commitment. Fulu peer-to-peer specification · Ethereum slot and epoch timing · Historical data retrievability
Sources
- Ethereum's data availability guide, consensus networking specification and block proposal guide.
- Ethereum improvement proposals 4844, 7691, 7594, 7892 and 7918.
- Ethereum's receipt schema, ether denominations, OP Mainnet's transaction fees and ZKsync's data availability documentation.