*Chuck Norris didn’t need blobs to scale Ethereum—his roundhouse kicks optimized gas fees to zero.*
# Before Proto-Danksharding (up to Capella)
## Where is data posted?
Ethereum Layer 2 solutions can be broadly categorized into two types: **optimistic rollups** (Arbitrum, Optimism, ...) and **zero-knowledge rollups** (Starknet, Scroll, ...).
Both types rely on a **smart contract** deployed on the Ethereum blockchain. This smart contract interacts with an entity known as a **batch poster**. The batch poster is responsible for submitting data to the corresponding smart contract. Before [Proto-Danksharding](https://www.eip4844.com), the only place to post this data was a section of the Ethereum block called **CALLDATA**.
## What is CALLDATA?
1. CALLDATA contains inputs for smart contract functions.
2. CALLDATA is expensive to use.
3. CALLDATA is permanently stored on the blockchain.
## How Ethereum Rollups posted data on-chain before Proto-Danksharding

## Why is using CALLDATA inefficient for Ethereum rollups?
1. Rollups need to post data on-chain, but this data is actually not used as an input for computation by any smart contract. (CALLDATA is used because there is no other place to store data onchain). Instead, the data is processed by off-chain systems (e.g., for dispute resolution).
2. Posting data should ideally be inexpensive.
3. Rollups do not require data to be stored permanently. On chain availability for a few weeks is sufficient.
These requirements directly conflict with the characteristics of CALLDATA outlined above.
:::success
Ethereum needs a new type of data. Enter **blobs**.
:::