An objective look at the technical issues behind Ordinals and the implications on the Bitcoin network.
This is an opinion piece by Mark Goodwin.
ordinal (adj.)
vs. 1400, “regular, ordinary; well-regulated, proper”, from Old French arrangement and directly from late Latin ordinalis “showing order, denoting an order of succession”, from Latin order (genitive ordered) “line, series” (see order (n.)). Meaning “to mark the place or position of an object in an order or series” dates from the 1590s.1
There are two types of numbers; ordinal and cardinal. Ordinal numbers indicate rank or position in a system, while cardinal numbers indicate the number of units of something. You can think of ordinals as the number used to communicate a runner’s position in a race, or even road directions. “Take the third left.” You can think of the cardinals as the numbers used to count the number of jelly beans in that big jar at the fair. In bitcoin terms, the block height of the chain would be an ordinal number – the 10th block – while the amount of satoshis in the transaction fee would be a cardinal number, 1000 sats.
Ordinals is an open-source project by Bitcoin Developer Casey Rodarmor composed of two distinct parts; Ordinal theory and inscriptions.
Ordinal theory is an arbitrary but sensible framework for tracing an individual satoshi’s lineage using an ordinal number they acquired on the show. At the current block height – having had three halves starting at 50 bitcoins (50, 25, 12.5, 6.25) – when a valid block is found, the lucky miner can award themselves 625,000,000 satoshis in the coinbase transaction, which has no input. At the current difficulty, miners use this reserved but otherwise empty entry as additional nonce space for hashing. The Bitcoin network is a series of peer-to-peer databases, full of integers that contain the current state of the protocol. You can think of ordinal theory as a conceptual social lens for all digital data presented in bitcoin blocks. By establishing (cc: arbitrary) rules to visualize how individual satoshis are theoretically distributed after a bitcoin transaction, Ordinal Theory simply suggests a singular perspective for interpreting Bitcoin, explained in its Index. Each satoshi is given a unique ordinal number right from the candidate block, starting at 0, and continuing up to just under 2.1 quadrillion, with 100,000,000 groupings of satoshi being conventionally referred to as “one bitcoin”. This number is set to block issuing regardless of the incredibly rare but legit accounts of miners who managed to complete transaction output Coinbase issuing block rewards without a valid bitcoin address. Every bitcoin transaction except of this Coinbase transaction, requires both input and output. In a bitcoin transaction, the separate UTXO satoshis, or unspent transaction outputs, are completely indistinguishable and therefore atomically fungible when spent through the exit address. Ordinal theory suggests purely socially that there is an order in the distribution mechanism, and satoshis are sent first, first out, and ranked by entry. Because of this arbitrary logistical assumption, you can scan your bitco in the wallet for UTXOs to try to locate rare ordinals. Rare ordinals are both directly derived from the consensus itself, such as the first satoshi of a block after a halving – a legendary ordinal – or even a particular satoshi of a block issued during a personal event. There is a satoshi thus associated with each number from 0 to approximately 2.1 quadrillion, with all sorts of possibilities for numeric repetitions, unique integers and interpretative iterations. An ordinal theorist might even hypothetically evaluate the interpretation of satoshi 5,412,388 as its base26 counterpart, “BLOCK”.
The recently published Regular 0.4.2 is a specialized bitcoin wallet that programs a specific signature of a bitcoin transaction using rules in the protocol consensus to enroll any type of data into the witness sidechain. That is, of course, if it offers market fees and spreads to a consenting miner. This software allows, by ease of access, any buyer wishing to buy space in the ledger, landing mainly in the data of cookies. In 2017, SegWit, a bitcoin softfork theorized by Peter Wuille and Luke Dashjr., among others, removed signature data from transactions within a block and placed it on a block extent of approximately 4MB. Introducing a new metric for block size in the form of weight units, SegWit has created a distinction between bytes and vbytes (four weight units), limiting the maximum block weight derived approximately from taking four times the bytes not cookies (transaction inputs and outputs) and subtracting it from the total cookie data (signatures and unlock scripts). This was executed so that previous generations of Bitcoin software could still validate transactions, but actually increased the available block size by releasing the 1MB block limit set by Satoshi in late 2010. SegWit was also designed to solve malleability attacks by divorcing cookie data in order to retain the transaction ID. The idea of this “sidechain”, economically, was to be reduced in the rate of satoshis per vbytes to encourage the execution of slightly more complicated bitcoin scripts that have traditionally enabled scaling efforts; the Lightning Network itself requires HTLCs, or hash time-locked contracts, to probabilistically enable trust in this exponentially more efficient shared UTXO payment channel. Taproot, a 2021 bitcoin soft fork enabled other op_codes and Merkelized Alternative Script Tree (MAST) with a transaction type called P2TR, or pay to Taproot script, as well as increased standardization limits for data relay . While SegWit was a critical ledger state change when this witness data block extension was created, Taproot was more of a system update that unlocked potential scaling and privacy features. Both of these forks are necessary for the specifics of how ordinal 0.4.2 works exactly, but the ability to pay miners for block space to include arbitrary data in bitcoin has existed since the genesis block. This is perhaps most infamously done in OP_RETURN, which allows used outputs to display a message or encode a key in its available 40 bytes, leaving the UTXO unusable, but easily prunable from the UTXO set. .
Ordinal software allows users to generate valid bitcoin transactions containing arbitrary script data such as text files, PNGs, or even a program script itself. These transactions are signed using this modified wallet software, Ordinal 0.4.2, in the form of an op_code “envelope” which is ultimately written to the transaction’s cookie data. This wrapper is constructed using the OP_FAIL code, which by default does not push the code below it into the programming stack. The data of an inscription, containing a header of file type data and the file itself, is therefore placed in the OP_IF instance below this one dedicated to executing op_code and is sealed with the final program OP_ENDIF if executed. Due to the use of this op_code, registration data is ultimately entirely prunable from your own node, and the computation needed to validate a presumably expensive heavy script is potentially less than a single open lightning channel. Since block size has been static since SegWit, the implications for node managers’ fears of centralization due to the increased costs of running a node are no more exacerbated than if blocks were simply regularly full; maybe even less. Either way, near-full blocks are an expected outcome of a successful bitcoin network and one that the network should be prepared for.
Inscriptions are associated with a specific satoshi of the transaction, and could therefore be associated with a noted satoshi in ordinal theory. This simulated way of reading the Bitcoin blockchain creates potential opportunities for users to sentimentally value one singular satoshi over another. If the holder of said ordinal is willing to exchange it for more than its singular satoshi value, this could, in a specific sense, break fungibility. But again, this has always been the case and quite possible in localized exchange rates for fiat pairs, market arbitrage, a poorly timed transaction, or even naive peer-to-peer barter. There is nothing in the inscriptions or the ordinal theory that causes a change of state in the atomic principles of a satoshi; it is purely a social lens. Privacy issues are resolved the same way; there is no molecular tracer in an inscription that tracks your individual sitting in the pure functional fungibility of a bitcoin transaction. They all come out exactly the same, but you just happen to refer to one as such. You can spend an ordinal just like you would any other satoshi.
Bitcoin is a database with a specified consensus, and there is nothing in Ordinal Theory or Listings that violates those rules. But there’s also nothing against consensus running an adversarial node in a lightning route gathering metadata for monitoring, pinning attacks, using chain analysis software, or even a bitcoin donation scam. . The thing is, just because something is a possible use case for bitcoin doesn’t necessarily mean it’s a net good for users of the system. And yet Bitcoin is a system of rules, not prejudices, and the arbiter of validity must remain the code. The nodes that enrollees have synced since the launch of Ordinal 0.4.2 contain the rules of what constitutes a valid block and dynamic block space fees have defined the truth-only market with its legitimately met economic demands. Listings have a unique property of selective impermanence with the potential to utilize the database and increase market demand for bitcoin asset and bitcoin block space. The worst action to take would be one that hastily distorts the hard-fought conditions currently set. Someone could always just buy every block in perpetuity. Someone could always have stuffed arbitrary data into smart transactions if they wanted to pay the fees.
But why the hell would you waste your satoshis doing that?
You might accidentally spend a rare one.