Ordinals are Bitcoin NFTs Courtesy of Taproot
Bitcoin was designed to be a peer-to-peer payment system, but that doesn’t stop people from attempting to utilize the Bitcoin ecosystem and network for other usages, such as on-chain NFTs. The bitcoin community is notoriously known to stay away from NFTs, DeFi, and other modern crypto topics, but now it seems we are up to change that. In many interviews, bitcoin core developers were vocal about their passiveness to adopting modern paradigms. However, something they have still created lately, SegWit and Taproot, is leading to the creation of Ordinals bitcoin NFTs.
Early Bitcoin network NFT attempts
Counterparty was one of the earliest Bitcoin-based NFT projects that facilitated the creation of collections such as Rare Pepes in 2016, which predated most Ethereum-based NFTs. It used the OP_RETURN function that enabled users to embed up to 80 bytes of arbitrary data in a single transaction.
“On-chain NFTs” often contain metadata (e.g., images) stored on-chain, and such immutability arguably gives them sentimental, social, or economic value. However, for reference, each RGB pixel requires 3 bytes of storage; thus, the OP_RETURN function is significantly limiting in storing media files. This function is rarely used nowadays, given the stringent storage constraint.
Ordinals enter the stage
Casey Rodarmor, the creator of Ordinals, found an alternative way to cheaply store arbitrary data on-chain in a single transaction that circumvents OP_RETURN’s 80-byte limit. It is done by leveraging SegWit’s lower bitcoin transactions fees and a “loophole” enabled by the network’s most recent upgrade, Taproot. Thus making NFTs on bitcoin blockchain a reality.
What is Ordinal Theory
Bitcoin is often treated as fungible, but it is possible to view every single satoshi (sat) as non-fungible by agreeing upon a social convention without any network upgrade. The “Ordinal Theory” is an alternate interpretation of the Bitcoin ledger where each sat has a unique ID. Their unique IDs are determined by order of their creation in coinbase transactions (i.e., miners’ subsidies).
For instance, the first 50 BTC (or 500 million sats) created in the genesis block would have IDs ranging from 0 to 499,999,999, whereas the next 50 BTC minted in the following block would have IDs from 500,000,000 to 999,999,999, and so forth.
When Bitcoin outputs are spent, the ownership of sats (with unique IDs under the theory) is transferred on a first-in-first-out (FIFO) basis. For instance, Satoshi has an unspent transaction output (UTxO) with 50 BTC with IDs from 0 to 499,999,999, as mentioned above. By spending this UTxO, they can send 100 sats to Nick Szabo, then send the rest back to Satoshi themselves, and include 1,000 sats for the transaction fee (i.e., send 1,000 sats to the miner) in a single transaction. In this hypothetical scenario where the transaction outputs are arranged in this order (i.e., Nick’s address followed by Satoshi’s), Nick receives sats with IDs from 0 to 99; Satoshi remains the ownership of sats with IDs from 100 to 499,998,999; the rest goes to the miner that includes this transaction in a block space.
In short, the “ordinal” convention is a FIFO numbering system for sats. It is essential to establish the concept of non-fungibility within a system not designed for non-fungibility. It does not affect regular users (e.g., users who transact in BTC) as the convention does not alter the underlying system mechanics. Still, it offers additional meaning via off-chain social consensus to those that opt into the non-fungible features.
Still, most Bitcoin blockchain infrastructures are not “ordinal-aware.” Ordinal users might accidentally spend their priceless NFTs as regular sats if they use regular wallets.
Bitcoin blockchain and SegWit & Taproot
The value of NFTs often comes from the metadata attached rather than from the tokens themselves (unless the sats originate from Satoshi, probably). Therefore, the Ordinal Theory alone is insufficient in establishing a meaningful Bitcoin-based NFT protocol.
While the recent Taproot upgrade let users create complex spending scripts (tapscripts), it also created a “loophole” that enabled users to store arbitrary data inside tapscripts almost without limit. The creator of Ordinals was able to utilize old opcodes to create an “envelope” that can encapsulate arbitrary data on-chain and “inscribe” such data to a certain sat.
Here is an example of inscribing a “Hello World” message to a sat. By inscribing data to a sat (with a unique ID), it makes that particular sat distinctive from the others, making it immutably non-fungible for those that subscribe to the same convention.
Furthermore, the SegWit upgrade allows witness (i.e., signature) data to be stored in a segregated witness section. It is designed to cost 75% less and, in turn, increases the theoretical block size limit from 1 MB to 4 MB.
Unlike data in the OP_RETURN function, tapscripts are stored as part of the witness data. That means an inscription transaction can occupy an entire 4 MB block while enjoying the “SegWit discount.” Nonetheless, Bitcoin Core, the most popular Bitcoin client, rejects transactions larger than 400 kB, which is still a considerable improvement from OP_RETURN’s 80-byte limit.
Bitcoin Core’s self-imposed limit can easily be bypassed if modified or substituted by other clients. A 3.94 MB inscription transaction was mined in block 774,628 on February 1, which became the most significant Bitcoin transaction (by data size) in history, mining in the largest Bitcoin block.
The figure below is a visualization of the blockspace utilization of the said block, with sizes of squares representing data sizes of transactions. It contains the said inscription transaction denoted in the inscribed content (arguably a vivid drawing), along with 62 much smaller ordinary transactions denoted in monochromatic squares. If Ordinals pick up steam, it can quickly overwhelm the existing blockspace, and other network users could be priced out.
Conclusion on Ordinals bitcoin nft
The Taproot upgrade was meant to improve the efficiency of complex transactions and enhance privacy. The exploitation of using tapscripts for storing arbitrary data on-chain was certainly not the intention of the upgrade.
Some Bitcoin “traditionalists” believe the network should focus on facilitating BTC financial transactions, and on-chain NFTs are spamming the network and wasting Bitcoin’s scarce blockspace. Some even call for miners to censor NFT inscription transactions. These arguments are not new, as the same group also had a similar view regarding Counterparty and the (ab)use of OP_RETURN.
Nevertheless, some think that no one should dictate what can be done on the blockchain and what cannot, as long as transactions are valid (i.e., properly signed) and fees are adequately paid. NFTs or other yet-to-be-discovered utilities could incentivize more organic network usage, which generates more transaction fees and potentially mitigate the issue arising from Bitcoin’s dwindling economic security budget. Censorship could also set a bad precedent and damage the permissionless narrative of the asset.
Whether non-financial transactions are a fair use of the Bitcoin network remains a philosophical problem that does not have an easy solution. It also seems impossible to eradicate the tapscript “loophole” via soft forks that do not hamper backward compatibility or deteriorate network privacy.
It is plausible that the hype around Ordinals dies down gradually, and there won’t be enough willpower to implement meaningful changes to the network to prevent “spamming.” Even if the enthusiasm surrounding it is sustainable, it is infeasible to run NFT marketplaces and host bidding auctions on Bitcoin. Therefore, it would likely remain a niche product for crypto natives. Still, there is a non-negligible chance that it survives and becomes a part of the Bitcoin family.