R3ports by Create3 Labs
Bitcoin Ordinals & How To Stake Them
May 3, 2023
➡️ Bitcoin ordinals are pieces of Bitcoin inscribed with rich data (like a dollar bill with a piece of art on it) ➡️ Ordinals aren’t tokens, and there aren't smart contracts involved ➡️ Inscribing Ordinals is a complex process requiring a node, Bitcoin Core, and satoshis ➡️ The lack of documentation requires developers to have a deep understanding of the Bitcoin protocol ➡️ The lack of smart contract capability makes it impossible to create staking solutions ➡️ We enable Bitcoin ordinal staking through partially signed Bitcoin transactions ➡️ We are here to help from the creation of Bitcoin ordinals to building a custom staking solution
Let’s talk about Bitcoin’s answer to Non-Fungible Tokens (NFTs), Bitcoin ordinals aka "Bitcoin NFTs". But before we go into detail, let’s start with a famous easy-to-understand analogy:
Imagine a one-dollar bill. It’s completely fungible with other one-dollar bills but has a serial code, which allows us to identify each dollar bill as unique. Now there is an artist creating a piece of art on that dollar bill. While the bill itself is still worth a dollar, the art on it could potentially be priceless….
This is essentially what a Bitcoin ordinal is, a Satoshi (small amount of Bitcoin) with its own unique value (inscription).
Now to a more sophisticated deep dive on the topic.
What are Bitcoin ordinals?
Bitcoin ordinals are essentially pieces of Bitcoin (individual “satoshis” or “sats” on the base Bitcoin blockchain) inscribed with rich data, such as text or an image. The new Ordinals protocol allows Bitcoin nodes to inscribe each sat with data, creating a Bitcoin ordinal.
By the way, Satoshi or “sat”: Each Bitcoin is broken into 100,000,000 units called satoshis (or sats). Meaning a sat is equivalent to 1/100,000,000 of a single Bitcoin, the smallest possible denomination of Bitcoin ($BTC)
The Ordinals protocol is a system for numbering satoshis, giving each satoshi the ordinal number and tracking them across transactions. This is where Bitcoin ordinals got their name. Satoshis are numbered based on the order in which they were mined and transferred. The numbering scheme relies on the order satoshis are mined, while the transfer scheme relies on the order of transaction inputs and outputs.
At the protocol level, sats are still fungible and always worth one Satoshi. Just like the dollar with the piece of art, you can still spend them. However, an ordinal’s true value depends on its inscription.
How are Ordinals different from NFTs?
NFTs are digital assets created on a blockchain. While traditional NFTs and ordinals share that very basic definition, there are a few key differences.
No Smart Contracts Involved
NFTs have typically been made using smart contracts on blockchains such as Ethereum, Solana, and the BNB Smart Chain, and sometimes, the assets they represent are hosted elsewhere (most of the time off-chain). The smart contract defines the rules and properties of the token, including its name, symbol, and the functions that can be performed with it. This can be done using programming languages like Solidity or Vyper.
Conversely, ordinals are inscribed directly onto individual satoshis, which are then included in blocks on the Bitcoin blockchain. Ordinals reside fully on the blockchain and do not require a sidechain or separate token.
In this sense, ordinal inscriptions inherit the simplicity, immutability, security, and durability of Bitcoin itself. But while ordinals can store data, they cannot execute any actions using smart contracts.
Ordinals Aren’t Tokens
Unlike NFTs, which are minted as completely new tokens, Bitcoin ordinals are a piece of Bitcoin with information directly inscribed onto the Bitcoin blockchain. NFTs are tokens, Bitcoin ordinals are denominations of currency.
Ordinals Store Data On-Chain
Most traditional NFTs on other chains contain reference points to files that are not even hosted on the blockchain (e.g. store their metadata on IPFS). This makes NFTs vulnerable to external (off-chain) attacks.
In contrast, Bitcoin ordinals store their data completely on-chain. This can be slow and costly, but it is also completely immutable.
NFTs can be lost if you lose access to your wallet. But Ordinals, being inscribed sats, can be accidentally spent, as you can with the dollar bill with the piece of art. And even worse, with Cryptocurrencies (like with fiat online banking) you can’t choose which sat will be spent for a transaction or gas. As a consequence, the Bitcoin blockchain could become scattered with "sats with artifacts," almost like tainted dollar bills are in circulation. This is why it’s important to use dedicated Ordinal wallets, but more on that in the next section.
How are Bitcoin ordinals created?
Mining, minting, or inscribing Bitcoin ordinals are the terms that have been used to refer to the creation process. Unlike minting NFTs on other blockchains, which is a relatively mature process, mining Bitcoin ordinals is a technically complex process and lacks intuitive tools.
You basically ‘only’ need a Bitcoin node with the ord app and a command line wallet. The first step in the creation of Ordinals is users downloading Bitcoin Core and syncing the node to the blockchain. After the sync. is completed, the next step is to create an Ordinals wallet and send some satoshis to the wallet to pay for the gas fees. Finally, the inscribing process on the ordinals can be performed.
There are also no-code ordinal mining applications like the Gamma or the Ordinals Bot, that aim to allow users to upload the content that they want to inscribe to create their Bitcoin ordinal.
The tools around Bitcoin ordinals are still at a very early stage. As demand from ordinary users and followers increases, the ecosystem and the tooling should start maturing with more user-friendly journeys. (Teaser!) This is what we are working on!
How do I manage Bitcoin ordinals?
Until recently, there was no designated wallet interface for those who wanted a place to store and transfer their Bitcoin ordinal inscriptions. Which increased the chances of accidentally spending your sats and losing the ordinal inscribed. Today there are tools like the Ordinals Wallet, Hiro, and Xverse that allow users to buy and sell Bitcoin ordinals. Users can buy some sats within the wallet, using on-ramp payment plugins, and perform the transactions to buy and sell ordinals.
To understand the process in full detail, make sure you check out this tutorial.
Challenges with Bitcoin ordinals for developers?
To summarize, ordinals are a new concept in blockchain technology that is still in the early stages of development. Currently, support for ordinals is quite basic, and developers often have to use workarounds to support basic needs. In contrast, NFTs are more established and have more developed support. The lack of documentation about ordinals can make it challenging for developers to understand how they work and how to implement them, which can lead to time-consuming trial-and-error scenarios.
Creating ordinal inscriptions requires knowledge beyond just understanding how to create ordinals. Developers need to have a deep understanding of the Bitcoin protocol, which can be complex and challenging for those who are new to blockchain technology or who don't have a strong technical background.
However, the positive aspect of the development of ordinals is that much of the technology is open-source. This means that developers can learn from others and build upon the work that has already been done, making it easier to create new and innovative solutions using ordinals. As the technology behind ordinals continues to develop, we can expect to see even more exciting applications of this concept in the future.
To summarize, ordinals are a new concept in blockchain technology that is still in the early stages of development. Currently, support for ordinals is quite basic, and developers often have to use workarounds to support basic needs e.g. use off-chain services to provide functionalities that are known from NFTs to be compatible with the current state (e.g. collections, metadata). In contrast, NFTs are more established and have more developed support.
The lack of documentation about ordinals can make it challenging for developers to understand how they work and how to implement them, which can lead to time-consuming trial-and-error scenarios. Creating and working with ordinal inscriptions requires knowledge beyond just understanding how to create ordinals. Developers need to have a deep understanding of the Bitcoin protocol, especially the transaction logic including the ordinal theory, which can be complex, challenging, and costly for those who are new to blockchain technology, are used to account-based blockchains, or who don't have a strong technical background.
Furthermore, the development tools that are available are not as easy to understand and use e.g. Solidity, and the compatibility for ordinals is mostly not given for building more complex solutions.
However, the positive aspect of the development of ordinals is that much of the technology is open-source. This means that developers can learn from others and build upon the work already done, making it a bit easier to create new and innovative solutions using ordinals. As the technology behind ordinals continues to develop, we can expect to see even more exciting applications of this concept in the future.
Why is there no staking in the ordinal domain so far?
Staking is a popular concept in the blockchain world that enables token holders to participate in various activities like voting, governance, and earning rewards. These activities are often essential to the functioning of a blockchain network and can be seen as a way for token holders to have a say in the network's decision-making processes.
However, implementing staking on different blockchains is not always easy. While staking is highly demanded on all blockchains, it is almost impossible to create it on Bitcoin. One of the main reasons for this is the lack of smart contract capability on the Bitcoin network.
Smart contracts are essentially computer programs that execute certain actions when specific conditions are met. They allow developers to create sophisticated decentralized applications that run autonomously on a blockchain network. While many blockchains have this feature, Bitcoin does not. This makes it challenging to create staking on Bitcoin without smart contracts.
Without smart contracts, it is hard to create staking on Bitcoin as it limits the ability to execute specific actions automatically. This makes it challenging to implement the same kind of staking mechanisms as found on other blockchains. However, this doesn't mean that it's impossible to create staking on Bitcoin. Developers are still exploring new ways to create staking mechanisms that can work within the limitations of the Bitcoin network.
Our solution for ordinal staking
We must go deeper into the staking idea to understand what needs to be done: Staking is locking a token for a certain amount of time so it cannot be used as long as the owner decides to unstake or agrees upfront to not use it for a given and communicated amount of time.
This can be created with the existing features of Bitcoin: The Collections and Provenance Sketch must be integrated into the ord wallet to enable staking fully on-chain.
Basically, we use a Partially Signed Bitcoin Transaction in combination with the time-lock feature for the earliest execution time of a TX. With that in mind, we'd like to share some ideas we had to make staking possible.
Staking solution #1
Directly executable TX with time lock on output and burned staked ordinal - fully on-chain.
We create 1 TX at a certain point in time that can be used to get the reward for staking.
The user executes this TX directly, and the reward token is time-locked. It cannot be used for the agreed time.
Input is our Prime Ordinal, a Dummy, the Staked Ordinal, and Coins
Outputs are our Prime Ordinal, a burned Staked Ordinal, the Change for the given coins, and the reward Ordinal.
PSBTs don't need to be stored somewhere
No opt-out - commitment is enforced for the whole time of staking
Compatible with the Collections and Provenance Sketch
The staker pays the inscription of the rewards ordinal
Items cannot be sold because they are time-locked
No opt-out - commitment is enforced for the whole time of staking
Staking solution #2
The most important point for the stakers is the opt-out. Everyone wants to decide on their own if it is time to sell the current evolution and not wait until the time-lock ends. That is why we had to rethink and came to the following solution idea:
We create PSBTs with a time-lock
Inputs are the reward ordinal and the stake ordinal
Outputs are burned stake ordinal and transfer of the reward is to the staker
Opt-out at any time: Items can still be traded, but the staking TX will be invalidated by doing so
Compatible with the Collections and Provenance Sketch
PSBTs need to be stored somewhere, potentially for a long time
Handling the coin inputs for fees is a bit tricky, and care must be taken not to use the coin UTXO in another TX, as this would invalidate the staking TX
All on-chain solutions we are considering need the Collections and Provenance Sketch implemented. If this is not implemented in a certain amount of time, we will create the ordinal inscriptions and publish the Ids on our website. Later we will offer a free swap into new ordinal inscriptions that contain the reference to our prime ordinal.
It’s too early to tell whether Ordinals will have a significant impact on Bitcoin and the protocol or not. But we are convinced, Bitcoin ordinals and their full on-chain approach are here to stay. At least in the NFT community and culture.
Since we consider staking to be a crucial part of the existing and future NFT culture, developing advanced staking solutions for Bitcoin ordinals is our main focus to contribute to an evolving and maturing space at the moment.
If you are interested in learning more about Ordinal Staking and utilizing our solutions or want to create ordinal inscriptions (also based on already existing collections), please get in touch. We are here to help.