Ethereum blobs and calldata are both used to carry data, but they are designed for different purposes. Calldata is transaction data that is permanently included in Ethereum’s transaction history and can be read by smart contracts. Blobs are temporary data containers introduced by EIP-4844 that primarily help Layer 2 rollups publish data to Ethereum at a lower cost.
The simplest answer is:
Calldata is persistent transaction data used by smart contracts, while blobs are temporary data designed mainly for Layer 2 data availability.
Ethereum Blobs vs Calldata at a Glance
| Feature | Ethereum Calldata | Ethereum Blobs |
|---|---|---|
| Main purpose | Pass data to smart contracts | Provide data availability for rollups |
| Storage | Persistent transaction history | Temporary |
| Introduced | Original Ethereum transaction design | EIP-4844 |
| Fee mechanism | Regular gas | Separate blob gas |
| Smart contracts can read contents | Yes | No |
| Primary users | dApps and smart contracts | Layer 2 rollups |
| Designed for large data | Less cost-efficient | Yes |
| Permanent blockchain history | Yes | No |
| Main scaling role | Limited | Important |
What Is Ethereum Calldata?
Calldata is the data included in an Ethereum transaction that provides input to a smart contract.
When you interact with a decentralized application, your transaction may contain encoded calldata telling the smart contract what to do.
For example, a token transaction might include information such as:
- The function being called
- Recipient address
- Token amount
- Other function parameters
Calldata is read-only, meaning the smart contract can read it but cannot modify the original data.
Example of Calldata
A simplified transaction might look like:
To: 0xContract...
Value: 0 ETH
Data: 0xa9059cbb...
The Data field contains encoded information. The smart contract uses the contract’s ABI to interpret that information.
What Are Ethereum Blobs?
Ethereum blobs are temporary data containers introduced by EIP-4844, also known as Proto-Danksharding.
They were introduced as part of Ethereum’s Dencun upgrade in March 2024.
Blobs were primarily created to help Layer 2 rollups publish large amounts of transaction data to Ethereum more efficiently.
Instead of putting all rollup data into traditional calldata, rollups can use blobs for data availability.
The Biggest Difference: Permanence
One of the most important differences between blobs and calldata is how long the data is retained.
Calldata
Calldata becomes part of Ethereum’s permanent transaction history.
Blobs
Blob data is designed to be temporary. Ethereum nodes retain the blob data for a limited period rather than requiring it to remain permanently available as transaction history.
This distinction allows blobs to provide data availability without imposing the same long-term storage requirements as calldata.
Blobs vs Calldata: How They Are Priced
Another major difference is the fee market.
Calldata Uses Regular Gas
Ethereum charges regular gas for transaction data.
In general:
More calldata → more gas → higher transaction cost
Blobs Use Blob Gas
Blobs have a separate fee market called blob gas.
The blob gas price changes according to demand for blob space.
In simple terms:
High demand for blobs → higher blob fees
Low demand for blobs → lower blob fees
This separate market was specifically designed to make large-scale rollup data publication more economical.
Why Are Ethereum Blobs Cheaper for Rollups?
Before EIP-4844, Layer 2 rollups relied heavily on calldata to publish data to Ethereum.
Calldata has an important limitation: it becomes part of the permanent blockchain history.
Blobs provide a separate temporary data-availability mechanism.
This means rollups can publish large quantities of data without requiring that data to be maintained forever as ordinary transaction calldata.
As a result, blob data can be substantially cheaper than calldata for rollup data publication, although the actual cost depends on network demand.
Can Smart Contracts Read Ethereum Blobs?
Smart contracts cannot directly read the contents of blobs during transaction execution.
This is a fundamental difference from calldata.
A smart contract can directly access transaction calldata.
With blobs, Ethereum provides mechanisms for verifying and referencing blob data, but the complete blob contents are not directly available to the EVM in the same way calldata is.
This makes blobs suitable for data availability, rather than ordinary smart contract function inputs.
Why Do Layer 2 Networks Use Blobs?
Layer 2 rollups process transactions away from Ethereum’s main execution layer.
However, they still need to publish data to Ethereum so that users and other participants can verify the rollup’s state and transactions.
A simplified process looks like this:
User transactions
↓
Layer 2 processes transactions
↓
Transactions are bundled
↓
Rollup publishes data to Ethereum
↓
Ethereum provides data availability
EIP-4844 allows that publication to make use of blobs.
This is one reason blobs are an important part of Ethereum’s scaling strategy.
Do Blobs Replace Calldata?
No.
Blobs and calldata serve different purposes.
Calldata remains useful when a smart contract needs transaction input.
For example:
User → Smart contract → Calldata → Function execution
Blobs are primarily useful when a rollup needs to make large amounts of data available on Ethereum:
Layer 2 → Blob → Ethereum data availability
Therefore, Ethereum did not simply replace calldata with blobs.
Instead, EIP-4844 added another mechanism optimized for a different type of data.
Ethereum Blobs vs Calldata for Layer 2
For Layer 2 networks, the distinction is particularly important.
Before EIP-4844
Rollups commonly published data using Ethereum calldata.
After EIP-4844
Rollups can use blobs as an additional data-availability mechanism.
This helps separate the requirements of smart contract execution from the requirements of large-scale rollup data availability.
Are Blobs Stored on the Ethereum Blockchain?
This question can be confusing.
Blob data is associated with Ethereum transactions and secured through Ethereum’s consensus mechanisms, but the actual blob contents are not retained permanently as ordinary blockchain transaction history.
Instead, blobs are designed to be temporary.
Ethereum retains them for a limited availability window, after which nodes can prune the blob contents.
The blockchain retains information that allows the associated blob commitments to be referenced and verified.
Do Blobs Reduce Ethereum Gas Fees?
Blobs primarily reduce costs for Layer 2 data publication, rather than directly making every Ethereum transaction cheaper.
If a rollup can publish its data more cheaply, that can reduce the rollup’s operating costs.
Depending on how the Layer 2 passes those savings to users, this can contribute to lower Layer 2 transaction fees.
So it is more accurate to say:
Blobs help reduce Layer 2 data costs rather than directly reducing Ethereum Layer 1 gas fees.
What Is EIP-4844?
EIP-4844 is the Ethereum Improvement Proposal that introduced blob transactions.
It is also called Proto-Danksharding.
The upgrade created:
- Blob transactions
- A separate blob gas market
- Temporary blob data
- A more efficient data-availability mechanism for rollups
EIP-4844 is considered an important step toward Ethereum’s broader danksharding roadmap.
Ethereum Blobs vs Calldata: Simple Example
Imagine an Ethereum smart contract needs a user’s token amount and recipient address.
That information can be provided through calldata.
Now imagine a Layer 2 network has thousands of transactions that need to be made available to Ethereum.
Using blobs can be more efficient for publishing that larger dataset.
So:
Small smart contract input → Calldata
Large rollup data publication → Blobs
This isn’t an absolute rule, but it captures the fundamental design difference.
Frequently Asked Questions
What is the main difference between Ethereum blobs and calldata?
Calldata is persistent transaction data that smart contracts can read, while blobs are temporary data primarily designed to provide cheaper data availability for Layer 2 rollups.
Are Ethereum blobs cheaper than calldata?
Blobs were designed to provide a more cost-efficient way for rollups to publish large amounts of data than traditional calldata. However, blob fees fluctuate based on demand.
Are Ethereum blobs permanent?
No. Blob contents are temporary and are retained for a limited availability period.
Is calldata permanent on Ethereum?
Traditional calldata becomes part of Ethereum’s historical transaction data and is treated as persistent blockchain history.
Can smart contracts read blob data?
Smart contracts cannot directly read the complete contents of blobs during EVM execution. They can interact with information associated with blobs, such as their versioned hashes.
Why did Ethereum introduce blobs?
Ethereum introduced blobs through EIP-4844 to provide a cheaper and more scalable data-availability mechanism for Layer 2 rollups.
Do blobs replace calldata?
No. Blobs complement calldata. Calldata remains important for smart contract interactions, while blobs are primarily intended for temporary rollup data availability.
What is blob gas?
Blob gas is the separate fee mechanism used to price blob data. It operates independently from Ethereum’s regular execution gas market.
Which Ethereum upgrade introduced blobs?
Blobs were introduced through EIP-4844 (Proto-Danksharding) as part of Ethereum’s Dencun upgrade in March 2024.
The difference between Ethereum blobs and calldata mainly comes down to what the data is for and how long it needs to remain available.
Calldata:
- Used as transaction input
- Readable by smart contracts
- Part of persistent transaction history
- Uses regular Ethereum gas
Blobs:
- Primarily used for Layer 2 data availability
- Temporary
- Not directly readable by smart contracts
- Have a separate blob gas market
- Designed to make rollup data publication more efficient
The easiest way to remember it:
Calldata is designed for Ethereum transaction execution; blobs are designed primarily for scalable Layer 2 data availability.















