ARTICLE AD BOX
This article is featured in Bitcoin Magazine’s “The Inscription Issue”. Click here to get your Annual Bitcoin Magazine Subscription.
Let me start off by acknowledging that Ordinals are amazing! Ordinal Theory is a very clever method of tokenizing individual satoshis and Casey Rodarmor deserves high praise and recognition for gamifying the blockchain and Making Bitcoin Fun Again. For the first time in the history of Bitcoin, we have NFTs on the heaviest proof-of-work chain, preserved indelibly forever!
Okay, now that we got that out of the way, let’s dive into some “inconvenient” history. Ordinals was not the first — far from it. Tokens have existed on meta layers on top of the Bitcoin blockchain for at least a decade. Most have been flashes in the pan like Colored Coins; never quite launched, like RGB; or under-the-radar this whole time, like Counterparty.
You may not have heard of Counterparty — a shockingly high number of Bitcoiners haven’t — which launched in 2014 with a fair “proof-of-burn” that sent 2,130 bitcoin to an irrecoverable burn address, but you may have heard of Rare Pepe, an early, pioneering “tokenized art” collection on Bitcoin consisting of 1,774 hilarious and dank works revolving around Pepe the Frog. RAREPEPE (Series 1, Card 1) commonly referred to as the “Nakamoto Card” sold for upwards of half a million dollars during peak NFT mania. Another card, HOMERPEPE (Series 2, Card 32) was probably the first significant NFT sale ever at $38,000 in 2018 and then again for $320,000 in early 2021.
Oh, did I mention I am an original Rare Pepe artist? I submitted a piece entitled CHAMPAGNETNT (Series 25, Card 38) that poked fun at the then-current ICO boom, and eventual bust. The great thing about the Rare Pepe collection is that it acts as an illustrative time capsule of what was happening in Bitcoin (and crypto) during the 2016-2018 era, warts and all. But this was all before 2021, before NFTs went bananas, so there really wasn’t much speculation or expectation of profit. It was just a bunch of dudes (mostly dudes) hanging out on Telegram and making dank art to share with friends. I gave away half the supply of my card without even stopping to consider if it could be worth something “someday”.
Let’s skip forward a few years. It’s early 2023 and Ordinals is making waves as the shiny new thing. What makes Ordinals novel? A clever method of FIFO (first in; first out) accounting, which reimagines waves of satoshis as individual, trackable particles. It’s an abstraction, because satoshis don’t really exist as individual, non-fungible units. But if everyone agrees on the FIFO accounting method, we can all collectively believe that they exist and therefore they do! The wave-function collapses thanks to the observer effect of Ordinal Theory. And once they exist, we can also pretend that owning a certain one corresponds with ownership of a particular inscription on the blockchain, much like a star registry gives you a claim on some distant sun. Ordinal Theory is a lens through which to view the blockchain in interesting new ways. It’s like magic!
So when I first found out about Ordinal Theory I was completely blown away. I always thought, “Well you can’t just manifest something new into existence simply by claiming it to exist using an arbitrary counting method completely extrinsic to the system itself”. But apparently you can! The artificial walls in my mind that had been built up around “crazy ideas that could never work” suddenly vanished and I could see a clear path in front of me: I can make up stuff too! And that’s how Bitcoin Stamps was born. Well, not exactly. Ideas are a dime a dozen, but the implementation of an idea is really what brings it to life. I’ve had the privilege of working with some great coders and engineers that have been indispensable in launching and evolving the Bitcoin Stamps protocol: Kevin, Arwyn, Regan, B0B Smith, and many others. We were also fortunate enough to leverage the decade-old Counterparty protocol, maintained through many lean years by stalwarts like JDog and Joe Looney, to quickly bootstrap Bitcoin Stamps.
So what exactly is a Bitcoin Stamp? Well, it’s Secure Tradable Art Maintained Permanently.
Essentially, an image file, like a JPEG or GIF, is converted into a long Base64 string — Base64 is a method to encode binary data as printable text — that’s appended to the URI (Uniform Resource Identifier) “stamp”: and placed in the description field of a Counterparty transaction. Explorers and wallets convert these long Base64 strings back into viewable images.
Here is the Base64-encoded string of the very first Bitcoin Stamp (#0):
stamp:iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
A big selling point for Bitcoin Stamps is the preservation of data once minted on the blockchain. How is this persistence of data achieved? The way Counterparty typically operates is to encode data into a transaction’s OP_RETURN. OP_RETURN’s are limited to 80 bytes which is quite restrictive from a “storage” perspective. However, OP_RETURN works well for traditional NFTs that employ an HTTPS pointer to a resource on a third-party server like AWS. Commonly, when you tell people the art isn’t actually “on chain” it’s like telling them Santa Claus does not exist. Alas, it’s true: The vast majority of NFTs throughout the years are mere pointers to off-chain art which makes them very susceptible to bit-rot. When the AWS bill stops getting paid, the art is gone forever.
There is another way, however, to encode larger amounts of data using a standard Counterparty transaction: bare multisig encoding. Essentially, when a transaction’s data exceeds 80 bytes, Counterparty instead chunks and encodes that data into a bare multisig’s key-strings, using a 1-of-3 quorum where two of the three keys are utilized to store data in a sneaky fashion. The one actual redemption key in the multisig that can spend the outputs is a burner: The artist does not actually have control of a corresponding private key. We call this technique KeyBurn as it ensures that the data stored within the UTXO set cannot be removed through spending.
Bitcoin Stamps happen to be extremely SIGOPS (Signature Operations) heavy as a result of how the data is stored. Typical transactions do not contain so many SIGOPS, which has led some mining pools to cut corners over the years, and not count them when including transactions in a candidate block. Everyone is aware of the block size limit, but did you know there is an 80,000-SIGOPS limit per block as well? I didn’t! I found this out when news first broke that F2Pool had created an invalid block that got rejected by the network for exceeding the SIGOPS limit due to all the Stamp transactions in it, which were tied to very juicy mining fees. Expensive mistake! Then they did it again shortly after. That’s 6.25 BTC lost twice, not including transaction fees.
How does this differ from Ordinal inscriptions? Well, I like to say that Rodarmor came up with the most responsible solution for inscribing data on-chain by placing it in the SegWit witness data structure. This is a data structure that’s been designed with optionality in mind: Don’t want it? That’s fine, once your node validates the signatures, the data can be easily discarded. In fact, anything before an “Assume Valid”-marked block doesn’t need to be downloaded at all! Inscriptions are designed to respect the wishes of node runners, and what did Rodarmor get for being so gracious?
OUTRAGE! HOW DARE YOU STORE YOUR JPEGS ON MY NODE!
Bitcoin Stamps takes a different, much less polite, approach. The data encoded in the bare-multisig is not only held in blocks, but also in the UTXO set as unspent outputs. This data is much more difficult to “prune” as every node, by default, maintains a full copy of the UTXO set. So while inscriptions are stored in a blockchain-adjacent data structure called “the witness” which, by design, makes pruning easy, Bitcoin Stamps are stored in actual blocks in the canonical Blockchain data structure as well as the UTXO set held in memory by every node.
Here’s how it breaks down:
Ordinal Inscriptions: stored by post-SegWit, full archival nodes only. Pre-SegWit nodes will never know that your beautiful JPEGs even exist. Sad.
Bitcoin Stamps: stored by every node. Period. Pre-SegWit nodes. Post-SegWit nodes. Full Archival Nodes. Pruned SPV nodes. They all get the Bitcoin Stamps. ALL NODES MATTER.
I like to make this analogy: Ordinal inscriptions are like drawing with chalk on a sidewalk on a sunny day. Bitcoin Stamps is like spraying graffiti on the sidewalk. It’s very rude and antisocial. It’s also very hard to remove.
Now you might be wondering: This sounds too good to be true, Mike, what’s the catch?
Well, there is a catch: Permanent storage on the blockchain is not cheap. Bitcoin Stamps do not utilize witness data so they don’t benefit from the witness discount. As a rule of thumb, Bitcoin Stamps cost at least four times what Ordinals cost to inscribe. But hey, you get what you pay for, amirite? And before you accuse me of fear-mongering, there have been very real discussions by various core contributors about changing the IBD (initial block download) default in Bitcoin Core so that newly spun-up nodes never see your JPEGs in the first place.
As I write this, Luke Dashjr’s OCEAN mining pool has just launched to much fanfare, and it appears that they are purposely not relaying data after OP_FALSE as a means of censoring Ordinal inscriptions.
And while there are some theoretical methods of pruning Bitcoin Stamps out of the UTXO set, like UTreeXO, they are far more invasive than discarding witness data and come with their own trade-offs for full-node operators. Ordinals, magnanimously, make pruning easy while Bitcoin Stamps make it very hard.
Bitcoin Stamps are a lot more expensive to mint than Ordinals but we’ve found that constraints can make for good art. In the words of Leonardo da Vinci: “Art lives from constraints and dies from freedom.” The artist community that’s sprung-up around Bitcoin Stamps tend to gravitate towards pixel and SVG art because they compress much more efficiently than raster art, for lack of a better term.
The size/cost constraint has also led to more recent innovation through recursion where a JSON file is minted that points to a number of previously minted stamp “traits”. By repurposing these “traits”, the cost of a large collection is brought down several orders of magnitude by stripping away the redundant data across a collection. Audio Stamps that mint only a song’s notes (similar to old-school MIDI format) and AI Stamps that mint only a generative seed prompt are additional innovative methods that work around the constraints and deliver novel results.
You want fungible degen tokens? Yeah, we got those too in the form of SRC-20.
Want to get involved in Bitcoin Stamps either as an artist, developer, or collector?
There’s a thriving Telegram community full of people happy to answer any questions you may have, found here: t.me/BitcoinStamps
Here are some links to the ever-growing Bitcoin Stamps ecosystem:
- STAMPCHAIN.IO
- STAMPED.NINJA
- RARESTAMP.XYZ
- STAMPVERSE.IO
- OPENSTAMP.IO
- THESTAMPWALLET.COM
This article is featured in Bitcoin Magazine’s “The Inscription Issue”. Click here to get your Annual Bitcoin Magazine Subscription.