knitr::opts_chunk$set(echo = TRUE)
library(readr)
library(ggplot2)
library(scales)
library(lubridate)

What is Celestia?

Celestia is a rollup-centric blockchain that aims to serve as a data availability and consensus layer for rollups. Unlike traditional blockchains Celestia does not execute any transactions, but only orders transactions submitted to it by rollups, and makes this data available. This allows it to be a very minimal blockchain, especially in comparison to Ethereum (which can process transactions). Celestia nodes are expected to process more rollup transactions with lower latency than an equivalent Ethereum node ecosystem. Further, innovations in erasure-coding algorithms enable Celestia to increase its block size with more users (light nodes) - further increasing throughput. Celestia can also be used by ‘Celestiums’ - validiums1 who want to use Ethereum for finality via attestations, but store their transaction history and state on Celestia. If Celestia proves to be a cheaper and faster data-availability L1 for rollups while providing the same decentralized security guarantees as Ethereum (technically, if not economically), rollups will increasingly use it for consensus and data availability.

Celestia, therefore, is in the business of selling blockspace to rollups.


Source of revenue

Celestia could derive revenue from two sources: transaction fees and, speculatively, Miner Extractable Value (MEV).

Transaction Fees

For each batch of transactions that a rollup submits to Celestia, they will pay a fee.

Celestia plans to implement an EIP-1559 style burn mechanism, which will split the transaction fee into two parts:

  • A dynamic base fee (scaling with congestion), which is burned. This is the protocol revenue, or earnings.
  • A tip for the Celestia validator to prioritize the transaction (itself a batch of rolled up transactions). This is paid by the rollup and earned by the validator.

In addition to the fees, validators will also earn newly issued Celestia coins for each block they validate, through issuance. This will be tuned to make the currency deflationary, with burn exceeding issuance over time and greater adoption.

To be a Celestia validator, an entity has to stake Celestia coins which can be slashed if malfeasance is detected. This persistent demand for Celestia coins for validator staking will be an impetus for value accrual, apart from demand for Celestia coin to pay transaction fees and the inclusion tip.

MEV

Miner Extractable Value is a potential source of earnings for blockchains if they choose to address this with a Priority Gas Auction process as suggested2 by the Flashbots team. While we will not consider this source of protocol revenue for Celestia, a note on how it could be considered is included below.


Valuation methodology

Traditional valuation methods such as Discounted Cash Flows are considered to be improper for valuing digital assets such as blockchains. This is because the source of value may go beyond the demand it generates for transaction fees. For example, ETH is used to denominate NFTs. Here, it is acting as a sort of petrodollar of the Crypto space, because you need to buy ETH just to purchase NFTs such as BAYC. SOL may similarly gain this ‘money premium’ for the NFTs that trade on Solana. With increasing adoption in countries with troubled currencies, this money premium can even spill off-chain, as is the case with Bitcoin(indeed its only utility), Ethereum and stablecoins.

Celestia, however limits its utility to providing consensus and data availability for rollups, and therefore deliberately limits the possibility of such ‘premiums’. Celestia describes itself as the ‘AWS’ of the blockchain space. Demand for the Celestia coin will purely be driven by demand for blockspace. Moreover, the entities paying the fees will be rollups, not users directly. The numbers of these entities are unlikely to be very high, perhaps numbering in the high tens at most - precluding approaches such as Metcalfe’s law3 which seek to capture generic network effects that may cover the premiums described in the previous paragraph. Celestia is more comparable to a cloud computing B2B2C business.

Therefore, I will evaluate the value of Celestia as a multiple of the potential annual earnings it can generate, much like a stock is valued at a multiple of the annual earnings it generates (P/E ratios).

Celestia’s gain as Ethereum’s loss

The market for ‘rollup blockspace’ is currently entirely cornered by Ethereum. No other major projects are building L2s targeting other L1s to my knowledge. Therefore, Celestia’s growth will come at the cost of Ethereum’s rollup market segment in the near future. This zero-sum game means Celestia’s success can be estimated as a loss of earnings for Ethereum.

