Casey Rodarmor, the mad genius creator behind Bitcoin Ordinals, has largely avoided the spotlight since March. A month and a half after launch, the Ordinals protocol exceeded any developer’s wildest dreams of adoption, long before it reached the current statistics of 32M inscriptions, 180k unique users, and $550M in trading volume, nine months down the line. In September, Casey started getting his feet wet in the Ordinals community again, attending the Ordinals Summit in Singapore and resuming his acclaimed podcast, Hell Money Pod.
But on Tuesday of this week, Casey’s warm up was over. He unveiled a blog post introducing the idea for “Runes,” an alternative fungible token protocol on Bitcoin. In his words, Runes serves to mitigate UTXO proliferation and provide significant user experience benefits compared to other fungible token protocols on Bitcoin.
“Runes are harmis harm reduction. BRC-20s create a lot of unused UTXOs. In order to spend Runes, you have to destroy UTXOs, which is good for the system as a whole. It’s also beneficial for users, enabling simpler PSBT-based swaps. Since a UTXO can only be spent once, you can create a set of transactions and then out of those transactions, you can guarantee only one of those can be mined. BRC-20 transactions can’t do this.” – Casey Rodarmor on Twitter Spaces
What Are Runes?
Runes is a fungible token protocol for Bitcoin, designed to be an alternative to BRC-20, Taproot Assets, RGB, Counterparty, and Omni Layer. In Casey’s blog post he details the differences with Runes and these protocols. Basically, it comes down to the fact that all of the others either work off-chain or are address (account) based.
According to Casey, the off-chain fungible token protocols require you to reconcile the off-chain data with the blockchain, creating an awkward user experience. The ones that are address based don’t work well with Bitcoin’s UTXO-based approach, leading to similar complications for end users.
UTXO-Based Fungible Token Tracking
Herein lies the magic of the Runes protocol. Instead of linking the record of balances to wallet addresses, it puts the records in the UTXOs themselves. A new Rune starts with an issuance transaction, specifying the supply, symbol, and number of decimals, assigning that supply to a specific UTXO. Any amount of Rune tokens can be in a UTXO, no matter its size. The UTXOs are just used to keep track of balances. Then, a transfer function uses that UTXO, splitting it into multiple new UTXOs of arbitrary size, containing different amounts of Runes, to send records to other people.
For example, if I use a UTXO with ten thousand satoshis (arbitrary), it can have a million (any number) Runes in it. If I want to send two friends 100k Runes each, I put the tuple assigning where those Runes go into the OP_RETURN of the Bitcoin transaction. I put in one UTXO, three UTXOs come out; two with 100k Runes each to my friends and the other with 800k Runes to myself.
The Return of OP_RETURN
Casey decided to use OP_RETURN, instead of the Witness part of the transaction, as he did with the Ordinals protocol, because using the Witness can make swaps and PSBTs tricky. For instance, if you have a transaction with two inputs, each of those inputs have a signature, and extra data can be added in the Witness by each. So, if you sign a transaction, another person signing the same transaction can add their own Witness data. This means you could sign it with one set of transfer instructions and so could the other user. This can’t happen with OP_RETURN.
This also means that Runes are separate from the Ordinals protocol. In some ways, this is beneficial; the separation between Ordinals and Runes makes development simpler without each depending on the other. The downside is that Runes can’t take advantage of the already existing user base and decentralization of Ordinals, making it more challenging to start a base of nodes. Conversely, if Runes become more well-liked than Ordinals—since BRC-20s currently form the majority of inscriptions—it could lead the current BRC-20 Ord node runners to switch to Runes.
Standardness Rules Are For B*tches
An interesting problem with Runes is that some transactions will break Bitcoin Core’s “standardness” rules by having OP_RETURNs that are larger than 80 bytes or by using two data pushes. In response to this, Casey mentioned that these standard rules don’t decide what makes it into a block and what’s valid within a block. If a non-standard transaction makes it into a block, it still gets processed. These rules merely decide what the vanilla Bitcoin Core will relay once your transaction is broadcasted. If miners can earn money from fees produced by Runes, nothing will stop them from accepting OP_RETURN transactions that are larger than 80 bytes. In essence, if Bitcoin Core was The Matrix, Casey is like the little bald kid telling you, the Rune user, that the key to bending the spoon is understanding that it doesn’t really exist to begin with.
Benefits to Bitcoin
In unveiling Runes, Casey points out his belief that 99.9% of fungible tokens are nothing more than scams and memes, expressing his disdain for their existence. However, he also acknowledges that he doesn’t foresee their disappearance—much like casinos are here to stay. Rather, he suggests, it would be beneficial if the “shitcoin casino” contributed fees to fortify Bitcoin while also drawing in more users and developers who are taking an interest in other blockchains. He architected Runes to possess a minimal on-chain footprint and to promote conscientious UTXO management. True to his crass style, he likened Runes to offering clean needles to street drug addicts.
Compatibility with Lightning and DLCs
It’s important to highlight a significant advantage of Runes: the fungible tokens would be compatible with both Lightning and DLCs. This is a distinctive edge over BRC-20s, attributed to Runes’s UTXO-based approach. Essentially, this means you could incorporate Runes into various multisig wallet configurations and settle their balances to a diverse set of parties. Competition invariably benefits users, and Runes might vie with Taproot Assets on its own territory, all while introducing new use cases, developers, and users to the Lightning Network.
The Ordinals Community Goes Wild
Casey revealed Runes in a blog post at 6:39pm ET, dubbing it, “a terrible idea” and a “worse-is-better fungible token protocol for Bitcoin.” Within the hour, addressing over 400 people on X Spaces, he described it as “not even a partially formed idea.” Still, the excitement within the Ordinals community was unmistakable. I personally extended an open investment offer of $100k into our next accelerator program to the first team to launch an indexer, issuance or transfer app. And by 1:12am, the first Rune token $RUNE was issued and confirmed in a Bitcoin block. The journey from a nascent blog post to implementation by an independent developer unfolded in less than 7 hours—a pace rarely witnessed on any blockchain, and certainly exceptional for Bitcoin.
This is a guest post by Trevor Owens. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.