Tony Kim
Jul 27, 2024 09:33
Exploring the challenges Bitcoin’s blockspace presents for Rollups using it as a data availability layer, focusing on costs, competition, and potential solutions.
Bitcoin’s blockspace is extremely scarce with the size of each block capped at 4MB. This scarcity presents a significant challenge for Rollups seeking to leverage Bitcoin as a data availability layer. The emerging landscape of Rollups built on Bitcoin, predominantly ZK-based, aims to post ZK-Proof outputs and state differences every 6-8 blocks. However, this approach faces a critical obstacle; each data post consumes up to 400KB (0.4MB) of blockspace, effectively occupying 10% of an entire block.
Given Bitcoin’s consistently full blocks since January 2023, competition for block inclusion among multiple Rollups will intensify, potentially straining Bitcoin’s transaction fee market to unsustainable levels. The current limitations of Bitcoin’s base layer, combined with the proliferation of Rollups in development, may create an environment where L2s struggle to afford data posting. To remain viable, Rollups on Bitcoin will need to generate substantial revenue from transaction fees, driven by useful applications. This report analyzes the economic viability of Rollups on Bitcoin by examining data from Ethereum ZK-Rollups and projecting costs for Rollups using Bitcoin for data availability. The analysis explores the potential impacts on Bitcoin’s block composition once these projects launch on mainnet, as well as discuss alternative strategies Rollups might employ if posting data to Bitcoin is too costly.
Is Bitcoin L1 a Data Availability Layer?
Rollups on Bitcoin that post data to the base layer will face a significant problem: the cost to post data. Bitcoin blockspace is the most expensive per byte of any chain. Additionally, Bitcoin’s block size is firmly capped at 4MB, and fees are tied to the data weight of a transaction, making any data intensive transaction expensive to execute. The emergence of Ordinals, which are inscriptions attached to individual Satoshis, highlight that transactions that occupy a significant portion of the blocksize cost a premium and drive-up transaction fees. For example, the first 4MB Bitcoin transaction inscribed by the Taproot Wizards team (block 774,628) cost $147k in fees.
Based on conversations with several teams building ZK-Rollups on Bitcoin, Rollups are expected to post ZK-Proof outputs and state differences every 6-8 blocks (1hr – 1.2hr) to Bitcoin L1 in the form of an inscription, arbitrary data stored in the segregated witness section of a transaction. This data will enable any participant running a Bitcoin node to reconstruct the most recent state of the Rollup. Based on testnets, and conversations with developers, we estimate that proof outputs and state differences will require at most 400KB (0.4MB) each time they post to Bitcoin’s Layer 1 blockchain.
When comparing the megabytes processed per second on Bitcoin to Ethereum and Celestia, it’s clear that Bitcoin was never designed to be a DA layer.
Cost to Verify Proofs – Ethereum ZK-Rollups
Drawing insights from Ethereum’s Rollup ecosystem, ZK-Rollups emerge as capital-intensive operations due to their use of validity proofs. This approach requires the Prover to post a ZK-Proof along with transaction data or state differences for each L2 state change. Unlike Optimistic Rollup scaling solutions that only pay verification costs in the event of a fraud dispute (rare occurrence), ZK-Rollups pay verification costs upfront by posting validity proofs. The higher upfront costs of ZK rollups enable immediate finality (vs. ~7 day challenge window for optimistic rollups). Below is a chart showing the weekly data posting costs for ZK-Rollups on Ethereum.
ZK-Rollups finance their data posting expenses through revenue generated from L2 transaction fees. Since its launch, ZK-Sync Era has demonstrated the viability of this model, generating $66.9m in total revenue from L2 transaction fees. Of this, $51.2m was allocated to ZK verification and L1 call data costs. ZK-Sync has successfully processed over 417.6m transactions for 5.4 million users, maintaining an average cost of $0.16 per transaction. This efficient operation has resulted in a total profit of $15.7m.
Estimating Cost to Post Data to Bitcoin
At 400KB per data post on Bitcoin L1 every 6 blocks at a low 10 sat/vByte level, Rollups on Bitcoin would be paying $2,640 per posted block. With data posting occurring every 6 blocks, Rollups on Bitcoin will pay up to $1.9m per month to post to 730 blocks ($23m annually). Using a 50 sat/vByte level would increase the monthly data posting cost to almost $9.6m ($115m annually). It should be noted that estimating future sat/vByte levels is extremely difficult as Bitcoin’s fee rate environment is now increasingly more volatile with the emergence of Ordinals, BRC-20s, and Runes.
To offset the high costs of data posting in a world where each post is 400KB, ZK-Rollups using Bitcoin for data availability will need to generate approximately between $1.9m and $9.63m in revenue from L2 transaction fees per month. The sensitivity table below estimates the transaction activity and fee rate levels required for Rollups on Bitcoin to break even after data posting costs. Our model projects weekly costs for a Rollup posting 400KB of data to Bitcoin L1 every 6 blocks at 10, 20, and 50 sats/vByte as of July 23, 2024. In a scenario where a Bitcoin Rollup processes 20m transactions monthly—comparable to ZK-Sync’s weekly volume over the past year—it would need to charge transaction fees of $0.096, $0.193, and $0.482 to break even at the respective 10, 20, and 50 sats/vByte levels. It should be noted that due to the lack of available data on testnet, this sensitivity table assumes that the 400KB data posting size is fixed from 1m – 80m transactions per month. We understand that the data posting size can be larger or smaller than 400KB based on the number of transactions included in the state difference.
Bitcoin Blockspace When Rollups Launch
Since the emergence of Ordinals and BRC-20s in early 2023, Bitcoin’s daily mean block weight has consistently sat just below its 4m weight unit limit (4MB of data). Block weight is a dimensionless measurement of the “size” of a block which was introduced in the SegWit upgrade to include discounted witness data. The average daily Block weight has significantly increased from the large influx of inscription related transactions, which include arbitrary data (text, image, etc) in the Segregated witness field of a transaction. Since February 2023, the average fullness of a Bitcoin block stands at 98%.
With each proof output and state difference totaling 400k weight units, a single Rollup posting data to a block will utilize 10% of the block’s weight limit if the Rollup’s data size remains consistent. Given that blocks are consistently full, the introduction of Rollups will change the composition of transaction data within each data posting block. The chart below demonstrates the block composition for a sample of 30 blocks on July 18, 2024, if two Rollups were live and posting data every 6 blocks.
The consistent demand for blockspace from Rollups posting data on Bitcoin L1 every 6-8 blocks will force time sensitive transactions to pay a premium before or during the data posting block. The chart below underscores how the increased competition of on-chain activity from Runes and Ordinals forces time sensitive transactions, also known as financial transactions, to pay the highest fee rate premium.
Why Bitcoin DA is Important
For a Rollup to fully align with Bitcoin, it must utilize it for data availability. This choice, while costly, leverages Bitcoin’s unparalleled security, immutability, and decentralization. Rollups opting for alternative DA solutions introduce additional trust assumptions outside the Bitcoin network, potentially compromising their integrity and categorization as a “Bitcoin Rollup”. The strength of Bitcoin as a DA layer lies not only in its robust security but also in its extensive node distribution and low barrier to entry for setting up light or full nodes. This accessibility ensures that anyone running a Bitcoin full node can reconstruct the latest L2 state of the Rollup, enhancing transparency and decentralization.
Despite the significant expenses and potential long-term feasibility challenges, Bitcoin’s role as the pristine DA layer for Rollups underscores a fundamental trade-off; the high cost of leveraging Bitcoin’s infrastructure versus the unmatched security and decentralization it provides. This balance between cost and security will likely shape the future landscape of Rollup implementations on the Bitcoin network.
Outlook on Rollups using Bitcoin for DA
- ZK-Rollups using Bitcoin for data availability need to generate approximately between $1.9m and $9.6m in monthly revenue from L2 transaction fees to operate in a 10-50 Sat/vByte fee rate environment.
- Fee estimating engines will be crucial for Rollups on Bitcoin to maximize profitability.
- Bitcoin blockspace simply cannot facilitate 4-8 Rollups posting 400KB proofs every 6-8 blocks.
- The teams that will achieve building a sovereign Rollup on Bitcoin will need to execute the go-to-market strategy with applications that keep users transacting on the L2.
- Some Bitcoin L2s will explore L3 environments for transaction execution and use a combination of L2s and Bitcoin L1 for data availability.
- Rollups on Bitcoin will increase the competition for block inclusion, thereby driving up layer 1 fees for everyone, including the Rollups themselves.
- Bitcoin L2s using Bitcoin L1 for DA will need to hedge against unexpected volatile fee spikes through fee rate derivative markets and out of band mining deals.
Image source: Shutterstock