To calculate Celestia’s value, we will:

  1. First estimate Ethereum’s potential annual earnings from rollups 2 years from now (post merge + sharding).
  2. Consider 3 scenarios: Celestia captures 1%, 10% and 25% of Ethereum’s rollup-only revenue.
  3. Apply a multiple to these putative earnings (using B2B/SAAS PE ratios as a benchmark) to estimate the value 2 years from now.
  4. Calculate the present value by discounting this future

Note: The source code for all calculations and visualizations below is available here


Ethereum’s annual earning potential from rollups in the year 2023-24

Ethereum’s updated rollup ecosystem roadmap intends to move users from L1 to L2 rollups, an effect that is expected to accelerate after the merge4 due to the supply shock when issuance drops. This means the transaction fees on the mainnet will be mainly driven by rollups, with only whale/institutional/nation-state-level high-ticket activity occurring on L1. The majority of the transactions and therefore earnings will be from Rollups. For simplicity, let us assume these will be Pareto distributed, with 80% of the earnings coming from rollups, and the remaining 20% directly from L1 users.

Ethereum’s historical monthly total revenue and earnings are plotted below in USD5:

# Get historical monthly revenue of ETH and change column names
monthly_revenue <- read_csv("Monthly Total Revenue Vs. Protocol Revenue Since Launch. 2022-02-19.csv")
colnames(monthly_revenue) <- c("Date", "Revenue", "Earnings")

# Plot
ggplot(data = monthly_revenue) +
  geom_bar(aes(x = Date, y = Earnings, fill = "Protocol Earnings"), stat = "identity") + 
  geom_line(aes(x = Date, y = Revenue, color = "Total Earnings"), stat = "identity", ) + 
  xlab("Date") + 
  ylab("USD") +
  scale_y_continuous(labels = dollar) +
     theme(legend.key=element_blank(),
          legend.title=element_blank(),
          legend.box="vertical")

As we can see, the network entered a regime of high growth in dollar terms after 2020. Also, EIP-1559 only kicked in around August 2021, as depicted by the protocol earnings bars. Let us zoom in on a seven-year period (2015 onward), and using a simple linear model, extrapolate the performance up to 2024. Then, we will estimate the annual earnings of Ethereum for the year 2023-246:

# Get monthly revenue since 2015
monthly_revenue_since_2015 = monthly_revenue[monthly_revenue$Date >= "2015-01-01" & monthly_revenue$Date <="2022-02-01",]

# Simple linear regression usign revenue data
lin_reg <- lm(Revenue ~ Date, data = monthly_revenue_since_2015)
# Extract slope and intercept
lin_reg_slope <- coef(lin_reg)[["Date"]]
lin_reg_intercept <- coef(lin_reg)[["(Intercept)"]]

# Get 2023-24 interval in days (date field is in day resolution, so model also used days)
months_23 <- interval(as.Date('1970-01-01'), as.Date('2023-01-01')) %/% days(1)
months_24 <- interval(as.Date('1970-01-01'), as.Date('2024-01-01')) %/% days(1)

# Forecast revenues at start and end of 2023-24 period, and data frame it
rev_2023 <- lin_reg_slope*months_23 + lin_reg_intercept
rev_2024 <- lin_reg_slope*months_24 + lin_reg_intercept
earning_2024 <- data.frame(x = as.Date(c('2023-01-01','2024-01-01')), y = c(rev_2023, rev_2024))

# Plot regression, including year 2023-24 area
ggplot(data = monthly_revenue_since_2015) + 
     geom_area(aes(x=x, y=y, fill = "2023-24 Earnings"), data = earning_2024, color = "grey", alpha = 0.5) +
     geom_bar(aes(x = Date, y = Earnings, fill = "Protocol Earnings"), stat = "identity") + 
     geom_line(aes(x = Date, y = Revenue, color = "Total Earnings"), stat = "identity", ) +
     geom_abline(slope = lin_reg_slope, intercept = lin_reg_intercept) +
     scale_x_date(limits = as.Date(c('2015-01-01','2025-02-01'))) +
     xlab("Date") + 
     ylab("USD") +
     scale_y_continuous(limits = c(0, 2000000000), labels = dollar) +
     theme(legend.key=element_blank(),
          legend.title=element_blank(),
          legend.box="vertical")

