Ordinals and other Identifiers

What’s in a number?

Brooks Boyd
MoonCatRescue
7 min readMay 30, 2023

--

The Ordinals project has been a talking point and gaining popularity on the Bitcoin blockchain, and has been compared to other ways of separating and identifying items on other blockchains, but how similar are they really? Many of the terms used to describe Ordinals has been reused from other cryptocurrency projects, but is that an accurate description? Let’s “kick the tires” and see what owning and ordinal is compared to other digital assets.

Project vs Protocol

Ordinals is a project launched by an individual developer, and gained popularity as others started experimenting with it. The key thing to know here is it’s built upon the Bitcoin blockchain; it’s not part of the Bitcoin blockchain protocol itself.

Image recorded as Inscription #0

The Ordinals project set up a way to give every small fraction of Bitcoin (every satoshi) a number, which can then be used as a the unique identifier for that satoshi. This concept has existed for a while in the Bitcoin space (sometimes referred to as “colored coins” in past iterations). But in all those iterations, the means of assigning an identifier to an individual satoshi is done by the colored coin application, not the Bitcoin node software. Hence, users need to first agree to the coloring/identifying process.

A similar concept in another blockchain space is the OpenSea marketplace within the Ethereum blockchain ecosystem. Ethereum NFT contracts have low-level information that can be queried on-chain to determine what they are. But OpenSea created an API system where they gave each NFT collection a separate identifier (for example, the MoonCatRescue collection on OpenSea is acclimatedmooncats, rather than 0xc3f733ca98E0daD0386979Eb96fb1722A1A05E69. The authority behind the acclimatedmooncats label is OpenSea’s centralized database, while the authority behind the 0xc3f733ca98E0daD0386979Eb96fb1722A1A05E69 identifier is the Ethereum blockchain.

OpenSea got the “first mover” advantage as the first large NFT marketplace to gain popularity, and so other marketplaces and tools may choose to use OpenSea’s identifiers for collections. The way OpenSea assigns and maintains collection identifiers is generally reasonable, and most people don’t object to it. But anyone could try and launch a competing standard against OpenSea’s identifiers if they wanted. But if you disagree with the address identifier for that collection, you’re disagreeing with the Ethereum blockchain itself. If you want to create a new identification system to give that collection a new address, that’s creating a whole new blockchain (a much more daunting task!).

So, Ordinals is currently enjoying a lot of traction as a “first mover” in the space, and many may agree with the ordering method chosen for the individual satoshis as reasonable. But that doesn’t prevent the possibility of a new application joining the space with a different numbering system that declares individual satoshis to have different identifiers.

Against the Grain

The core Bitcoin logic allows for separating individual satoshis into their own designated areas, but that goes against the general goal of the overall blockchain reducing the size it needs to be stored by combining satoshis in each user’s address. It’s similar to the idea of getting your salary all in pennies. Technically your employer could pay you all in pennies, and you’d receive the appropriate value for your work. But your employer wouldn’t prefer to do that, as it’s a lot of additional storage space to have that many pennies on-hand, more bookkeeping to make sure they’re all accounted for, and more time needed to actually count out your salary to give it to you. So, while you receive the same value, it’s more overhead for your employer, so it’s actually a loss for them to do it that way.

The underlying structure of how the Bitcoin blockchain tracks user balances is structured to encourage merging together satoshis into combined groups (Unspent Transaction Outputs; UTXOs) at a very low level, and lots of other logic then builds upon that assumption. It’s therefore unlikely that Ordinal-style individual satoshi numbering would get included in the core software, since it goes against the grain of that base logic.

Bitcoin UTXO example diagram by Belotti, Marianna & Bozic, Nikola & Pujolle, Guy & Secci, Stefano. (2019). A Vademecum on Blockchain Technologies: When, Which and How.

In comparison, let’s take a look at how individual tokens work on the Ethereum blockchain. Within the data management of Ethereum, it manages the data as individual “words” of data in a large memory space. That data is expected to be a collection of individual words scattered around the memory space, and all the tooling built on top of that expects that data structure. So a smart contract that wants to be “a token collection” and track lots of small identifiers fits well into that data structure.

Standards and Naming

When an application wishes to have other applications collaborate with them, they often create a “protocol” (set of rules) for how data moves between participants, and may publish it as a “standard” (specific set of rules that won’t change). Anyone can create a protocol and make standards based on it, but the success of those generally depends on whether it meets the needs of a wide base of users, and the popularity of the ones advocating the standard. If a standard is being advocated by a platform’s core maintainers, it generally has more chance of being more widely-adopted. If multiple similar applications each create their own standard, it’s possible for market forces to drive users to the better standard and the others fade away, but more likely what happens is a fragmented ecosystem of multiple similar standards.

From xkcd

The Bitcoin core infrastructure has its own standards-creating mechanism: the Bitcoin Improvement Proposal (BIP) process. Through that process, anyone can propose a new idea to become a Bitcoin standard (BIP2 is the standard by which other BIPs become standards). Several BIPs have inspired other blockchains to implement similar functionality (BIP39 as an example, defines “mnemonic phrases”, which many tools across many different blockchains have adopted as ways to make private keys more human-friendly). However (as of this article being published), the Ordinals data structure and logic is not a BIP.

One particular type of Ordinal has been given the nickname “BRC20”, which makes it look similar to BIPs, but not quite. That nickname actually comes from the Ethereum ecosystem: Ethereum has its own standards-creating mechanism that has a lot in common with the Bitcoin process. The Ethereum process is the Ethereum Improvement Proposal (EIP) process (defined in EIP1), which includes the structure that if the improvement is at the application layer (things built upon the Ethereum blockchain) rather than in the blockchain itself, it gets the prefix ERC instead. ERC20 is a standard that defines a structure for smart contracts that aim to represent fungible tokens. Many tools have been built upon the ERC20 standard, so if new contracts adhere to that standard, wallet software, portfolio software, and exchange software can work with them with no additional work.

The nickname “BRC20” flipped the “E” for Ethereum to a “B” for Bitcoin, but that doesn’t work with the existing BIP process (and there’s already a BIP20 using that identifier), and the requirements that have been defined to lay out what a “BRC20” token is don’t match up with the required functionality for an ERC20 token (ERC20 defines several things assets MUST do to conform to that standard, which cannot be done on the Bitcoin blockchain). So the main purpose of the nickname seems to be intending to just signify “this is a fungible token collection”, but unfortunately using that specific nickname implies more context than that, and the additional context implications aren’t true. The requirements to be a common fungible token on the Bitcoin blockchain might become a BIP of their own, but because the purpose of it goes against the grain of that whole blockchain’s structure, that’s unlikely to be encouraged by the core platform, and definitely would not be assigned ID number 20 if it did come to be.

Conclusion

Lots of people are experimenting with Ordinals, which is a great way to test how flexible a system can be, and see what’s possible from the platform laid out. As users, we should be mindful to treat experiments as experiments; definitely worth exploring, but also not guaranteed to be stable for the long-term.

Image recorded as Inscription 444940; part of the Twelvefold project

Just like how OpenSea had a long stretch of being a huge market share of the “NFT Marketplace” space, Ordinals could have a long “boom” period of growth. But as the experiments built upon it find the extends of what’s possible on that structure, alternate platforms may emerge, and standards get finalized that are different from the initial structures used. That’s not a bad thing, and like how on the Ethereum blockchain there eventually emerged the ERC721 standard that defines how “a non-fungible token” (NFT) should present itself, all projects launched prior to that standard may not comply with that standard, but have a special place as historic trailblazers who tried new things.

--

--

Brooks Boyd
MoonCatRescue

Teaching computers / to make art with just some code. / It is what I do.