The impact of Celestia's modular DA layer on Ethereum L2s: a first look

Numia Data
8 min readDec 22, 2023

Rollups have long been the preferred choice for scaling Ethereum. As rollups face increasing demand for transaction throughput, they face a challenge in deciding the chain on which they publish their data. To date, the most common approach has been to post callData to Ethereum mainnet, alongside all other activity on Ethereum Mainnet. As a result, data availability has become widely recognized as the single-largest bottleneck for Ethereum L2s. L2s have spent $200M+ to post data to Ethereum, with the numbers continuing to rise alongside rising on-chain activity.

In this report, we examine how Celestia’s purpose-built Data Availability layer can provide Ethereum L2s and L3s a high-throughput DA solution that significantly expands their viability and accessibility for developers. We also run a few cost simulations to calculate the impact of Celestia on scaling L2s and rollups (try it yourself here).

We were able to calculate not only that Celestia would have easily fit all rollup activity but also to estimate potential cost-savings of up to $50M in the last 6 months alone. We simulated that in a basic counterfactual, existing Ethereum rollups would have saved up to 1–3 orders of magnitude of DA fees by publishing their data on Celestia instead.

We use the Dune Analytics Spell from @0xKofi to calculate the historical callData costs for L2s and use this for our simulations. Without these data, this report possible would not have been.

💡 Disclaimer: Rollup transactions consist of several elements that can drive up their gas consumption and hence their cost. This report focuses solely on the callData cost associated with the transaction. We don’t aim to claim that overall transaction fees will have the same difference. Our focus is only on the variable callData side of transactions.

Introduction

On Ethereum today, rollups face a noisy neighbor problem due to sharing Mainnet blockspace with the network’s general purpose smart contracting environment, causing frequent congestion and higher fees.

Rollups, which process transactions off-chain and post summaries to Ethereum, aim to reduce this issue. However, if posting their data consumes too much mainnet space, they will compete for the same blockspace market as all other Ethereum users, driving the overall costs even higher. The volume of data posted to Ethereum grows as usage grows, and the same users wanting to avoid high gas fees in the first place will end up with high transaction costs.

If we take a deeper look at the anatomy of an L2 transaction, most rollup transactions break down in the following way:

FIXED COSTS:

  • Proof costs (in the case for zk rollups) = ranges in gas, typically based on rollup provider
  • State write costs = 20,000 gas
  • Ethereum base transaction cost = 21,000 gas

VARIABLE COSTS:

  • Posting callData to Ethereum in gas per transaction = (16 gas per byte of data)*(average transaction size in bytes)
  • L2 gas fees = are usually pretty cheap, in the range of a fraction of a gas unit.

In this report, we focus specifically on how Celestia can help mitigate the high variable costs that will come from trying to scale rollups by still posting callData to Ethereum.

Is it really that expensive?

In this dashboard from Dune Analytics built by @0xKofi you can explore the cost of publishing callData to Ethereum Mainnet in 2023.

Cost (USD) of publishing Txn Data to L1

In November ’23 alone OP Mainnet and Arbitrum have spent more than $5M combined in data being posted to Ethereum, passing on the cost to end users.

The cost of posting data to Celestia’s DA

Celestia’s DA allows for rollups and L2s to post Data via its PayForBlob Message. Messages in Cosmos SDK-based chains (like Celestia) are objects whose end goal is to trigger state transitions; think of them as instructions to the blockchain. They are wrapped in transactions, which may contain one or more of these messages.

When a rollup posts data to Celestia they submit a transaction containing blobs of data. These blobs are essentially the data that would otherwise be posted via callData to the Ethereum Mainnet.

Generally, the gas used by a PFB transaction involves a static “fixed cost” and a dynamic cost based on the size of each blob involved in the transaction.

The “fixed cost” currently has a default value of 65,000 gas units.

Note: the first transaction sent by an account (sequence number == 0) has an additional one-time gas cost of 10,000. If this is the case, this should be accounted for. For more information visit Celestia´s docs.

Each blob in the PFB Message contributes to the total gas cost based on its size. The more bytes a blob has, the more gas it will need. The function GasToConsume calculates the total gas consumed by all the blobs involved in a PFB, where each blob’s gas cost is computed by first determining how many shares are needed to store the blob size. Then, it computes the product of the number of shares, the number of bytes per share, and the gasPerByte parameter. Finally, it adds a static amount per blob.