# Calculate estimate of earnings (area of parallelogram)
months_23_24 <- c()
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-01-31')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-02-28')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-03-31')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-04-30')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-05-31')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-06-30')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-07-31')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-08-31')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-09-30')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-10-31')) %/% days(1))
months_23_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-11-30')) %/% days(1))
months_24_24 <- append(months_23_24, interval(as.Date('1970-01-01'), as.Date('2023-12-31')) %/% days(1))

est_earnings <- sum(months_23_24*lin_reg_slope + lin_reg_intercept)
cat("Estimated annual earnings for 2023-24: ", paste('$',formatC(trunc(est_earnings), big.mark=',', format = 'f')))
## Estimated annual earnings for 2023-24:  $ 7,867,169,309.0000

Scenarios

Now that we have an estimate for Ethereum’s revenue for the year 2023-24, we can consider multiple scenarios for Celestia’s potential market cap. First let us consider how much of the 2023-24 earnings will be from rollups - for simplicity, we are assuming that post-merge and post-sharding, 80% of Ethereum’s transaction fees will come from rollups, which is in line with their vision.

est_earnings_rollup_only <- formatC(trunc(est_earnings*0.8), big.mark=',', format = 'f')
cat("Estimated earnings from only rollups for 2026-2027: ", paste('$', est_earnings_rollup_only))
## Estimated earnings from only rollups for 2026-2027:  $ 6,293,735,447.0000

Note: After the merge, it is expected that the network traffic will stabilize, and the validator tip will be a small component of the total transaction fees. Even the short history since August 2021 (when EIP 1559 kicked in) bears this out. In fact, in bear market conditions at the time of writing, the tip amount has consistently averaged zero7. Therefore, we will use the estimate of the total revenue to be an estimate for protocol earnings in the year 2023-24, especially given the paucity of post-EIP-1559 data.

We will now consider three scenarios where Celestia captures 1%, 10% and 25% of Ethereum’s ‘rollup business’ in the year 2023-24. We will multiply these amounts by a reasonable multiplier to arrive at a valuation for Celestia using the P/E ratios of comparable B2B businesses and other blockchains as a reference.

For example, Ethereum is trading at a multiple of ~358 to its earnings at the time of writing. Interestingly the average PE ratio of Internet software companies is a very close 369. So in current market conditions, Ethereum and ‘Internet software’ companies are trading at a PE ratio of roughly 35. We will use this to calculate the valuation of Celestia for each scenario below:

1% of $6,293,735,447.0000, times 35.

cat("Valuation: ", paste('$',formatC(trunc(est_earnings*0.8*0.01*35), big.mark=',', format = 'f')))
## Valuation:  $ 2,202,807,406.0000

10% of $6,293,735,447.0000, times 35.

cat("Valuation: ", paste('$',formatC(trunc(est_earnings*0.8*0.1*35), big.mark=',', format = 'f')))
## Valuation:  $ 22,028,074,066.0000

25% of $6,293,735,447.0000, times 35.

cat("Valuation: ", paste('$',formatC(trunc(est_earnings*0.8*0.25*35), big.mark=',', format = 'f')))
## Valuation:  $ 55,070,185,165.0000

So, in current market conditions, if we believe that Celestia will capture at least 10% of Ethereum’s rollup business 2 years from now, we can value Celestia today by discounting $11,532,358,430 to present value(at a risk-free rate of 5%):

\(PV = \frac{6,293,735,447}{(1 + 0.05)^2}\)

cat("Present day valuation at 10% scenario: ", paste('$',formatC(trunc(est_earnings*0.8*0.1*35/(1 + 0.05)^2), big.mark=',', format = 'f')))
## Present day valuation at 10% scenario:  $ 19,980,112,531.0000

By way of comparison, the market cap of NEAR protocol is $5,981,867,335 at the time of writing (in the current bear market).


Risks

