Last week a poop emoji 💩was sold for USD 28,000. Why? It was the first poop emoji inscription on Bitcoin. Emojis on Bitcoin? Yes. Emojis and digital art have found their way back to Bitcoin in the form of Inscriptions, thanks to the popularity of a recently proposed Bitcoin labelling mechanism known as Ordinals.
Inscriptions are the latest iteration of NFTs on Bitcoin. The first iteration was Colored Coins in 2012, which was aimed at representing all types of non-Bitcoin assets, including real-world assets on Bitcoin by incorporating them in the metadata of a Bitcoin transaction. Then a couple of years later came Counterparty with its XCP token where one could create and trade any kind of digital token on top of the Bitcoin network. Counterparty is where “Rare Pepes” – NFTs inspired by the Pepe the Frog meme – were traded much before NFTs took off on Ethereum.
What are Ordinals?
The Ordinals protocol, formulated by Casey Rodarmor – the co-host of SF Bitcoin Bitdevs, is essentially a numbering system for Bitcoin, or rather satoshis (sats), the smallest denomination of the Bitcoin currency. Just like $1 is divided into 100¢, one Bitcoin is divided into 100 million sats.
The Ordinals numbering system assigns each sat in existence a unique number – its ordinal – much like serial numbers on currency notes thus making each sat distinguishable from others. The difference however is while serial numbers are actually imprinted on the currency notes by the issuer itself (i.e. the central bank), here the numbers are not being assigned by the Bitcoin network itself per se. So people are free to adopt and overlay any numbering scheme they find agreeable and indeed different numbering schemes can exist simultaneously with varying degrees of adoption.
In Ordinals theory, each sat is serially numbered, starting at 0, in the order in which it is mined (created). These numbers are termed “ordinal numbers”, or “ordinals”, as they are ordinal numbers in the mathematical sense, giving the order of each sat in the total supply.
The first satoshi in the first block (i.e. the genesis block) has the ordinal number 0, the second has ordinal number 1, and the last satoshi of the first block has ordinal number 4,999,999,999 (as the genesis block had mined 50 BTC). Each satoshi in existence was created as part of some block reward and is assigned an ordinal accordingly depending on the chronology of that block. As there can ever be only 21 million Bitcoins, and there will only ever be 2.1 quadrillion sats and the last sat to be mined will carry the ordinal 2.1 quadrillion -1 (as we started the numbering from 0).
Numbering the sats is not enough, we also need a way to track them as they get transferred from one wallet to another via transactions. The Ordinals theory provides a way to do that as well. But first, we need to understand how transactions work on the Bitcoin chain.
Account balances on Bitcoin are maintained like currency notes in your wallet (and not like money in your bank account). Each note represents a specific sum of spendable money. Transactions on the Bitcoin chain are made of inputs and outputs of spendable money – similar to cash transactions in the real world. Say you wanted to pay your cab driver $7 in cash. You could hand over two $5 bills and the cab driver returns three $1 bills thus effectively keeping $7. In the blockchain world where there are no restrictions on the denominations of bills (except that the lowest denomination is 1 sat), this transaction would have the two $5 bills from you as input and as output, there would be a $7 ‘bill’ to the cab driver and a $3 ‘bill’ back to you. Now your wallet contains a new $3 bill instead of the earlier two $5 bills and the driver’s wallet contains a new freshly minted $7 bill. The old $5 bills are said to be ‘consumed’.
Replacing $ with sats, we now need to settle the question of who got which sat? Let’s say the sats were numbered 1 to 10. After the transaction, do you have the sats numbered 1 to 3 or do you have the sats numbered 8 to 10? There needs to be agreement on how to do this otherwise sats cannot be tracked over time and the numbering system becomes ineffective.
The ordinal theory proposes that sats be transferred in a first-in-first-out order, according to the size and order of the transactions’ inputs and outputs i.e. while constructing the list of outputs in the transaction if the $3 bill is mentioned as the first output then that bill has the sats numbered 1 to 3 while if the first output is the $7 bill then that bill has the sats numbered 1 to 7. This also means that if a particular outcome with respect to ownership of ordinals has to be achieved, the transaction construction must be done accordingly.
Ordinals do not have an explicit on-chain footprint. Ordinals require no changes to blocks, transactions, or network protocols, and can thus be immediately adopted, or ignored, without impacting existing users. However, as noted above, in order to actually use and control the transfer of ordinals, your wallet needs to implement the extra functionality of being ordinals-aware. Normal Bitcoin wallets will not suffice.
The Ordinals Project
Ordinals is an open-source project developed on GitHub. The project consists of:
- a BIP describing the ordinal scheme,
- an index that communicates with a Bitcoin Core node to track the location of all ordinals
- a wallet that allows making ordinal-aware transactions
- an ordinals block explorer for interactive exploration of the blockchain, and
- functionality for minting ordinal NFTs.
Ordinals as Collectibles
Rodarmor originally believed that since ordinals are unique and can be tracked and transferred, they themselves will become collectables. There is precedence for this in the traditional world. Extending our ‘serial numbers on currency’ analogy, this is equivalent to currency notes with unique serial numbers becoming collectables.
This INR 500 banknote with a “fancy” serial number 100001 is being auctioned for Rs 1000 here.
Rodarmor proposed the following classification for the collectibility of ordinals/sats –
common: Any sat that is not the first sat of its block
uncommon: The first sat of each block
rare: The first sat of each difficulty adjustment period
epic: The first sat of each halving epoch
legendary: The first sat of each cycle
mythic: The first sat of the genesis block
However, as of now, people have shown more interest in the collectibility of inscriptions over that of ordinals themselves.
Ordinal theory assigns identities to individual satoshis, allowing them to be individually tracked and traded. Ordinal theory also enables inscriptions, a protocol for attaching arbitrary content to individual satoshis, turning them into Bitcoin-native digital artefacts.
Inscriptions are created by including content, like an image, text, SVG, or HTML, in an inscription transaction. The content is included in the transaction witness, which normally contains signatures and other data proving that a transaction is authorized.
Along with the content, the inscription transaction contains a content type, also known as a MIME type, identifying the type of content to be inscribed.
When the transaction containing the inscription is mined, the inscription is deemed to belong to the first sat of the first output of the transaction, permanently marking it and distinguishing it from its fellows. Whoever owns that particular sat is considered to be the owner of the inscription.
Using ordinal-aware wallets, this ‘inscribed’ sat can be identified, and its movements and ownership are tracked across time and transactions, allowing inscriptions to be traded, gifted, bought, and sold.
Let’s now go back to the poop emoji inscription that we mentioned at the beginning of the post.
- It’s labelled as Inscription #121 meaning it was the 121st inscription on the Bitcoin mainnet – the number 121 has no on-chain significance – it is assigned by the ordinals indexer (but it’s a handy way to search for it)
- ID refers to the inscription ID which is the same as the transaction ID of the transaction in whose metadata the poop emoji was inscribed (the genesis transaction).
- While not shown here, but can be seen in the ordinals explorer, the inscription belongs to (i.e. is linked to) the sat numbered 1848252357155897 – this is the first output sat of the inscription’s genesis transaction.
- This sat currently belongs to the wallet address bc1pxk4mq730xe366nu3p04xeum9rxr80zgtqw24rdkvlmt27ttqh84q8rffze and hence the owner of this wallet is the current owner of the inscription. (the original owner can be checked in the genesis transaction)
- UTXO is the spendable ‘bill’ containing the sat and UTXO balance is the denomination of the bill.
Inscriptions vs NFTs on Ethereum
On-chain vs off-chain
One of the biggest differences between Inscriptions vs NFTs on Ethereum is that inscriptions in their current form are only on-chain.
As explained by Rodarmor,
There is no way for an inscription to refer to off-chain content. This makes inscriptions more durable, because content cannot be lost, and scarcer because inscription creators must pay fees proportional to the size of the content.
Some Ethereum NFT content is on-chain, but much is off-chain and is stored on platforms like IPFS or Arweave, or on traditional, fully centralized web servers. Content on IPFS is not guaranteed to continue to be available, and some NFT content stored on IPFS has already been lost. Platforms like Arweave rely on weak economic assumptions, and will likely fail catastrophically when these economic assumptions are no longer met. Centralized web servers may disappear at any time.
It is very hard for a non-technical user to determine where the content of a given Ethereum NFT is stored.
Because inscription content is on-chain, it also makes inscriptions immutable. There is simply no way for the creator of an inscription, or the owner of an inscription, to modify it after it has been created. On the other hand, Ethereum NFTs can be immutable, but many are not, and can be changed or deleted by the NFT contract owner.
Inscriptions are scarcer as they require Bitcoin to mint, transfer, and store. Ethereum NFTs, on the other hand, can be minted in virtually unlimited qualities with a single transaction, making them inherently less scarce, and thus, potentially less valuable.
No Smart Contracts
Another big difference between Bitcoin-based inscriptions and Ethereum NFTs is that the latter is governed by smart contracts while the former is not. While it adds simplicity to inscriptions it also makes decentralized trading of inscriptions difficult. Without smart contracts, there are no trustless mechanisms for placing bids and receiving offers for inscriptions intuitively. One of the ways Rodarmor suggests it can be done is by publishing partially-signed transactions –
The owner of an inscription may offer it for sale by publishing a transaction that includes it as an input and contains an output that pays to them the sale price. Any third party can take such a transaction, add their own input of at least the sale price, add an output, sending the inscription to themselves, and finalize it by broadcasting it to be mined. Offers to buy are similar.
Yuga Labs, the creator of Bored Apes and owner of several blue-chip NFT brands, recently released its Bitcoin NFT collection, Twelvefold, via an auction that netted $16.5 million in just 24 hours. A recent report by Galaxy Research predicts that the emergent Bitcoin NFT ecosystem—practically non-existent just months ago—could balloon to $4.5 billion in market size by 2025.
For ordinals-based NFTs to really take off, there are some critical infrastructure pieces that we believe are sorely needed – ordinals-aware Bitcoin wallets and Bitcoin-native NFT marketplaces with good UX. If you are a founder working on any of the above, do reach out to us!