So in short:

  1. The user posts a certain number of blobs containing the rollup txn data
  2. The number of bytes determines how many shares the txn will use
  3. The number of shares determines the dynamic gas cost of the PFB transaction
  4. The static amount of 65,000 gas units is added

The gas cost per blob byte and gas cost per transaction byte are parameters that could potentially be adjusted through the system’s governance mechanisms. Hence, actual costs may vary depending on the current and future settings of these parameters.

Comparison

Before we dig into the simulations it’s important to mention again that these calculations focus solely on the callData element of transaction costs. Precisely the highlighted element of the image below. All other costs: L2 Gas fes, Ethereum Base Tx Cost, State Write, and Proof Cost (in the ZK case) are omitted in this report.

source: https://forum.celestia.org/t/ethereum-rollup-call-data-pricing-analysis/141

We have also built a web app under datalenses.zone/celestia where you can play around with different variables and simulate:

  1. What popular Ethereum L2s would have saved if they would have posted callData to Celestia
  2. How much a rollup would save if they use Celestia instead of Ethereum L1 to publish transaction data

💡 Note: For further details on the methodology, please refer to the methodology section at the end.

Let’s dig into some of the results.

Case Study 1: Historical callData cost comparison for L2s

In this first analysis, we compare the last 6 months of spend of different L2s to post callData to Ethereum and the amount they could have spent with Celestia as their DA layer (calculations below assume an observed price of $12).

As described above, the naive difference between fully on-chain calldata vs. using Celestia for most Ethereum rollups would likely equate to a difference of several orders of magnitude. In practice, many expect induced demand in response to significantly cheaper execution layer blockspace, limiting any direct comparison. And the data needs to account for any dynamic fee market that emerges on Celestia, about which there is still little data to extrapolate from. However, Celestia’s validator community did recently reduce the default minimum gas price to .002 utia (or 0.000000002 $TIA) in recent weeks, further driving down the cost of blobspace when blocks aren’t full.

It’s important to note that this also does not account for fluctuations in the observed price of $TIA and assumes the minimum gas price of 0.002 utia mentioned above, which could increase if Celestia becomes a popular DA layer for rollups in the future and if Celestia congestion is high.

Note: our calculator allows for simulations with different gas prices.

This however serves to demonstrate the magnitude of the effect that using a purpose-builtDA layer like Celestia can already bring to L2 gas fees.

One final observation is that the 78.3GB of callData for the last 6 months would have easily fit into Celestia’s capacity, as it can already process 11GB per day with its initial 2MB blocks (2MB * 4 blocks per minute * 60 minutes * 24hs per day). Because Celestia uses data availability sampling (DAS), the community can securely increase DA throughput in response to new demand based on the number of light nodes sampling on the network.

Case Study 2: Simulating Rollup callData Cost by transaction type

In this example, we compare 3 types of transactions (ERC20 Sends, ERC720 Mints, and Uniswap V3 Swaps) and calculate the cost ofposting callData to Ethereum L1 compared to posting it to Celestia. We assigned arbitrary average callData size values of 120, 650, and 1600 bytes respectively to these types of transactions, which can be changed in the simulator.

ERC20 Transfers (10 Million Transactions)

ERC720 Mints (10 Million Transactions)

Uniswap V3 Swaps (10 Million Transactions)

As displayed, the L2 scalability and cost savings made possible by Celestia are especially profound when performing high-volume on-chain transactions.. Each column represents 10M transactions and in some cases, the total cost is 300–500X lower (this is based on several assumptions/inputs that you can change in the simulator).

Note that the average price per MB with Celestia is higher here compared to the L2s table because this second model assumes 1KB per batch, which is low compared to the average batch size of the L2s. This leads to a higher cost per MB. After all, the fixed cost of 65,000 gas is spread across less data. Our L2 model does take into account the batches sent by the L2 and hence achieves a lower cost per byte by batching a bunch of data under the same transaction.

Conclusion

Celestia provides significantly greater throughput for Ethereum and helps make L2s affordable for a wider range of developers. With this initial analysis and future updates, we hope to shed some light on the basic economic impact of using Celestia for DA, demonstrating the magnitude of the cost savings possible for L2 developers and end users.

Using the simulator:

We have released a simulator in our analytics dashboard under datalenses.zone/chain/celestia/calculator for you to play around with different versions of these simulations. If you have any feedback or questions, please reach out to support@numia.xyz.

--

--