Bitcoin Ordinals and the The Great Renumbering: Engineers vs Collectors?
Still plenty of debate around the Great Renumbering, and understandably so!
When you're dealing with protocol-level changes, there should be hearty debate. By any measure, the Ordinals community has shown its veracity in the level of engagement and discussion around The Great Renumbering, a proposal by
@rodarmor to upgrade the Ordinals Protocol in a way that would change the ordering of many existing Ordinals inscriptions. Indeed, the Ordinals community has shown that it cares deeply about the future of this very young ecosystem for digital assets on the greatest blockchain, a healthy sign for what's to come.
Over the past week, we've heard multiple arguments around The Great Renumbering. Much of the debate is centered around protecting the integrity of the Ordinals market and its participants by not going back on promises made by Casey and the Ordinals team, mostly around the sequence-labeling (i.e. inscription number) of all existing Ordinals. I.e. if we couldn't trust that things wouldn't change up until now, how can we trust that they won't change in the future?
To be clear, many of the concerns are valid as it sucks to create something or acquire an asset only to find out some of your assumptions are now invalidated without your control. And the nature of governance over the Ordinals Protocol brings up a a very important question, but nevertheless it largely ignores the most important issue at-hand, which is very much about integrity, but not of the Ordinals Market alone. The integrity we should be focused on is the system's integrity, that is to say the long-term viability of Ordinals as a protocol, as code. The integrity of the Ordinals Market very much depends on the protocol itself, not the other way around.
Before we get too deep into the arguments, let's define some terms 🔽
The Ordinals Protocol
Anytime you see "protocol," just substitute it with software or code. If that doesn't work, substitute it with app. Think of Ordinals as an app just like X is an app. Users of the Ordinals App are able to create digital artifacts on Bitcoin, a revolutionary use-case for the greatest blockchain and a huge leap for digital ownership. We are truly living in an exciting inflection point in crypto and digital assets thanks to this code. Shout-out to the Ord Team.
Inscription Numbers
An inscription number is the number associated with an ordinal when the data for that ordinal is inscribed on Bitcoin. It's assigned by the Ordinals Protocol and is viewed largely as the time-state of record for a given ordinal. These numbers are the focus of much of the current debate.
Cursed Inscriptions
A cursed inscription is any inscription that is inscribed in a way that the specification (the code) of the Ord protocol doesn't recognize. Prior to upgrades made in June by the Ord team, these inscriptions were not recognized by the Ord protocol and thus could not be indexed (i.e. used) by marketplaces, wallets, collectors. Once they were officially inscribed, all cursed inscriptions were simply assigned negative inscription numbers, so that they didn't mess with the existing ordering of "blessed" inscriptions, those inscriptions that follow the rules of inscribing recognized by the Ord Protocol.
Indexing Inscriptions
Indexing is the act of iterating through all existing Ordinals Inscriptions and making them available for other software applications to do their tasks such as listing on marketplaces, enabling visibility and tranfersability in wallets, and many other very important tasks. Indexers are the apps that keep track of all ordinals inscriptions, used by marketplaces, wallets, and any app that wants to build something off the history of all ordinals. Without indexers, the Ordinals ecosystem would grind to a halt.
Upgrades to the Ordinals Protocol
As many of us are aware, Ordinals was launched in January of this year as a very experimental release with no intention on behalf of Casey and the team for it to be ready for mass adoption. That said, with the help of an open-source community of engineers, including our team
@OnChainMonkey led by
@huuep, the Ordinals protocol has seen multiple releases with significant upgrades.
Upgrades are changes to the Ord codebase, the code that determines all of the rules around inscribing Ordinals. These changes either add new features enabling new capabilities for users of Ord (aka inscribooors) or improve some critical aspect of the codebase making it easier and more efficient for the engineers working on the Ord code to add new features in the future.
Three of the most impactful upgrades to Ord so far:
Cursed Inscriptions (Release 0.6.0 - Jun 4, 2023)
Recursive Endpoints (Release 0.6.2 - Jun 15, 2023)
Parent-Child Collection Provenance (Release 0.9.0 - Sept 6, 2023)
Edge Cases
A term used in software engineering to describe unlikely scenarios. Importantly, edge-cases are often not accounted for when building software, because they occur in extreme situations. Software is often built as quickly as possible. Accounting for every edge case is near impossible. Cursed inscriptions occur because users of Ord have found edge cases in the way they inscribe. Our
@onchainmonkey Genesis and OCM Dimensions collections are two examples of edge cases. We inscribed both collections with parent-child collection provenance and recursion in mind prior to the Ord protocol recognizing them. In fact, we launched OCM Dimensions on the date that Recursive Endpoints launched (Jun 15, 2023) and the entire collection is still rendered a cursed collection because parent-child collectin provenance was not yet recognized by the Ord code at the time.
OK, so back to The Great Renumbering and what's at stake
Up to this point, Cursed Inscriptions have been the solution (some might call a band-aid) to include inscriptions that the Ord Protocol doesn't recognize. In fact, cursed inscriptions have existed since the very beginning of when inscribors began using the protocol. Because there are so many ways in which one can inscribe, users of Ord have been finding edge cases accidentally and intentionally, creating a very complex problem of how to handle each case.
On the engineering side, this creates an absolute mess for building-out the protocol. Every time a new edge case is discovered, the engineers building the Ord Protocol have to account for this. This ends up slowing down development of other upgrades significantly as we have seen with many of the upgrades so far.
On the market side, every time the Ord Protocol makes a change in how they handle edge cases, the marketplaces and wallets have to re-index and re-jigger their platforms to account for the changes. This is why our OCM Dimensions holders could not see their asset in their wallet for many weeks after they minted the asset.
As a result of both the engineering and market effects of having to deal with , the impediment to progress compounds across the Ordinals ecosystem.
If Ordinals is to scale as an ecosystem, then the software development side of things should be as simple as possible and proceed as quickly as possible. The code as it stands today is at odds with rapid development and the further along we go without making necessary upgrades and simplifications, the more unstable things get.
So, you're saying that everyone who loves their Ordinals inscription number is SOL?
Not at all. In fact,
@huuep put forth an elegant solution that essentially says we should take a snapshot of all existing inscription numbers up to a certain block height (a point in time) and record the ordering by inscribing it permanently and immutably and open to all on Bitcoin. After the block height of this snapshot, the necessary upgrades are made and we get both the permanence of the numbers as well as the necessary upgrades to the protocol.
Seeing the passion for Ordinals from the community has been amazing. This is what a true builder community looks like. I'm confident the community of inscriboors and digital artifact enjoyoors will come together and fix this problem. The future of Ordinals depends on it 🟧⚡️