Running Bitcoin, Runes and Ordinals
6/10/2024
Introduction
Over the past year, the Bitcoin ecosystem has had waves of interest every few months as tooling, wallets, platforms and assets have continued to steadily improve.
What started off with a rush to own a sub-10K inscription, for provenance, has evolved into the formation of new, niche communities, both for memecoins as well as for Ordinals. To date, there have been 67M individual inscriptions, including ordinals, BRC-20s, runes and more. The landscape has changed tremendously: Ordinals hype was replaced by BRC-20 hype (for a short lived period). BRC-20s have since been replaced as the popular “token” by runes, which are a cleaner, more simple version of BRC-20s.
Unlike interacting with tokens on Ethereum, Solana and other L1s or L2s, interacting with tokens and ordinals on Bitcoin is difficult. The experience has slowly become better: during the initial phase, most of trading was through OTC Discords and spreadsheets. Since then, trading has moved to more reputable marketplaces, such as MagicEden and OKX, as well as some smaller, but purely Bitcoin native marketplaces, such as Unisat. The experience of trading and transacting with non-BTC assets on Bitcoin has drastically improved, for the better. Despite certain issues still present, such as the potential to burn a valuable sat or inscription, as new asset types and transaction types are added, the experience is now comparable to that of an underdeveloped L1.
A natural question regarding trading and transacting with non-BTC assets on Bitcoin is:
- If the experience is not good, why is there any interest?
This interest, in our opinion, arises from three main factors. Firstly, participants are financially motivated: they believe that if the experience is subpar, then they are early, which means they can profit. Secondly, the Bitcoin chain has a lot of capital, and users expect that capital to flow into other non-BTC assets. This reasoning is somewhat shaky, given that Bitcoiners tend to want to hold onto their Bitcoin, and not spend it. Lastly, a less discussed reason is that assets on the Bitcoin chain are unique. Each token and ordinal is inscribed onto a sat. For example, while NFTs on Ethereum are technically on IPFS, a peer-to-peer distributed network for storing and sharing data, Ordinals are etched onto sats. This means that while Ethereum or other L1s and L2s require that their NFTs point to a URL of the image it is associated with, on Bitcoin, Ordinals encode the image that they represent.
The Trillion Dollar Opportunity
Bitcoin is a $1.4 trillion asset, digital natives have been accumulating BTC for years and, thanks to the approval of the ETF, TradFi has joined the party. The desire to hold BTC stems from its store-of-value characteristics and general feelings of apathy toward the traditional financial system, but there’s more to the story. Recent technological developments have brought increased utility and functionality to the chain.
The ideological nature of the Bitcoin community has traditionally been a barrier to both innovation atop Bitcoin, as well as the use of Bitcoin on other chains. However, the introduction of inscriptions and runes offers a Bitcoin native solution that lines up with the moral compass guiding the community.
Historically, attempts to add functionality to BTC have come in the form of wBTC (wrapped BTC on Ethereum), while attempts at building out protocols that facilitate the use of BTC on the Bitcoin network have been few and far between. Much of the capital in Bitcoin has remained stagnant for years as there was little use for it on chain; however, Casey Rodarmor has changed this in a drastic way. Inscriptions and Runes have brought NFTs and memecoins to Bitcoin, which has unlocked an incredible amount of capital.
What’s the point of all this? The desire to speculate leads to increased demand for blockspace, this leads to higher fees for miners. If we’re all going to speculate, why not do it on Bitcoin. Any attempt at adding additional utility to the chain can only make the underlying asset, Bitcoin, more valuable, and more money-like - even if it leads to short term backlogs in the mempool and unconfirmed transactions. Increased activity builds community, it attracts users, and ultimately serves as a tool that connects users to both Bitcoin and its belief system.
Historical Context:
In order to understand the significance of BTCFi, it’s worth understanding the structures and barriers that have traditionally hindered its development.
Smart Contract Compatibility: Bitcoin’s scripting language was intentionally limited in its complexity in order to prioritize security and simplicity. More complex L1s like Ethereum were designed from the start to include a Turing Complete programming language, this allowed developers to build DeFi protocols that ran on complex code – a level of complexity that the Bitcoin L1 was not designed to handle. This complex code is the backbone of DeFi, it allows for the automatic and decentralized execution of financial services such as lending, borrowing, liquidations and trading, etc.
Scalability and Transaction Speed: Bitcoin processes transactions slowly, 3-7 tps with 10min blocktimes is not the ideal environment for peformant DeFi applications. As one might summarize, DeFi applications require high throughput and quick confirmation times in order to function effectively. Ethereum and other L1s have implemented solutions such as L2s or bulky validators in order to increase system performance.
Development Community and Ecosystem: The Bitcoin ecosystem lacks the same level of development frameworks, libraries, and other tools required to easily build and deploy DeFi applications. Other L1s boast a large community of active developers who are continuously looking to innovate, this is a culture that has been largely missing from Bitcoin.
Core Thesis: There is a fundamental difference between Bitcoin and other L1s, and that is the core thesis behind why they exist. Bitcoin’s thesis has ossified into a Store of Value, while Ethereum and other L1’s thesis has been far more dynamic.
Design Philosophy: The intention behind Bitcoin was that it would be used largely in isolation, there have been small changes, such as SegWit, which have subsequently fostered the development of scaling. However, as an overarching theme, Bitcoin was not designed in a way that makes it easy to build secondary layers and/or applications on top of the base layer. Ethereum, on the other hand, was built as a general purpose smart contract layer – it was designed with the intention that protocols could be built on top of it. This can be seen in the roadmap and the push for EIPs that scale the ecosystem.
Prerequisites and Context
Fungible vs Non-Fungible Tokens
The idea of fungibility can be boiled down to the ability of 1 unit of a good to be exchanged for another unit of the same good – i.e., are there identical units of the same good? Whether a good should be fungible or not depends on the nature of good as well as the goods use case.
A $1 bill is a good example of a fungible good, a dollar can be exchanged for another dollar, there’s no meaningful difference. In the context of TradFi, equities are fungible – one Tesla share is exactly the same as another. The same logic can be applied to crypto assets, one BTC is exactly the same as another.
On the other hand, non-fungible goods are goods which are similar, but not the same. The Last Supper and Salvator Mundi are both paintings by Da Vinci, but they have different values – a straight swap would leave one party at a deficit. One diamond is not fungible with another, there are differences in cut, clarity, color and carat. NFTs are, by definition, non fungible goods. one NFT is not, and should not be, the same as another.
Depending on the nature of the protocol that is being built, developers need to select a token standard that defines the fungibility characteristics of a token.
Notably, even though Runes are fungible, they are still not easily as tradable as their counterparts on Solana and Ethereum. Trading and DeFi infrastructure on Bitcoin is still limited. Transacting with runes is based on a “lots” system, where users have to split lots. For example, on Solana, selling 1 SPL TOKEN is trivial. You simply need to input the amount of tokens you want to sell. However, on Bitcoin, tokens come in lots. If I have 10,000 TOKEN, and I only want to sell 1, I need to split the lot first, and then list the individual TOKEN I want to sell. Although this does not make for great user experience, it is also the initial steps in building out more complex financial infrastructure on Bitcoin, and is being worked on actively by both app and wallet developers.
Accounting Models
Largely speaking, there are only 2 accounting models used by L1s – Bitcoins UTXO model and Ethereum’s account balance model. Similar to double entry bookkeeping, the purpose of the accounting model is to keep track of balances across a decentralized database.
The Account-based model (Ethereum) – this is the model we are all familiar with, it’s essentially exactly the same as how bank accounts work. This model keeps track of the overall account state (balance) without worrying about the specifics. Transactions are valid if account balance > outgoing transaction. Going back to the analogy of a bank account: it doesn’t matter how your account got to its value, all that matters is that your account balance is larger than the outgoing transaction.
The UTXO model (Bitcoin) – this accounting model keeps track of the specific denominations that got the account to the overall balance. As a mental model - the UTXO system can be analogized to how a payment in cash works. You cannot pay someone $5 by ripping a $10 bill in half, the $10 is paid and $5 is received as change. If you have two $5 bills and four $1 coins, you cannot send $6.50; you are required to give the seller $7 (one $5 bill and two $1 coins) and you will receive $0.50 change.
UTXOs in a similar manner – a set of UTXOs are pooled together and sent to the receiver, following which the change is sent back as a new UTXO.
Ordinals & Ordinal Theory:
Ordinal Theory is the practice of identifying, numbering, inscribing, tracking, and trading individual Satoshis. In this world, an individual satoshi is called an Ordinal. ‘Inscriptions’ is the process of attaching a piece of digital content/data to a Satoshi.
Basics & Context
The back story goes as follows: Casey Rodamor had always been fascinated by generative art, he watched the ETH NTF season and was captured by the Art Blocks Project. However, he felt the ETH developer UX and centralisation concerns were such that he could not build and sell his own generative art on ETH. Thus, he challenged himself to bring NFTs to BTC in a manner that is culturally acceptable to Bitcoin and the wider community – no token, no self enrichment, no changes to BTC, etc. The Ordinals protocol was born, and the rest is history.
Ordinal numbers are numbers which define the position of something in a series. According to Ordinal Theory, every single satoshi in Bitcoin has its own unique serial number that is assigned in the order that the satoshi was mined, this locates the position of the satoshi in the entire supply. For example, ordinal number 1.05 quadrillion is in the middle of the entire supply as there will be 2.1 quadrillion satoshis ever minted. The Ordinal number is the name given to the serial number that identifies a satoshis location.
For an NTF to exist on-chain, it needs to be attached to something. This allows the owner to be identified and allows for the NFT to be sent around. The issue is that Bitcoin does not have any native identifiers that are stable – addresses are temporary and UTXOs are destroyed and created, as a result there is no stable identifier that we can attach anything to. The equivalent stable identifier in Ethereum is the smart contract address and token ID. In Bitcoin, this is solved by ordinal numbers – an individual satoshi can be identified and labeled via the ordinal protocol, this gives us a stable identifier. Given satoshis will exist in perpetuity, this allows anyone to link a piece of content to a satoshi and ownership of the content is transferred with ownership of the satoshi.
It’s important to note that ordinals are a convention. Participants are required to ‘opt-in’ to the theory by downloading and running the ORD client. Ordinal theory is an entirely “off-chain” phenomena, a form of social consensus; those who don’t run the ORD client are not able to identify individual satoshis or know in which order they were mined. Ordinal Theory allows us to order the satoshis within a block reward, and by extension, we can then order every satoshi that has ever existed.
Valuation
Since ordinals can be tracked and transferred, the next logical step is for people to start collecting specific ones that they term valuable. The idea of what constitutes value is entirely subjective and collectors can decide for themselves.
Casey offers a subjective guide to valuing ordinals. He uses the cadence of different events in Bitcoins block production as well as the associated probability, both absolute and conditional, of these events happening to assign different rarity levels.
Events and Cadence:
-
Blocks: Approximately every 10 mins.
-
Difficulty adjustment: Every 2016 block.
-
Halvings: Every 210000 blocks
-
Cycles: Every 6 halvings, a difficulty adjustment and a halving coincide, this is called a cycle. Cycles last approximately 24 years.
This gives us the following rarity levels:
-
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
With the following Total Supply:
-
Common: 2.1 quadrillion
-
Uncommon: 6 929 999
-
Rare: 3437
-
Epic: 32
-
Legendary: 5
-
Mythic: 1
Value is subjective – other markers of rarity could could include who mined the BTC (e.g., Satoshi), when it was mined (e.g., BTC Pizza Day), or if they participated in a famous transaction (e.g., the first Bitcoin transaction between Satoshi and Hal Finney). Value is entirely subjective to the eye of the beholder. There is a certain beauty to the laissez-faire nature of this protocol and its valuation methodology, every design decision manages to embody the belief system of Bitcoin.
Inscriptions
A numbering system and collectable satoshis are cool, but lack staying power. Once we are able to attach a piece of digital content to the ordinal, it gets a lot more interesting. Inscribing is a method of inserting arbitrary data (images, text, audio, or even software) onto an individual satoshi.
The inscription data is posted to the bitcoin blockchain as part of the witness data, the section that holds the transaction signatures. It then lands in the mempool, and once mined, it becomes a permanent part of the blockchain. It is trackable to anyone using custom software such as the Ordinals Explorer.
Unlike regular Bitcoin transactions, creating, minting, and tracking inscriptions requires the holder to run the proprietary ORD client on top of a fully synchronized full node. The ORD client works with Bitcoin core, this allows users to inscribe individual satoshis and track the ordinals across the UTXO set. A regular bitcoin wallet was previously not able to distinguish between an inscribed satoshi and a regular satoshi, but newer wallets and iterations are adopting different conventions.
Although this is a nascent landscape, the Ordinals & Inscriptions ecosystem is slowly heating up. The build out of liquid markets, trading venues, wallets, etc is happening at an impressive speed. Nobtable projects and infrastructure include:
-
Collections: Taproot wizards, ORD Rocks, Bitcoin Puppets, Quantum Cats
-
Marketplaces: MagicEden, OKX Marketplace, and Unisat Marketplace
-
Explorers: Ordiscan, OpenOrdex, ord.io, and Ordinals.com have built tools to navigate the inscriptions landscape.
-
Inscriptions as a service: Outsource the complexity of minting an ordinal to a 3rd party.
-
Wallets: MagicEden, OKX, Unisat, and Xverse.
BRC-20s
Bitcoin Request for Comment 20 (BRC-20) was created using the ordinals protocol, the goal is to introduce a fungible token standard analogous to ERC20 on the Ethereum Network. With the invention of the BRC-20 token, Bitcoin supported both fungible and non-fungible tokens.
BRC-20 tokens are unique in that they are inscribed directly onto the satoshis using JSON code. In order to create a BRC-20, one needs to craft a script file that holds the token parameters (pictured below).
The high level overview of BRC-20 can be understood as follows:
BRC20 tokens use the Ordinals protocol to inscribe metadata on the Bitcoin blockchain, creating a decentralized way to mint, transfer, and trade tokens. The process involves creating inscriptions (akin to NFTs) to record minting and transferring events. Ownership is essentially represented by these inscriptions.
Mint, transfer, and selling mechanisms:
Minting a BRC-20 – When minting a BRC20, a JSON script is inscribed with token parameters such as token name, limit, and total supply.
Transferring a BRC20 – In order to transfer a BRC20, a new inscription is created. This inscription contains details of the transfer such as the amount and the receiver’s address.
Mechanics of ownership – The original script (mint inscription) remains associated with the original owner and new inscriptions (transfer inscriptions) are created for transactions. Buyers purchase these transfer inscriptions, which act as proof of ownership. Hence the notion that purchasing BRC20s is analogous to purchasing a proof of ownership certificate.
Despite their design flaws, they have taken off – the previous rise in inscription popularity was, in large part, thanks to the adoption of BRC-20s.
BRC-20 v ERC-20
BRC-20 tokens exist on the Bitcoin blockchain, while ERC-20 tokens exist on the Ethereum blockchain. As a result, the inherent properties of the L1 are imposed on the token – speed and fees come to mind.
ERC-20 tokens are created using smart contracts on Ethereum and have a significantly higher degree of programmable functionality as well as a wider scope for enforcement of various operations and rules compared to BRC-20. As mentioned earlier, BRC-20 are only able to perform 3 different operations. The BRC-20 token standard had several downsides including the need for multiple transactions to mint, transfer, or claim tokens, the creation of excessive UTXOs, and the ability to transfer only one token at a time.
-
1st BRC20 wave
-
2nd & 3rd Wave from new innovations
-
4th wave with pre-rune & halving speculation
Runes
Runes allow Bitcoin transactions to etch, mint, and transfer Bitcoin-native digital commodities. Whereas every inscription is unique, every unit of a rune is the same. They are interchangeable tokens, fit for a variety of purposes.
The Runes protocol is not a token, but a venue for people to create non-BTC coins on Bitcoin. Tokens created using this token standard are called Runes. Runes were developed with the intention of creating a cleaner, more simple version of BRC20. It utilizes the UTXO based accounting model of Bitcoin (outlined earlier), this allows multiple tokens to reside within a single UTXO. The Runes protocol expands the UTXO such that it stores both Bitcoin and Rune balances, thus inheriting Bitcoins security and decentralization properties. Runes are etched, minted and transferred using regular Bitcoin transactions.
Runes is an op_return based protocol. An op_return is a way of creating a Bitcoin output that solely carries data – this streamlines the process and reduces clutter. During a Bitcoin transaction, the Rune balance on input UTXO is by default transferred to a new UTXO upon the destruction of the one holding the Rune balance.
Initially, new token names are required to be a minimum of 13 letters long, and roughly every 4 months, this minimum character limit is dropped by 1. This allows for a slow diffusion of token names as well as sustained interest in the protocol.
Runestones
Instead of using the witness (like ordinals), Runes uses data within the op_return field as a way to include specific instructions. Users can etch (deploy), mint, and transfer Runes by embedding instructions in the op_return field. Runestones can be thought of as protocol messages that store transfer instructions in the UTXOs – these instructions determine how Runes are transferred within the output, such as target address and amount being transferred. Rune balances on the UTXO input are destroyed when transferred to the UTXO output.
General Thoughts
Runes offer a fresh avenue for speculation, entertainment, and community-building. Similar to Ordinals, Casey has managed to create a protocol that achieves the stated goal without compromising on the value system inherent in the bitcoin ideology. Again, similar to Ordinals, Runes offers a conduit for attracting liquidity and attention to Bitcoin – the end result is something of a vibrant speculative ecosystem, all paying fees to miners. It’s worth considering the idea that if Runes make it onto the lightning network, there could be Runes based stablecoins. We’ve got the building blocks for another DeFi summer here.
Runes versus BRC-20
While both Runes and BRC-20 tokens are fungible assets on the Bitcoin network, there are several key aspects across which Runes are an improvement upon BRC-20.
-
The increased usability and functionality of Runes is primarily thanks to its use of UTXOs, this has allowed Runes to be compatible with the lightning network. Protocols that are UTXO based fit more naturally into Bitcoin and ultimately encourage responsible UTXO management. BRC-20 transactions create additional UTXOs, while Rune transactions destroy UTXOs.
-
BRC-20 requires the use of Ordinal Theory in to create fungible tokens, bearing in mind that Ordinal Theory was created for the labeling and tracking of NFTs, this has resulted in the BRC-20 carrying additional design complexity.
-
Similar to BRC20, Runes have an open mint mechanic, this enables fair distribution. However, Runes offer greater flexibility in their creation, there can be a fair distribution, open mint, or a user can mint the entire supply to a single address (like ERC-20). This is important in the event that a protocol like Circle (USDC) wants to use the Runes protocol. This expanded launch mechanism should drive adoption as fair launches tend to hinder the incentive to contribute to an idea for any extended period of time.
-
BRC-20s are susceptible to front running, participants can see your inscription transaction in the memepool and front run it by paying a higher transaction fee. Runes try to negate this by using a commit-reveal scheme, users privately commit a transaction and the details are only revealed shortly before confirmation.
Other BTC DeFi and Innovations
It’s worth exploring the other DeFi protocols that are tangentially related to BTC, as well as upgrades that will enable further development. This helps to paint a full picture of everything going on in the ecosystem.
MultiBit Bridge
Multibit has pioneered the first dual-sided bridge for transfers between BRC20 and ERC20 tokens. Multibit offers a secure and efficient bridging mechanism that allows for the transfer of tokens between Ethereum, Bitcoin, and Binance Smart Chain. In theory, this should enhance the liquidity of BRC20 tokens as well as promote the growth of the Bitcoin ecosystem.
BitVM
BitVM is a computing paradigm allowing for Turing-complete Bitcoin contracts, this enables far more complex computation to be verified on the Bitcoin Blockchain – and it requires no changes to the network’s consensus rules. BitVM does not bloat the blockchain as the computations are not executed on Bitcoin, they are only verified using the Bitcoin network – similar to optimistic rollups on Ethereum.
A prover makes a claim that a given function evaluates for some particular inputs to some specific output. If the claim is false, then the verifier can perform a succinct fraud proof and punish the prover. With this mechanism, any computation can be verified on Bitcoin.
Stacks
Stacks is a Bitcoin L2, it enables smart contracts on Bitcoin. As mentioned earlier, a limitation to building on Bitcoin was the limited scripting language. Stacks solves this through the use of Clarity, a programming language that brings smart contracts to Bitcoin. Stacks smart contracts can interact with Bitcoins global state and on-chain data, this allows for the creation of DeFi apps that react to native Bitcoin transactions. Stacks uses a Proof of Transfer consensus mechanism and settles all transactions back to the main chain every 10 minutes.
OP_CAT
With the introduction of Ordinals, BRC-20s, and Runes there has been somewhat of a cultural revolution – Bitcoin holders have begun to see the possibility of expanding the functionality of the network beyond just its SoV thesis. In pursuit of this new vision, it has been suggested that reintroducing the OP_CAT opcode is the next step. The CAT in OP_CAT is short for concatenation, as the opcode allows for concatenating the two items at the top of Bitcoins scripting stack into one.
OP_CAT was introduced to Bitcoin in its early days by Satoshi, but was then removed by Satoshi in 2010 due to fears that it offered an attack vector. The hypothesized attack involved repeatedly duplicating and concatenating the items at the top of the list, which would overflow Bitcoin clients.
OP_CAT could allow for several new innovations on Bitcoin, most interestingly, it would allow for a trustless bridge to be built between the main chain and a ZK L2. Should this be built, it would allow for a cryptographically secured smart contract ecosystem to flourish on Bitcoin, while maintaining security guarantees.
Author:
Written by @0x8104. Substack here.
References:
Bitcoin’s Upgrade - Rune Protocol
UTXO vs. Account Models - Alchemy
Bitcoin Inscriptions and Ordinals - Galaxy
Bitcoin Ordinals - Origins Research
Guide To Inscriptions - Nervos
Disclaimer:
The information and services above are not intended to and shall not be used as investment advice.
You should consult with financial advisors before acting on any of the information and services. ASXN and ASXN staff are not investment advisors, do not represent or advise clients in any matter and are not bound by the professional responsibilities and duties of a financial advisor.
Nothing in the information and service, nor any receipt or use of such information or services, shall be construed or relied on as advertising or soliciting to provide any financial services.