A Comparison of L1 State Storage
Bitcoin’s Taproot upgrade has redefined how block space is priced in Bitcoin, incidentally acting as a catalyst for a massive increase in state growth. As unexpected as Ordinal NFTs were, I find this change refreshing. It sent me into a rabbit hole where I decided to improve the understanding of state growth across many different blockchains.
Naturally, this is a controversial exercise given the explosion we have witnessed in the issuance of Ordinals ultimately leading to a noticeable increase in Bitcoin’s state growth. In fact, the top 10 largest bitcoin blocks *in the history of Bitcoin* were mined in 2023: a direct result of the Ordinals Gold Rush.
Concerns stem from the fact that untamed state growth can impact the ability of users without enterprise-grade hardware to run and sync nodes. In turn, this might lead to an overall decrease in node count and arguably increase geographical concentration of hosts around datacenter hubs. Combined, there is a strong argument that these factors might increase a network’s attack vector.
It is crucial for state storage to be adequately priced on L1s. If state storage is too cheap, it incentivizes fuller blocks which over time translate to state bloat. Conversely, if state storage is expensive, it can disincentivize usage and economic activity. This too can have negative security implications over time.
One challenge with methodologies that attempt to characterize and price storage is that blockchains often feature different types of storage with fundamentally different features. In Ethereum, one could use opcodes like SSTORE or CREATE2 to encode data onchain. Both of these are priced differently by the EVM.
Historically in Bitcoin, the OP_RETURN opcode has been used to encode up to 80 bytes of data onchain. This has enabled the creation of protocols like OmniLayer, which in turned enabled the first issuance of stablecoins with the birth of USDT. With the loosening of ScriptSig rules implemented with Taproot, that limit is now theoretically 2MB, an increase of approximately 26,214x.
Up until the launch of Ordinals, few people fully understood what this loosening of ScriptSig rules meant for issuance NFTs on Bitcoin. What ensued was effectively a supply shock where Bitcoin state that used to simply contain transaction signatures, or witnesses, became flooded with NFT music, art and files.
A positive blockspace supply shock implies that the price of storing data on Bitcoin’s blockchain has gone down, but how can we measure that?
One challenge is the vastly different types of storage offered by blockchains today. This complicates pricing blockspace across networks since comparing ScriptSig with SSTORE would be a comparison of apples and oranges. Instead, the simplest approach to pricing blockspace is the ratio between the sum of fees (base fees + tips in Ethereum) paid in a block divided by the total disk size of the block.
This provides a uniform way to price block space with the caveat that it does not discriminate state that is prunable, such as witnesses (ScriptSigs) in the case of Bitcoin and intermittent state (--syncmode "fast") in the case Ethereum. After parsing the entirety of full historical state of Bitcoin, Ethereum, Litecoin, Zcash and Cardano, I was able to get a comparable blockspace price for these blockchains.
Surprisingly, we did not see a decrease in Bitcoin’s blockspace price. Despite the massive increase Ordinals issuance, it does not appear that the price of Bitcoin's blockspace has experienced any substantial decrease. This counter-intuitive finding challenges the economic assumption that an increased supply (in this case, “newly-found” blockspace supply due to the looser ScriptSig rules introduced with Taproot) would lead to a decrease in price.
One plausible explanation could be that since the blocks are still not operating at full capacity coupled with the fact that most users minting Ordinal NFTs have a relatively low willingness to pay. As a result, the price of Bitcoin's blockspace remains relatively stable despite the alterations brought about by Taproot and the subsequent influx of Ordinals.
This assertion finds some support in the observation that a majority of transactions in the mempool are paying the minimum feerate of 1 sat/vB. This suggests that, despite the increased blockspace available for data storage, users are not motivated to pay higher fees for their transactions. Consequently, the average transaction cost (and hence the price of blockspace) has stayed somewhat flat.
One potential reason could be the existing price dynamics of Bitcoin's blockspace before the advent of Ordinals. It's conceivable that the price of Bitcoin's blockspace was already cheap when the additional functionality of Ordinals was introduced. If this was the case, the increased capacity offered by looser ScriptSig rules, despite not being fully utilized yet, would not have significantly shifted the blockspace price.
As these dynamics evolve, the need for metrics that better evaluate state growth across L1s becomes clear. State growth rates and the price of blockspace, the latter defined as the total block size divided by total fees, are imperfect albeit fully comparable starting points. These metrics provide a structured approach to assess and compare different blockchains, aiding in our understanding of the changing dynamics of block space usage and cost as use cases such as Ordinals evolve.