Casey Rodarmor joins me to chat about Ordinals and Inscriptions. Now we get into the pros and cons of this, and whether it is bad for Bitcoin. We chat:
- What Ordinals and Inscriptions are
- The ‘bull’ case for Ordinals and Inscriptions
- Do they spam the bitcoin blockchain?
- Witness data on the input side, not output side
- Is it harder to validate?
- Can it even be stopped?
- Marginal consumption of block space
- Twitter: @rodarmor
- Site: Ordinals.com
- Podcast: https://hellpodcast.money/
- BitMEX post: https://blog.bitmex.com/dapps-or-only-bitcoin-transactions-the-2014-debate/
- Andrew Poelstra’s commentary: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-January/021372.html
- Swan Bitcoin
- Cory’s blog post for Swan: Bitcoiners, it’s winning time
- Unchained Capital (code LIVERA)
- CoinKite.com(code LIVERA)
Stephan Livera links:
Casey, welcome to the show.
Casey Rodarmor – 00:03:18:
Thank you very much. It’s a real pleasure. I am a long-time listener of the pod. It’s on my short list of Bitcoin podcasts. So it’s really surreal. You’ve been whispering into my ear as I go to the gym and I do whatever for a long time now. So it’s very surreal to actually be talking to you in person or virtually.
Stephan Livera – 00:03:40:
Yeah, of course. Well, that’s great. Well, thank you. And look, there’s been a lot of people asking questions about ordinals, inscriptions, all this stuff.
Casey Rodarmor – 00:03:49:
It’s so surreal to me. Like, people are using all these weird words that I made up. It’s crazy.
Stephan Livera – 00:03:56:
And so, look, I’ll be honest. I’m probably more in the sound money camp, and I’m maybe a little bit…
Casey Rodarmor – 00:04:01:
I’m in the sound money camp, too. I would not do this if I didn’t think that it was good for Bitcoin’s sound money use case. I think that the most important thing that Bitcoin can do is be… I got into Bitcoin because I hate the government, and I think that the government does things very badly, and one of the things it does very badly is money. And so I really like the idea that if there’s a money that’s better that the government doesn’t control and people can opt into it and it benefits them individually and as a group to opt into it, that would be great. And I saw Bitcoin as that, and so, yeah, just saying, I’m with you, and I think that that part of Bitcoin is the most important thing that Bitcoin can do.
Stephan Livera – 00:04:40:
Got you. Yeah. Okay, cool. So before we get into it, let’s get a bit of a quick background. I know you’re involved with San Francisco Bitcoin Devs group, and tell us a little bit about yourself so people know.
Casey Rodarmor – 00:04:50:
Sure, yeah. I’m a software engineer. I live in the Bay Area. I grew up in the Bay Area. I used to work for giant, evil tech companies like Google and Facebook, regrettably, I also did a stint as a developer at Chaincode Labs, where I worked on Bitcoin Core, really a very minor Bitcoin Core contributor. I don’t even really call myself a Bitcoin Core dev because it was like fix some tests and make the code a little prettier. So was a contributor to Bitcoin Core at Chaincode Labs, worked on really some just some random stuff. Open-source developer. I write this program called Just, which is like a make replacement, which is sort of a productivity tool for programmers to save and run commands. I worked on another Bitcoin project called the Gora, which was just a way to sell it was a web server where you could put up files and sell them in exchange for Lightning Network payments and that nobody really wanted to use. It didn’t really take off. Also, I’m the host of the San Francisco Bitcoin Developers Meetup, which is a BitDev Socratic Seminar style meetup. I took over hosting duties from Alexander Leishman, the CEO of River, when he was no longer able to do it a little while ago. So I’ve been doing that for about six months, seven months. And most recently I started working on this thing, created this thing called Ordinals that I started working on about a year ago. Yeah. And so I’ve been kind of like noodling on it for a while. It had a few different forms, but it kind of finally reached the form that you see it today, about six months ago, maybe. And that’s when I started sort of working on the implementation, which is called ord, which is a wallet and a block explorer. And that is what we did that release on. Do you know if it was January 21 or something, last Friday? And that’s what everybody has been going nuts about.
Stephan Livera – 00:06:54:
Yeah, because I think there’s been a range of views. Some people have been saying it’s going to make it harder to validate or it’s taking up space away from the people who want to transact. And it’s kind of re-pulling up these old debates, even going back to SegWit and saying, okay, was raising the block size for SegWit a mistake? And all of this stuff. So hopefully you can help explain for us. So just give us like an overview. What is an ordinal? Like, what is this thing?
Casey Rodarmor – 00:07:22:
Yeah, so ultimately an ordinal is really just a sat. The Ordinal protocol, there’s kind of two levels. There’s ordinals and inscriptions. And ordinals are a convention that anybody can sort of opt-in to where instead of sats all being the same and a UTXO just containing fungible sats, you number the sats in the order in which they’re mined, starting at zero. So the Genesis block created sats 0 through 5 billion. And then the second block created sats 5 billion through 10 billion and so on. And so that initial numbering scheme is combined with a protocol or a convention for tracking them when they move across transactions. So a first input, first output, first in, first out ordering. So you go, okay, the first sat and the first input goes to the first sat in the first output and so on. So it’s just a convention that does not exist on the Bitcoin base layer that people can view the blockchain, the Bitcoin blockchain in. And then they can do things like there’s all this wacky stuff like rare and exotic sats and they can see the particular history of a particular sat and other wacky stuff like I gave sats names like the letters. They’re just a mapping of the sat number to the letters A through Z. So they all have names for weird reasons. They start long and get short because if they start short and get long, all the good ones are stuck in the Genesis block. And so it’s just this thing that you can convention that you can view the blockchain and that lets you pretend as if individual sats have an identity and individual sats move from UTXO to UTXO. So that’s sort of the base layer.
Stephan Livera – 00:09:12:
Yeah. So just one other thing. So if you could explain how it works. Obviously when we spend Bitcoin, you’re melting down the gold and you’re recasting into a new bar. Right, that’s kind of the idea. So how is it that you’re tracking across that?
Casey Rodarmor – 00:09:26:
Yeah, so you pretend that instead of the input being spent is just a lump of gold. You pretend that is a list of gold atoms in a particular order and then you line up all the atoms and the inputs and all of the sats and the inputs and all the sats and the outputs, and you just pretend as if they go straight across. So if the first sat and the first input has number one, two, three, you say, okay, well, then the first sat and the first output has number one, two, three, and you sort of go them across. And then any sats that are left over after you’ve assigned stats from the inputs to the outputs are the fee and those go out again from the coinbase reward from the coinbase transaction in the order in which they appear in the block. So the coinbase transaction consists of the new sats, the sort of sat range for the new sats, and then all these sat ranges for all the fees that were paid in the block and the order in which they appear in the block. And you can actually go to ordinals.com which is this block explorer that I wrote. And you can click on a recent output and you’ll see these like ranges of sats.
Stephan Livera – 00:10:42:
Right? Yeah, I see. Yeah. Interesting. So it’s kind of like you’re putting this view onto the blockchain and that’s how you can kind of assign that those sats are the same. Even though I’m sure if you talk to a CoinJoin guy, privacy guys, I’ll be like, no, I’m breaking the deterministic links and da da da, I don’t know that this sat was paying that, et cetera. Anyway, putting that to the side. So I get that. So I think I’m seeing that part. And then so do you need some kind of software? And I presume that’s what this ord wallet and block explorer does. It helps you get this view, right? You might be running Bitcoin Core, and then on top of that, you’re running ord is that how it works?
Casey Rodarmor – 00:11:15:
That’s exactly right. Yeah. You run your own Bitcoin Core node, and then you run ord, and ord asks Bitcoin Core for all the transactions and all the blocks, and then it’s able to build this index. The main part of the index is, like, for each current UTXO. What are the sat ranges in that UTXO? And it’s totally open source. There’s no, like, I run ordinals.com but that’s just one instance of the block explorer. You can run it locally and see exactly the same thing. So, yeah, that’s right.
Stephan Livera – 00:11:49:
Got you. Okay. And so then let’s talk now about the inscriptions part of this. So what’s the inscriptions thing?
Casey Rodarmor – 00:11:56:
Yes. So then inscriptions are another convention where you can stick content, which is basically just any file that a web server can return, anything that you can view in a browser. And that content is assigned, again, using this convention, which is arbitrary, that I made up, assigned to one of the sats in the output of that transaction. And that turns that sat into something which is effectively an NFT. I really hate the term NFT for a variety of reasons. A lot of them are weird technical complaints about how I think that NFTs on platforms like Ethereum are just very bad for a variety of reasons that I can get into, mostly technical reasons. I prefer to call them digital artifacts, which is sort of, in my mind, like an NFT that has these additional properties of being immutable and secure and not having any backdoors and being fully on-chain. But, yeah, so an inscription is a transaction that includes content in one of the witnesses, which is part of the transaction usually used for scripts and signatures and stuff. And then by convention, it’s assigned to the first sat of the first output of that transaction. And so then the holder of that sat can put it in a wallet, they can send it to somebody else and move it with a normal Bitcoin transaction that does have to be constructed with this, like, input output ordering in mind to move things to the right place and then behaves very much like an NFT.
Stephan Livera – 00:13:31:
I see. And so then the idea is this is like this kind of collectible that you could spend around, but you’re, like, using on-chain transactions to spend the let’s say you create an ordinal it’s called Casey’s digital artifact, Casey’s fabulous digital artifact. And then you send it to me, and then I pay you for that or whatever. And then I could transfer that around so long as I have a special wallet that can view this. Am I getting that right?
Casey Rodarmor – 00:13:58:
Stephan Livera – 00:13:59:
Okay, got you. Basically, like, you can create these inscriptions, as we’re calling them, and you can transfer them around, but they’re impossible to destroy, right?
Casey Rodarmor – 00:14:08:
Yeah, that’s correct. They’re impossible to destroy. Yes, that’s right.
Stephan Livera – 00:14:11:
Yeah. And so then I guess that’s kind of what this whole aspect is. So let’s talk a little bit, then, about some of the pros and cons here. Right. Like, as I understand, you’re saying, you’re seeing it like, we should have fun with Bitcoin. This is a new thing that people could use to play around, and maybe even though it’s kind of quote unquote, meaningless, but actually people ascribe value to it. So I guess that’s kind of on one side, and then on the other side, you’ve got the people who are saying, no, it’s making it you know, you’re increasing the size of the chain. You’re making it harder to transact. It’s harder to validate. So let’s try and disentangle some of these components. So let’s first hear let’s hear the bull case. Why is it a good thing?
Casey Rodarmor – 00:14:51:
Yeah, I mean, art and culture is something that is, I think, as old or older than money. Money is one of the oldest human technologies. A lot of people think that there was this, like, barter phase that we went through, and then we did that for a long time, and then money came around, but that’s probably not the case. Barter is so inconvenient double coincidence of wants that you really want some form of money. So we see early forms of money in ax heads and beads and stuff like that. And those early forms of money, a lot of them are descended from something that’s more like a collectible, that this sort of pre-monetization phase. And some of them come from things that look a lot like art things like carved beads or pretty things. And so art and culture is an ancient human technology, and, like, selling art and culture objects and collecting them and trading them as an ancient human technology. I personally think that a lot of NFTs are really lame and really stupid. They’re just dumb. But I do think that some of them are really cool. In particular, I really like not the generative thousand monkey picture PFP ones, but the algorithmic art ones, the generative algorithmic art. I think those are really cool, and I’ve made some of that art myself. And so, yeah, I see this as a way that people can have fun with Bitcoin, that art and culture is good. These cases are good. People like art and culture, contribute to the security budget, i.e., pay more fees to make sure that the security budget is sufficient to keep Bitcoin secure, increase adoption. NFTs are one of the few things in crypto that obviously some NFTs are scams, but I’d say that they’re one of the things in crypto that really has product market fit. People love these things. And a lot of people, you see them, they buy the monkey pics on Ethereum and then they stay in the Ethereum ecosystem. They sort of become like Ethereum bag holders and they are really attached to Ethereum and I think that’s really unfortunate. I would like people to get into Bitcoin both for sort of the right reasons, like, yeah, let’s have sound money, let’s opt-in to this thing that we can transact freely, but also if they get into the wrong reasons, that’s fine with it for me. If they come for the monkey pictures and then become Bitcoin bag holders and then they get into the sort of sound money aspect of it, I think that’s a great outcome. So I guess that’s my bull case for ordinals.
Stephan Livera – 00:17:25:
Got you. Yeah. And so then I’m sure you’ve been seeing a lot of the criticism online and everything, so let’s talk about that and your responses to some of those things. I’m sure you’ve got responses. So probably the central idea, if I had to like I’m just trying to reflect what I see in the community, right? So the central idea I’m seeing is probably this idea that oh, why should people have to download all these random art garbage, non-financial transactions? Because it’s making it harder to validate and run a Bitcoin node, which obviously you and I both know, and probably many listeners understand why it’s an important thing for the decentralization of the system. So I’m curious if you have any thought on that.
Casey Rodarmor – 00:18:06:
Yeah, totally. Yeah, I think there’s probably a bunch of different criticisms in there to pull apart. So they’re like, well, why do I have to download all these monkey pictures? And it’s like, well, I don’t know, people do stuff that you don’t care about or that you don’t particularly like or enjoy, but whatever. People are going to like and value different things. And so if some people pay for things that you don’t understand, that doesn’t mean that they should be stopped. Getting into the, like, increases the block size. So actually, Bitcoin security model requires that blocks be full. If blocks are not full, then people who are paying fees, who are essentially bidding to get into blocks, they have no reason to bid as long as miners are decentralized. If miners are not colluding, and there’s a bunch of sort of relatively decentralized miners, people who are transacting do not have to pay above the minimum fee rate to get into a block if blocks are not full. So Bitcoin security model relies on blocks being full as we transition to a post subsidy world where the new coins in every block are getting lower and lower and fees must rise to begin to subsidize the Bitcoin security budget. So, because inscriptions do not bypass the existing block size limit with like a tiny little asterisk, they don’t block, well, let me put the asterisk in another place because the block size limit has not changed, and because blocks must be full for Bitcoin to be secure, it doesn’t change the expected future size of the chain. It’s true that increased activity now while blocks are sometimes full and sometimes empty will lead to a marginal increase in the size of the chain. But if you sort of zoom out a little bit, like the expected size of the chain is, the blocks are going to be full and the chain is going to grow at the rate of a full block every 10 minutes sort of in the medium to longer term. And I personally think that it’s probably a good idea if we were to get fee revenue up sooner rather than later. I would sort of not like it if the subsidy was dropping and we were kind of scrambling to hope that fee revenue would pick up. I kind of see nothing wrong with the belt and suspenders approach where fees are maybe picking up before we need them. And also it’s important that fees not just be high, that blocks be full, but that they not be full and then empty and full and then empty because then you create these weird scenarios where miners are instead of trying to extend the longest chain, they’re like trying to dig out the fees of the previous block fees. Exactly. And so you kind of want this big backlog of stuff that people want to get into blocks. And so I hope both that, you know, raise the fee rate and also provide this like kind of low-importance backlog of like junk that people would kind of like to get into a block. Like, yeah, okay, I’ll inscribe this JPEG at one sat per vbyte and it can just sit in the mempool and maybe it doesn’t get in right away, but it forces other people to bid up a little bit and keeps that fee revenue a little bit more consistent.
Stephan Livera – 00:21:21:
Yeah, interesting. So I think you’re seeing it like it’s almost like you’re just assuming we should just have the full blocks from now, right? Because that would be a better whereas maybe some of the people critiquing are saying, well, there’s this opportunity now where maybe people who have lower power computers, maybe less bandwidth, from their perspective it’s easier right now because the blocks aren’t full yet. I guess the other criticism or maybe the other line of attack maybe some people have I’m thinking here of my friend Pierre Rochard or Joe Burnett who tried to like their line of argument is a bit different because they’re saying, no, it’s not about security budget, it’s actually more about finality. And I guess maybe there’s a little bit where we kind of all agree that everyone is well, if we’re all right about this thing, there’s going to be literally thousands, I think they’re calculated maybe 80,000 times the demand for transacting on chain. So in that world it’s not really going to matter. Like we’re just going to have so many people who want to transact, but who can’t. And that’s going to be because we sort of in the online discussion world, quote unquote, crypto or Bitcoin circles as well. People talk about this idea of are the fees too high or now the fees are too low and people just kind of see-saw back and forth about that dynamic. Whereas I think if anything, the likely problem or the likely issue will be that so many more people want to transact than actually do. So that’s kind of how I’m seeing it. I’m curious, do you agree, disagree, or how are you seeing that?
Casey Rodarmor – 00:22:51:
Yeah, I think that’s probably pretty likely that in the end, demand will be way higher than what Bitcoin can reasonably support. And I kind of expect that inscriptions will always be a marginal use of Bitcoin blockspace. It’d be very weird if there was 8000 times the demand for blockspace and somehow people who just wanted to inscribe monkey pictures were a large part of that demand. You know what I mean? You would expect a lot of those to be very high-value financial transactions and they would certainly outbid lower value transactions like just creating these inscriptions. And also inscriptions are, from a Bitcoin protocol point of view, very inefficient. They include the content in the witness, which is an intentional design choice, which I can go into. But that also means that in order to outbid an inscription to get into a block, normal Bitcoin transactions, because they’re so efficient, they must pay not a very high absolute fee to wind up paying a higher fee rate than that very large inscription transaction. So I kind of feel like financial transactions are kind of like unaffected by this additional source of demand, most likely in large part. Yeah, of course people will want to make some inscriptions that they are willing to pay a high transaction fee for, but I’d be very surprised if there was all this demand for Bitcoin and then somehow inscriptions were making up a large proportion of transactions that were getting into blocks.
Stephan Livera – 00:24:29:
Yeah, I’m just trying to think through this idea. So this is the other point. Maybe it would be great if you could explain this also. So this concept of having the content in the witness as opposed to, let’s say, linking to the thing in the chain. So I guess historically or in shitcoin-land, they might do a thing where they link to something like an equivalent of doing an opera turn and having a link to the actual art in that. But in this case it’s actually in the witness. So could you explain that difference and why?
Casey Rodarmor – 00:24:59:
Yeah, totally. Yeah. So I’ll just pick on Ethereum just because that’s technology that I’m familiar with and I sort of know what they do. So Ethereum NFTs do a variety of things. Ethereum NFTs are either there are some that have the content stored in the contract. There are some that have just a hash of the content. And the hash is sort of like a fixed size small digest that if you get the piece of content, you can be sure that it was the content that this digest refers to. But then the content is stored on a separate network like IPFS, or they’re stored on something like Arweave, which is like getting deep into shitcoin territory here, this quote unquote decentralized storage layer, like big air quotes. And then those are like all bad except for on-chain. And then the worst is like, it’s just a URL to a web server. And essentially, it’s so complicated here. So one is the web server is like terrible, right? If it’s just a URL to a web server, it can go away at any time. It can be mutated at any time. You have a centralized gatekeeper who must make that content available unless it goes away. So that’s like terrible. Arweave doesn’t work. Arweave has unsustainable economics that it’s essentially like you can think of Arweave like a stablecoin that instead of being pegged to an algorithmic stablecoin that instead of being pegged to the cost of a dollar, is pegged to the cost to store data. And when the value of that coin drops below the cost to store that data, the Arweave, like miners or whatever it’s called, will just abandon the chain and data will be lost. So that’s bad. That’s no good. IPFS is very much like BitTorrent. It’s basically like a worse version of BitTorrent, which with a lot of bad decisions that they made while they were making it. Not to pick on it, it just has some technical issues. So when you buy an Ethereum NFT that has the data stored on IPFS, if the people who are storing it, that’s just on somebody’s computer, like seeders, when you’re downloading a BitTorrent torrent, if those people go away, your content goes away and it’s no longer reachable. And there are some very subtle issues here. So just to sort of try it out, I went to Raretoshi, which is like a Liquid-based NFT marketplace, and I went and I bought an NFT, right? And I paid for it with Lightning. It was like $5. And the NFT was stored on is stored on IPFS, but they didn’t tell me or make it easy for me to actually download that content myself and start replicating it myself. So in fact, when I bought the NFT that had the hash that pointed to IPFS, I became the one who had the economic incentive to keep the data available on IPFS so that I could sell that NFT in the future, right? But users don’t do that. Users aren’t told that they need to do that. They think that IPFS is just like permanent. IPFS, even though you have a hash, it can’t mutate, but it’s just somebody else’s computer and so it can, it can go away at any time. So there’s very subtle, like kind of UX and like consumer protection issues. Another issue is that on Ethereum with all these different ways of content being stored, when you buy an NFT, you have no idea where it is. You really actually have to dig into the metadata. And even then, unless you audit the smart contract, you don’t know if it’s secure. You literally have to audit your JPEGs, which is insane. And so I wanted to create something that was simple, that was secure, that was immutable, and didn’t have these very tricky issues of kind of user education around like what are you getting, where is it stored? What do you have to do to keep it available? There’s some possibility that in the future I’ll figure out a way to solve these UX issues. I kind of think they’re really hard and allow links to off-chain content with a hash. But it’s the whole thing if you let a user download, I personally think that it’s kind of irresponsible to let a user buy an NFT without letting them automatically not like they have to type in some command that nobody is ever going to do unless they can automatically start replicating it and kind of take responsibility for making sure they continue to have that data and that data stays available. So a lot of tricky UX issues with off-chain content that I kind of just didn’t want to get into yet.
Stephan Livera – 00:29:31:
Casey Rodarmor – 00:29:31:
And also collectors really like on-chain content. Sorry, issues with off-chain content. Collectors have a sort of demonstrable preference for on-chain content. The sort of highest value NFTs on Ethereum are all on chain or are moving on chain and collectors seem to really like that.
Stephan Livera – 00:29:49:
Back to the show in a moment. As many of you know, I’m a big fan of multi signature and Unchained Capital can make it easy for you to achieve multi signature security. So especially if you are a beginner or an intermediate user, Unchained Capital can walk you through this process. They have a Concierge Onboarding program where you can just pay upfront. They will ship you some hardware if you need it, they can do a call with you, they can walk you through this process and you can withdraw from an exchange or from a custodian or a single signature wallet or hardware device into your own multi signature vault. And so this can give you so much more peace of mind knowing that you are removing single points of failure in your Bitcoin security setup. So for those of you interested, go to unchained.com, click on the Concierge button and use code LIVERA for a discount there. Are you a Bitcoin builder? Blockstream is hosting and inspiring a community-led effort. It’s called Build on L2. This is a community for Bitcoin builders. So, this will include an interactive community platform where builders, whether you are a product manager, a designer, or an engineer, you can all come together through events. There will be a mentorship program to fast-track success, as well as have a community space to learn something new alongside other Bitcoiners building the future of Bitcoin Layer 2. So go and sign up. You can get early access. The platform is available over at buildonl2.com. And finally, when it comes to Bitcoin security, my favorite is coinkite.com. Coinkite make a range of products, most notably the Coldcard, but they also have other products such as the Tapsigner or the BlockClock, or the BlockClock mini and the BlockClock micro. So there’s a range of Bitcoin gear that you can use, whether that is to secure your Bitcoin or whether it’s other devices and other accessories that you use alongside your Bitcoin security devices. And don’t forget, for those of you who are backing up your Bitcoin security, you’ve also got to think about having a steel backup and Coinkite offer the seed plate products, which I use also. So go to coinkite.com use code LIVERA and you’ll get a discount on your Coldcards there. And now back to the show. Yeah, maybe it’s seen as more immutable, kind of piggybacking off the immutability of Bitcoin itself. But that is also the criticism as well, because some people are saying, no, people shouldn’t be storing arbitrary data on-chain. And I guess that’s where maybe the criticism is. And I understand this is not just a new thing right there where there were historically, and I’m sure you’re all quite familiar, there was this earlier saga in OP_RETURN, and I know there’s a really good BitMEX research post about this, OP_RETURN wars, Yeah. So do you want to give us, I guess, your perspective on the OP_RETURN wars, and are you kind of reintroducing OP_RETURN wars?
Casey Rodarmor – 00:32:23:
I don’t think so. The main thing about OP_RETURN was that before OP_RETURN became sort of a standard way of storing things, and also not a way that was ever encouraged by the Bitcoin developers, by the Bitcoin Core developers, you would, people would write these protocols where they actually stored them in transaction output scripts, because that’s sort of like a convenient place to stick stuff in a transaction. Now, the problem with that is that if they kind of make it look like a big weird multi sig or some other kind of script type, Bitcoin Core nodes have to keep that data in the UTXO set forever. And the UTXO set is sort of it’s a scarce resource, it’s a costly resource. Every time your node gets a new block, it needs to look up every single input in that block’s transactions to make sure that it’s in the UTXO set, to make sure that all those transactions are valid before it can relay it to the rest of the network. So it’s kind of a data structure that has to stay in RAM. And because we need it to stay in RAM, it needs to be very fast. So the problem with this pre-OP_RETURN way of doing things is that it would not just add arbitrary data, but it would do it in a way which was very inefficient and very harmful for the network. So to prevent people from doing this thing that was like, bad, they did this sort of compromise where they encouraged people to use an output script that started with OP_RETURN, which immediately renders the output unspendable. And so it’s in the script, it’s an OP_RETURN, and then it’s whatever data they want. And that lets Bitcoin Core node see that it’s an OP_RETURN and drop it from the UTXO set. They go, nobody can ever spend this because it can’t be spent. And so we don’t need to put it into the UTXO set to begin with. OP_RETURN had limitations. OP_RETURN by standardness rules, I think an OP_RETURN is limited to a maximum of 80 bytes of data. Yeah, and so that was OP_RETURN wars. Much consternation as people said, 80 bytes isn’t enough. And the Core devs were like, we’re not encouraging this anyways. So in a way, I guess it sort of like reignited the controversy. I think it’s okay to want to use Bitcoin as like an anchor layer to store arbitrary data. As long as it doesn’t affect the incentives of the system. You’re paying your fees. It’s really not an attack vector. And this is kind of nothing new that I’ve done. It happens to be more efficient the way that I’m doing it. But it’s sort of always been possible trivially to stick data in Bitcoin transactions. But yeah, definitely reigniting the controversy. And then one issue with the way that developers were doing it pre-OP_RETURN was it was very inefficient. It was burdensome to the network. And inscription content is stored in the witness. There are a few nice properties of the witness. So one is that it’s input data, not output data. And so that means it never enters the UTXO set to begin with. There’s no question of it entering the UTXO set. Another is that Bitcoin Core nodes have something called assumevalid, which is on by default and which means that by default, they will download, but they will not verify witnesses that are buried deep enough in the chain. So because inscriptions are, first when full nodes validate them, when they’re above the assumed valid height, they’re very cheap. They just sort of look, you get to this OP_FALSE, OP_IF, a bunch of junk that the Core node just skips, and then an OP_ENDIF. So they’re cheap to validate. And actually like kind of subtle point here is that block size and download time is not the only part of initial block download. There’s also signature verification. And so this may marginally increase the amount of data that needs to be downloaded, but it’s very cheap data to validate. They just sort of skip it. And then furthermore, if it’s below the assumed valid height, they don’t even need to skip it because they’re not looking at those witnesses at all. They’re just hashing them and they’re like, okay, whatever. And then also potentially in the future, and this is like not something that is on the table at the moment, we might want to do something called witness pruning, where below a certain height, we don’t even download witnesses at all. They just are sort of their historical they’re buried so deep in the chain with so much work on top of it, other security assumptions would have to be violated for them to be wrong, i.e., an attacker would have to be able to create enormous chains of bad blocks, and so they might not even be downloaded at all. So no changes to Bitcoin Core were required to make this use of witness data efficient and not burden the network. The most low-impact bytes in the blockchain are in inscription content, which are just they’re in the witness and they’re just skipped.
Stephan Livera – 00:37:26:
Interesting. Okay, so just to summarize, so when we, let’s say we set up our Bitcoin node, it’s downloading like the headers and the blocks. And the default setting, as you said, is assumevalid is on, meaning I think I can’t remember the exact amount, but it might be like six months or twelve months back, basically.
Casey Rodarmor – 00:37:43:
Wait, I’m not sure. Well, I guess I’m being quoted right now, but I believe that they add a new block hash to new releases of Bitcoin core, where they just say, okay, below this block hash is like, just skip it. I don’t know if it’s automatic. I think it might be.
Stephan Livera – 00:38:02:
Yeah, I think it’s like on a rolling each release, they’re saying at this point. So basically up to a certain then your Bitcoin node is only checking the signatures from that point forward. So it might be from like six months ago up to now. In practice, if you have assumevalid, which is the default setting now, you can, if you want to as a user, if you want to be the mountain man, as Vitalik says, and you want to start from zero and validate every signature, you are fully able to do that. But I think the question is more about the increased download and the compute aspect. So I think, as you said, the download part could be potentially even doubling what it is today if it were to be filled up. Right.
Casey Rodarmor – 00:38:45:
It’d be pretty odd if we started getting four. So the doubling that you’re referring to is if you had blocks that were essentially nothing but inscriptions that were all witness data, and so they were at the four megabyte block limit. I think that would be pretty weird. That would mean no, every person making inscriptions is willing to pay to get into blocks more than every financial user of Bitcoin. That would be a very weird outcome. I think it might be something like 10%, 20% in my wildest fantasies.
Stephan Livera – 00:39:17:
Right, okay. So, yeah, so basically we’re looking so the likely scenario then is that it will increase the download, but not necessarily the compute. And I guess you could even make an argument that it may reduce the compute verification requirement, but the increased download and the increased and hard drive as well, because even though it’s not in the output set, it’s not in the UTXO set, it is part of the chain. And so it just like it’s a bigger download. So it means people have to have a bigger hard drive on the margin. And maybe that matters ten years from now or 20 years from now. But of course we’re hoping that hard drive improvements, computer improvements, internet improvements, all come as well. So I guess the other interesting question people are having, and I think you were touching on this as well, is does Taproot uniquely enable this? And as you were saying, it was always possible, but did Taproot make it easier to stuff even more data?
Casey Rodarmor – 00:40:10:
Yeah, so it did. So if we sort of go through time, there were old-school Pay-to-Script-Hash transactions, and I don’t remember the exact details, but those had a lot of very weird requirements. You could use them to store some data, but it was pretty tortured. And there were like weird standardness limits. So the policy limits that determine what Bitcoin Core will relay, and maybe also consensus limits, although I’m not entirely sure. So could do it with Pay-to-Script-Hash, lots of weird limits, didn’t get the witness discount. And then SegWit came along and introduced the witness. And when it introduced the witness, it gave the witness a 75% discount relative to other transaction bytes. And this is for two reasons. Well, three reasons really. So one is it was seen as desirable at the time to increase the block size. And, you know, SegWit was a block size increase. So the way to increase the block size, because SegWit the witness data was invisible to un-upgraded nodes, was to give that data a discount. So that okay, you can still only have 1MB per block, the old block limit of non-witness data, but then you could have this more than 1MB of discounted witness data, and the total needs to add up to 4 million weight units, which is the weird unit that block size is now reckoned in. So we wanted a block size increase. And also witness data is often used to essentially prove that, witness data is used to prove that you own UTXOs and, when you spend them, and so when you prove that you use UTXOs and spend them, that removes those UTXOs from the UTXO set and reduces the resource burden of maintaining the UTXO set. So the thought was, okay, we want to encourage people to clean up their old UTXOs. So that’s another reason why the witness is given a discount. And then the third reason is sort of all the reasons of low impact that I mentioned. The witness data is simply cheaper relative to non-witness data. And so as a result, it makes sense to discount it for its lower impact on the network. Does that all make sense?
Stephan Livera – 00:42:35:
Yeah, I think I’m following you. So I think one other critique, or maybe you can help me understand this: are inscriptions paying a lower fee per real byte than other things?
Casey Rodarmor – 00:42:44:
Are inscriptions paying a lower fee per real byte? Yes, because inscriptions have a relatively higher proportion of witness data. And so because the witness data is discounted, they’re paying the same fee rate, which is sats per vbyte. But in terms of sats per real byte, yeah, they’re paying less.
Stephan Livera – 00:43:07:
Right. And so I guess maybe I think that’s probably the heart of the criticism from some of the OGs and people out there in the community who are seeing this like, oh, there’s going to be all these people just spamming the chain. Like and I know this is like, people get the term spam is quite hotly debated as well because people say, oh, if you’re paying fees, it’s not spam. And then other people are saying, no, but look at think about the intent or the content. But I think we have to also consider that, let’s say from your perspective, from my perspective, or just from an everyday user, if there’s a lot of people who are, let’s say, doing CoinJoin or consolidate, doing really cheap consolidations or things like this, they could be expensive consolidations for all I know. Or if Binance drops a bomb and they just do a whole bunch of transactions on the chain. All of those things are things I have to contend with in order to get my transaction confirmed into the chain, regardless of whether it’s CoinJoin or consolidation or just a lot of whales want to transact, and they’re all paying high fee. Well, we all have to contend with that. So maybe there’s a little bit there. But I think probably the heart of the criticism is about the lower fee per real bite. But at the same…
Casey Rodarmor – 00:44:21:
I think what you said is really fair. Like that criticism of other people using Bitcoin means that we have to pay more. And I sort of on one level, I think, yeah, you pay the fee, you pay the fee, it’s not spam. On the other level, I wouldn’t use that argument to really justify anything. Sometimes people do things voluntarily that are harmful and lead to bad outcomes. And if this was harmful, I wouldn’t use “you pay the fee, you get into the block” as an argument for why it was actually okay. Yeah, a lot of.
Stephan Livera – 00:44:54:
Right. It would be like saying, oh, I paid for the bullets in this gun, so therefore I’m allowed to shoot it. Well, no, that’s not how… right. Yeah.
Casey Rodarmor – 00:45:00:
Exactly. Yeah. A lot of things that people do with Bitcoin is already very frivolous. Like a lot of Bitcoin’s transaction volume, like, let’s face it, it’s shitcoinery. Right? It’s like moving money between exchanges because Bitcoin is like well, I guess a lot of it has moved to stable coins like Tether and USDC or whatever. But a lot of it is like random exchange activity. People do use Bitcoin for things that are frivolous. Yeah, my response would be, yeah, other people using the shared resource means that the use of the shared resource gets more expensive. But people do value being able to make inscriptions, being able to trade inscriptions. The community is really fun so far. People are just having fun and being dumb and they really enjoy it. People really like this just degen nonsense. It’s also kind of like harm reduction. Like, listen, they’re not on Ethereum getting scammed by ICOs that they’re making like rock pictures. And that’s one reason that I sort of have this soft spot for NFTs. There are scammy NFT projects, but for a lot of NFT projects is kind of like, yeah, people know what they’re buying and they enjoy the degen-ing into the monkey pictures. So, yeah, I think it’s just another use of Bitcoin that we have to contend with. The discount thing is a little bit weird because it’s like, well, yeah, that’s why they were, if SegWit, if witness bytes were not given a discount, we wouldn’t have a, it’s not like there would be less block space total. There probably is some impact there, but it’s kind of a complicated thing. And yeah, the witness bites were given a discount for all these reasons. And yeah…
Stephan Livera – 00:46:47:
I think the other actually, on the witness bytes thing, I think the other interesting point was I can’t remember the exact argument, but I think it was something like because having to store the UTXO set was seen as like that’s the important thing that you’ve got to store. So maybe if there’s an incentive to spend those UTXOs, you’re going to destroy those UTXOs, therefore reducing your impact on other node runners in the network. So I think that was also a key part of the justification there. Right?
Casey Rodarmor – 00:47:12:
For sure, yeah. And it is the case that when you create inscriptions, you are not destroying UTXOs with your data in the witness. And to that, I guess I would say, yeah, that’s one of the three reasons that it was given a discount. Clean up UTXOs, but also lower impact on the system in general and desire to have a block size increase.
Stephan Livera – 00:47:35:
Yeah. Okay, got you. So there’s been some people who are saying how do we stop this, et cetera, but at the same time, I think looking at other people in the community, it sounds like they’re saying there’s not really strictly a way to even stop this. So it’s kind of like, look, it’s valid, it’s paid for. I don’t necessarily have to like it, but it’s there, and you have to just accept that it exists. And I guess maybe that’s where I’m sort of landing.
Casey Rodarmor – 00:48:00:
Yeah. If you look at bitcoin-dev, somebody posted a message. They were like, oh, my God, these inscriptions. How do we stop it? And Andrew Poelstra responded. Andrew Poelstra is super smart. He’s somebody whose opinion that I respect a lot. And he kind of went through the game theory, and he’s like, yeah, like, if we if we make it hard for them, they’ll just use some other weird thing. And like, these limits were removed for a reason. It would make transaction construction harder and, like, very quickly. He’s a very, very smart guy. He’s like, yeah, the only winning move is, like, not to play, like, just working through the game theory. So, yeah, I think for people who don’t like inscriptions, I mean, kind of stuck with them, ignore them, or buy some rock JPEGs. Up to you.
Stephan Livera – 00:48:45:
Yeah. And so I think at the end of the day, and as I think you’ve commented also, and other people have been commenting, really, what would change all of this is the fee market or the blockspace market, and of people using Bitcoin. Right. Because if everyone’s using Bitcoin, well, then it’s going to get very, very expensive to do this kind of inscription stuff. Right. Because I guess right now you can pretty much get things through at low fee per byte. But let’s say a lot of people are transacting regularly and the fees were to start rising on average, then inscription fees would also rise quite a lot in order to put things into the chain. Right?
Casey Rodarmor – 00:49:17:
Yeah. And inscriptions are not small. Even with the witness data, there are like 400kB inscriptions, like the largest transaction since 2006. No, 2016, I was told, I don’t know if this is totally accurate, said wasn’t was an inscription that was like 350kB or something. And so that means that, you know, that inscription, on the one hand, it’s displacing many, many, many smaller Bitcoin transactions. On the other hand, it has to pay fees to displace all of those smaller Bitcoin transactions. And so even if it gets the witness discount, it’s not cheap. I’ve seen people paying fees of like, $120, I think was the highest, to get an inscription into a block. And so that means all these smaller transactions would have had to pay the same fee rate, but would have to pay in absolute terms, much, much less to get in ahead of that inscription.
Stephan Livera – 00:50:14:
Yeah. So it remains to be seen what happens, like, if this thing becomes popular or does it remain this kind of niche, little use that a few people are just kind of playing around with. If it does become really popular, then maybe there’s also a concern around accessibility. Right. I guess that’s kind of where people make this argument about Bitcoin for poorer people, right. That all these rich people can play around with their inscriptions and it’s taking away the accessibility for people who can’t afford to transact on-chain as often. But at the same time that maybe also is a driver for the use of, say, Lightning. I don’t know. We’ll have to see.
Casey Rodarmor – 00:50:51:
That’s, right. Yeah. And ordinals and inscriptions are actually very hard to lift onto an L2. It’s just not easy. It’s very much an L1 protocol. So does encourage the use of the Lightning Network. And I think that Bitcoin is a as a shared resource which has these constraints on block size, it’s an unfortunate reality of Bitcoin that it is going to get very expensive to transact on the base layer, whether that demand comes from inscriptions or for something else, from something else, from sort of legitimate use of the Bitcoin network. Another thing that I would also say is that I feel like a lot of the time people are sort of, they’re in this soldier mindset for Bitcoin and they kind of view every new thing that they see. They feel like they have to kind of categorize it as like a friend of Bitcoin, like it’s in the friend category or the enemy category. And as Bitcoin gets more adopted and more people use it, there’s just going to be things that like, you don’t really get or you don’t really care about or are kind of frivolous or weird to you. And it’s just kind of natural as use expands. And getting really mad about inscriptions is kind of like going up to a bunch of kids who are playing with Pokémon cards and being like, Pokémon cards are stupid and you’re stupid for liking them. And maybe you have valid criticisms, but maybe they just like Pokémon, they like trading cards. You know?
Stephan Livera – 00:52:16:
Yeah, maybe that’s probably the spot to finish up. I think I’m kind of in that, like, for me, it’s not interesting to me at all. I would rather keep it accessible. But I also understand I can’t stop this thing because I think that’s the other angle, because I think because when people don’t like it, then they sort of try to censor it, but then they realize, as you pointed out, as Andrew Poelstra pointed out, there’s not really a good way to stop this. So for better or worse, it’s here and it exists. So we’re going to deal with it now. Yeah. So I guess any closing thoughts from your side? Even if we disagree about the value of this thing?
Casey Rodarmor – 00:52:55:
Totally. Yeah. One closing thought is we’re still on the same team. I appreciate all of the civil criticism that I’ve gotten. I think that it’s reasonable and I think that the community having this defense mechanism and being interested in how new things work and being critical and disagreeing with them is totally reasonable. Yeah. I think inscriptions are destined to be a minor, fun, weird, niche use case of Bitcoin. Oh, yeah, my podcast host will get really upset if I do not show my podcast. Every time I forget and then she gets mad. So, yeah, if you want to hear a podcast, which is much, much worse than Stephan Livera’s podcast, like just sort of the Bitcoin comedy hour, yeah, Hell Money Pod. The Hell Money Podcast. Check it out. But yeah, no, this is great. I really enjoyed, really enjoyed talking to you and hopefully at a conference or something, we can meet in person and have a beer.
Stephan Livera – 00:53:53:
Yeah, for sure. So, yeah, it’d be great to catch up in person and yeah. Thank you for joining me and helping explain ordinals and inscriptions for me and for my listeners. Thank you.
Casey Rodarmor – 00:54:04:
My pleasure, man. It’s been an honor.
Stephan Livera – 00:54:07:
As usual, the show notes and the transcript will be available over at stephanlivera.com/456. Thanks for listening, and I’ll see you in the citadels.