If ZKStark technology or optimizations of Optimistic rollups improve to the point that rollups targeting Ethereum are able to charge negligible fees, Celestia will struggle to justify its existence. Rollups like Starkware powered dYdX or immutable x are already able to offer zero-fee transactions to their users.

If cross-shard/rollup transactions become a significant driver of value, Celestia’s design choices might prove to be a handicap - as they currently view each rollup targeting them to be sovereign, and are not enabling cross-rollup messaging or standards to my knowledge.


Contrarian View

Celestia aims to be a high performance L1 for rollups by stripping away anything superfluous to the tasks of ordering transactions and making the data available in a fully decentralized manner. Like all decisions, this comes with tradeoffs. The biggest tradeoff in my opinion is the loss of the following design spaces:

This is a very large design space to give up on, in my opinion, and has an ‘anti-network effect’. We cannot predict what the future applications will be, but we certainly do know that having more edges is more ‘Metcalfe dominant’ than having more nodes.


Note on MEV

Miner Extractable Value is a secondary revenue stream for Miners/Validators where, in addition to the inclusion tip, a user entity may pay an extra amount to the validator to prioritize their transaction - off-chain, or through an on-chain mechanism. There is no real upper bound on this bribe, as the bribe value depends on the ticket size of the opportunity being created/protected by the user entity. In the case of Ethereum, this could be an entity that wants to ensure their transaction is the first in the block to prevent front-running. Alternatively, entities may pay validators precisely to front-run or sandwich a valuable transaction found in the mempool (the collection of transactions waiting to be added to a block).

We can speculate that this will also occur in Celestia, where these entities will be rollups who want their batch of transactions to be included before that of another. This could be done by observing the sequencer of another rollup for transactions that increase the value of a common asset and front-running the trade, for example. The design space for MEV is large, and limited only by the capability and imagination of the MEV-extracting entities. Also, depending on the design, it may be possible for rollups to submit multiple batched transactions for each Celestia block - increasing MEV surface area.

This bribe can either be paid in Celestia coin, or any other currency that the validator is willing to accept. If the Celestia team chooses to formalize this process and create a Priority Gas Auction (PGA) mechanism for this, it is likely that the MEV is paid for in Celestia coin. However, even if the bribes are settled in another currency, the incentive to earn these bribes will increase the supply of Validators, and thereby increase demand for staked Celestia coin. Simplistically, one can imagine that this will continue until the next marginal validator (or staker in a staking pool) gets the same amount from MEV combined with the transaction fee as the opportunity cost of investing the coin elsewhere. Both scenarios may therefore result in similar value accrual to Celestia.

We could assume the Celestia team will introduce a formal PGA mechanism like flashbots to capture MEV in Celestia coin to avoid the creation of off-protocol markets as suggested by Charlie Noyes of Paradigm. We could further assume that they will charge a nominal fee to validators as part of this mechanism, and earn a percentage of the MEV for the protocol, which they will burn so that the value accrues to Celestia coin holders.

Since Celestia deals with bundled transactions, the extractable value is likely to be lower per block compared to a ‘regular’ L1 block (or sequencer queue in the case of L2s), where an MEV bot can target individual transactions to extract value.

The Celestia network could therefore earn the sum of these two revenue sources: base transaction fees and, speculatively, a percentage of MEV.


References & Data Sources

  1. Validiums: https://ethereum.org/en/developers/docs/scaling/validium
  2. Flashbot Auctions: https://docs.flashbots.net/flashbots-auction/overview
  3. Metcalfe’s Law: https://en.wikipedia.org/wiki/Metcalfe%27s_law
  4. The Merge: https://ethereum.org/en/upgrades/merge/
  5. ETH data source: https://www.tokenterminal.com/terminal/projects/ethereum
  6. Source Code for all calculations and visualizations: https://rpubs.com/Ramshreyas/celestia
  7. Miner vs Protocol revenue: https://www.tokenterminal.com/terminal/projects/ethereum
  8. ETH P/E ratio: https://www.tokenterminal.com/terminal/projects/ethereum
  9. P/E ratio of ‘Internet’ companies in the US: https://pages.stern.nyu.edu/~adamodar/New_Home_Page/datafile/pedata.html