{
  "episodeId": "SLP520",
  "speakers": {
    "stephan": {
      "name": "Stephan Livera",
      "role": "host",
      "tag": "STEPHAN"
    },
    "stephan_livera": {
      "name": "Stephan Livera",
      "role": "guest",
      "tag": "STEPHAN"
    },
    "guest_2": {
      "name": "Guest 2",
      "role": "guest",
      "tag": "GUEST"
    }
  },
  "segments": [
    {
      "speaker": "stephan",
      "time": "00:08",
      "start": 8.39,
      "text": "Hi, you're listening to Stephan Livera podcast, a show about Bitcoin and Austrian economics brought to you by swan dot com. So there has been a lot of chatter on Twitter about bitVM, compute anything on Bitcoin. This is a computing paradigm to express Turing complete Bitcoin contracts, and joining me today is the creator, Robin Linus, as well as Super Testnet, a pseudonymous developer who is Also building on this idea. Robin and Super Testnet, welcome back to the show. Thank you so much for having me. Thank you for having me. Great. So, look, let's just start talk-- we're gonna talk about BitVM and obviously have this explained for the Bitcoiners out there. so Robin, do you wanna just start with a little bit of your motivation, like why did you-- why were you working on this idea?"
    },
    {
      "speaker": "stephan_livera",
      "time": "00:56",
      "start": 56.17,
      "text": "Yeah, at the end, we wanna scale Bitcoin, and, a good way to do that would be, having some kind of trusted two-way pack, like some kind of, bridge to bridge Bitcoin to other chains. And, yeah, since my background is mostly in like zero knowledge proofs and validity proofs, I always wanted to have like some kind of validity proof verifier on Bitcoin. yeah, since it's very hard to change Bitcoin and it's very hard to find consensus on new pro-proposals, some crazy people like Super Testnet and Sam Parker and I, we created that Telegram group to like try to hack some kind of ZKP verifier into Bitcoin. And, that was the motivation behind BitVM."
    },
    {
      "speaker": "stephan",
      "time": "01:42",
      "start": 101.99,
      "text": "Great. And so, do you mind giving us, sort of a explanation in layman's terms of what Bit- BitVM is?"
    },
    {
      "speaker": "stephan_livera",
      "time": "01:54",
      "start": 114.35,
      "text": "it tries to mimic basically the same functionality that the Ethereum virtual machine gives you. So it enables basically Smart contracts on Bitcoin, complex smart contracts."
    },
    {
      "speaker": "stephan",
      "time": "02:08",
      "start": 127.81,
      "text": "Okay. And, so I think, Super Testnet, let's, let's hear a little bit from yourself as well. You were commenting that this is a really exciting discovery in the history of Bitcoin script. So can you elaborate a bit on your thoughts there?"
    },
    {
      "speaker": "guest_2",
      "time": "02:22",
      "start": 141.62,
      "text": "Yeah, one of my favorite things to do is try and find novel and interesting things to do with Bitcoin script, s-sometimes things that people haven't thought of before. so a couple of things I've made in the past, I la-couple years ago I made something called, Rule one hundred ten in Bitcoin Script, it's one of my GitHub projects where I made this, I made this like automaton or this, what do they call them, a, a single cell like animation that I, that I ran in Bitcoin Script where it would like draw a triangle on the screen. It was really fun. and I used a lot of Boolean logic for that, which is like this, this, primitive in computer science. And then the next year I made something called For Loops in Bitcoin Script, which, this is last year, Which are, another, a, another primitive that allows you to have a, you, you unroll a loop where you say like, \"I'm gonna run this same code like seven times, \"and on the seventh try, then it'll finally like close the loop and, and a-exit and do something else with the code. and that also involved a lot of really core primitives. and then this year, I tried to implement SHA-256 in Bitcoin Script. I actually wanted to re-implement the entire, SHA-256 algorithm, doing it entirely in Bitcoin Script. Robin helped me a lot with that, and that was kind of what got us talking for the first time. Then we joined this group together where we were trying to do more stuff with Bitcoin Script, 'cause, Yeah, 'cause, 'cause we were, we were actually pretty successful with that, and, the BitVM sort of ki- emerged out of that where we realized if we can do SHA-256, if we can do loops, if we can do Boolean logic, you know, we can combine all these things and turn them into a virtual machine that has, pretty powerful characteristics."
    },
    {
      "speaker": "stephan",
      "time": "04:07",
      "start": 246.96,
      "text": "Okay. And so I think most people might not be really familiar with what Bitcoin scripts is, and so do you mind just, you know, can one of you just give a very basic level Non-programmer Bitcoin users out there."
    },
    {
      "speaker": "stephan_livera",
      "time": "04:22",
      "start": 261.77,
      "text": "Okay, Bitcoin Script is, like a simple smart contracting language that allows you to express mostly things like signatures, multisignatures, time locks, hash locks, like, the most basic primitives of smart contracts. And, with these things, you can already express stuff like Lightning Network or like, yeah, multisignatures, you can have like basic vaults, and, yeah, you can have like the Most simple smart contracting functionality that, people are aware of nowadays, and, it is intentionally limited, like it's intentionally not Turing complete. It's, stack-based language and like it's similar to FORTH and, The, yeah, it's, it's intentionally, intentionally limited, to not create unnecessary attack surface. And, it was even more expressive in the beginning, but then, Satoshi realized at some point that there was like a bug in one, implementation, in one opcode, and then he just got paranoid and deactivated lots of opcodes at once and, kind of crippled Bitcoin Script a lot to dumb it down to not create Any, yeah, unnecessary attack"
    },
    {
      "speaker": "stephan",
      "time": "05:40",
      "start": 339.76,
      "text": "surface. I see."
    },
    {
      "speaker": "stephan_livera",
      "time": "05:42",
      "start": 341.64,
      "text": "And Super"
    },
    {
      "speaker": "stephan",
      "time": "05:42",
      "start": 341.98,
      "text": "Tastenet, anything to add there in terms of, scrip-- Bitcoin script?"
    },
    {
      "speaker": "guest_2",
      "time": "05:46",
      "start": 345.6,
      "text": "Just that, one of, one of the things Satoshi left in, or a couple of the things Satoshi left in, was Boolean logic, which is this primitive that's used in the creation of computer circuits. in fact, like every, every microchip is a series of these things called Boolean logic gates. and, and by leaving those, functions inside of Bitcoin, he, he, Create a lot of the, functions that he removed. And, and so that's kind of what we're-- we're like exploiting the fact that we still have Boolean logic to make, to make BitVM."
    },
    {
      "speaker": "stephan",
      "time": "06:19",
      "start": 379.47,
      "text": "I see. So maybe one way to think about this is Bitcoin has a programming language, it's been specifically cut down, and part of that was for historical reasons where maybe it was seen that that could- Create risks of shutting down the network, and what's going on here is a, is a kind of creation of like a, almost like a virtualizing a comute, a computer into the way Bitcoin computes its scripting. Is that a fair way to put it?"
    },
    {
      "speaker": "stephan_livera",
      "time": "06:55",
      "start": 415.25,
      "text": "Yes. Maybe an important detail is that, this, BitVM never really executes much computation on Bitcoin. It only ever disproves incorrect executions. So that is very different than regular. Right, it's an important"
    },
    {
      "speaker": "stephan",
      "time": "07:13",
      "start": 432.98,
      "text": "distinction to make rather than the idea of like every computer having to do all the computation. It's more like, as you, as you point out in your paper, it's more like a solver and a, what's the other term? A disputer. Yeah. The prover and"
    },
    {
      "speaker": "stephan_livera",
      "time": "07:28",
      "start": 447.59,
      "text": "the verifier."
    },
    {
      "speaker": "stephan",
      "time": "07:29",
      "start": 448.71,
      "text": "Sorry, prover and the verifier, right. And so I think that's maybe more aligned with, let's say, how people are thinking about in a Bitcoin context, it's more like this idea that everybody's running There's no centralized server here, everyone's running their own Bitcoin node, and you are just sort of engaging in a similar way like with Lightning, there's kind of like a, you know, you're just engaging in this two-party channel state back and forth, and maybe it's, it's some similar dynamic with that. So BitVM sort of has similarities with DLT, Lightning, and things like this, but it's being done in a way where you are, let's say, disproving. Now, I guess probably the big thing that a lot of people will be listening and thinking, \"Well Hang on, what's the point of all this? I just wanna have my sound money. Like, why-- Is this gonna help me, or is this gonna help Bitcoin become sound money or become more saleable in some way? Do you have any, thoughts to share on that?"
    },
    {
      "speaker": "stephan_livera",
      "time": "08:20",
      "start": 500.37,
      "text": "Yeah, like my personal vision is that we really have hyperbitcoinization. That means like I can pay everywhere with Bitcoin. And, to do that, we would need to be able to process way more Bitcoin transactions than we currently can. Even the Lightning Network doesn't really scale to billions of people. And, yeah, the big dream would be that we can really process millions of transactions per second, millions of Bitcoin transactions per second, and, yeah, stuff like, sidechains would enable that. And, if we had like some kind of bridge To sidechains, then, we could basically process all of the, all of humanity's transactions, all of mankind's tran-trans-transactions on Bitcoin, and that would be the big dream"
    },
    {
      "speaker": "guest_2",
      "time": "09:02",
      "start": 541.66,
      "text": "I would add that the, similar things have been said about, about the Lightning Network. There's a lot of people who just aren't interested in using it, and that's perfectly fine. If you, if you just wanna get some Bitcoin, put it into cold storage, and, and, and that's what you want Bitcoin for is to protect your savings, that's great, you can do that. but some people also want to use their Bitcoin for regular day-to-day payments. Lightning is a good option for that, and some people wanna use them in fancy, fancy Like people being able to do what they want, and, and I think BitVM, may open up some additional options in how people might wanna use their bitcoins."
    },
    {
      "speaker": "stephan",
      "time": "09:39",
      "start": 579.3,
      "text": "I see, yeah. And so the elements of scalability that you mentioned there, so I guess what I'm reading from you Gentleman, there is Robin. You're speaking there about scalability, and Super Taproot, you're speaking also about scripting capability. Now, of course, I'm sure Robin, you also agree on the scripting capability, but in terms of- Scaling Bitcoin, as you mentioned, there's this idea of a two way peg and having side chains, is it also correct to say there might be other scalability wins here potentially from a, from emulating aspects of Covenants? I've heard people talk about, let's say, as an example, Check Template Verify, which could help people have congestion control, which in turn could help people with Lightning Network. Do you see any benefits in that, in that vein with BitVM?"
    },
    {
      "speaker": "stephan_livera",
      "time": "10:29",
      "start": 629.33,
      "text": "we are still very early at exploring the, the boundaries of what BitVM can do and what it can't do. in that paper that I released yesterday, that was focused on like the two of two or the two party setting, which is very limit, very similar to Lightning, channels. However, it might be possible to have like an open-ended setting, like you have one prover and basically everybody can become a verifier and challenge their claims. And if that is possible, then we can use BitVM to emulate basically every opcode proposal, I think."
    },
    {
      "speaker": "guest_2",
      "time": "11:06",
      "start": 666.35,
      "text": "Yeah, sometimes it's called a star topology or an asterisk topology, or it's also known as a hub and spoke model, where you have a central party who is, acting as the prover, and then, he has a two, a two of two relationship with a bunch of users, a-and so this whole group can connect to this one central party, they can rely on that party to make computations for them because Each of them knows he can't lie, he can't make a false computation, otherwise he would, you know, lose his money and, and forfeit a bond that the, that the group could take. so you can kind of, expand, from just having it, it work in a two-party setting to work in a star party setting or a, or a one to N party setting."
    },
    {
      "speaker": "stephan",
      "time": "11:50",
      "start": 710.45,
      "text": "interesting. Okay, yeah. So because that was another area where people were commenting that, this wouldn't enable some kind of global state, right? It's more like channel sort of style, state. But what you're saying is it could be, you could have hubs, and now that could be seen like a big centralization vector, but in this case, the individual users are able to make sure they're not being stolen from. So that could mitigate that, right?"
    },
    {
      "speaker": "guest_2",
      "time": "12:17",
      "start": 736.94,
      "text": "Yeah. Yeah, and in some versions of the hub and spoke model, you have to, you have to trust, you know, the, the, the hub not to steal from you, but at least, in this case, and, and also in the case of Lightning, there's also, some parts of the Lightning network use a hub and spoke model, like, what are they called, Lightning service providers do this. And in both cases, you don't have to trust the hub, you know, the hub can't take your money."
    },
    {
      "speaker": "guest_2",
      "time": "12:47",
      "start": 766.94,
      "text": "But at least if you do choose to use them, you know that they're not-- you're not trusting them to, to like not steal from you. you're just relying on them to provide some service to you and others. I see."
    },
    {
      "speaker": "stephan",
      "time": "12:57",
      "start": 777.49,
      "text": "Okay. And so- Maybe at a high level we can think of this, I, I know in your paper, Robin, you call out that it's, it has some similarities with what's known as an optimistic rollup. So, do you mind spelling that out for us, like what are some of the similarities here with BitVM and optimistic rollups? And sort of what, what does that mean benefit, you know, benefit-wise to Bitcoin users?"
    },
    {
      "speaker": "stephan_livera",
      "time": "13:22",
      "start": 801.87,
      "text": "Yeah, the fundamental idea behind optimistic rollups is, this, this idea that you can just make a claim and claim that some statement is true, for example, hey, I, I burned some coins in some side chain, so I'm allowed to take some coins on the main chain. And, the idea of optimistic rollups is just that I make that claim, and if that claim is correct, then everything is fine and I can just take the money. But if that claim is incorrect, then everybody can challenge me and disprove my claim and, like, succinctly give a fraud proof for my claim, and then I lose my money. And, this setting, yeah, that has been explored on altcoins, and,"
    },
    {
      "speaker": "stephan_livera",
      "time": "14:04",
      "start": 844.23,
      "text": "BitVM is basically, a way to import this idea onto Bitcoin."
    },
    {
      "speaker": "guest_2",
      "time": "14:11",
      "start": 850.72,
      "text": "It's also been explored more recently in the Bitcoin setting by the proposers of, of Matt, Merkleize all the things. so that's a, that's a recent proposal that's been talked about in the Bitcoin mailing list, and, they're also ex- they, they've also been exploring this, this kind of, what we call optimistic computation. so, they, they were part of an inspiration, they're actually cited in the paper, as an inspiration because we, we kind of used their model and, and figured out a way to say, well, you know, actually, Taproot Merkelizes all the things, so, so let's just So it was kind of fun, yeah."
    },
    {
      "speaker": "stephan",
      "time": "14:47",
      "start": 886.81,
      "text": "Okay, great. And so let's, let's take it maybe one step more into detail. So Robin, can you explain a little bit about the mechanics of BitVM and how it's working just to overview that for us?"
    },
    {
      "speaker": "stephan_livera",
      "time": "14:57",
      "start": 897.28,
      "text": "Okay, like the most basic idea is like to boil everything down to binary circuits and, To make that, we, need something called bit commitments. A bit commitment is basically, I have a variable, let's call it A, and the variable can have the value zero or it can have the value one. And, now I as the prover, I wanna set that value, and I wanna set it once and for all. I wanna say, okay, A has now the value one. And, whenever I reuse that variable A again, I have to use the value one. If I don't use the value one, if I like the next time I claim the value would be zero, then I equivocate it, like then, equivocation means like I said it's zero one time, and the other time I said it's one, and that allows you as the verifier to take My deposit. So you can punish me for equivocating if, if I ever say A is one and also A is zero, then you can take my money. Gotcha. So in this context,"
    },
    {
      "speaker": "stephan",
      "time": "16:01",
      "start": 960.83,
      "text": "equivocating is kind of like cheating in a lightning channel or something like that, like you did the wrong thing."
    },
    {
      "speaker": "stephan_livera",
      "time": "16:06",
      "start": 965.95,
      "text": "Yeah, like I can only claim that, like, a valid claim is that A is one or A is zero. But if I claim A is one and then the, the next day I claim A is zero, then, yeah, then I lied, then I made like a claim that is inconsistent, and every inconsistent claim can be punished. And"
    },
    {
      "speaker": "guest_2",
      "time": "16:30",
      "start": 989.5,
      "text": "equivalent thing in Lightning is, is with justice transactions. When, when you, when you wanna close a Lightning channel, you have to, you have to say what the latest state is. And if at some point prior in the history of that Lightning channel, you, you said, \"No, this isn't the latest state, this new state is the latest,\" then you've contradicted yourself or equivocated, and someone can punish you, or your counterparty can punish you and take, take the money that you tried to take from them, or even Mechanism where we, we, define variables, and then if you equivocate on the variable, if you say it was, it was this and now it's this, then you, your counterparty can take your money in that context"
    },
    {
      "speaker": "stephan_livera",
      "time": "17:14",
      "start": 1033.85,
      "text": "And the really cool thing is about that, that it's off-chain state. Like, I can reveal, like, the, the, the pre-image has like two hashes, hash zero and hash one, and if I reveal the pre-image to hash one to you, then, you, then, then I set the value to one. If I reveal the pre-image of hash zero to you, then I set the value of the, the commitment or the value of the variable to one, sorry, to, to zero. And, so depending on what pre-image I reveal, I can set the value. And, the cool thing about that is that it's introducing, state across different UTXOs or, across different scripts, and that is a very novel thing because usually scripts are limited to a particular UTXO, like only this execution and then the environment is deleted forever. But with this trick of bit commitments, you can introduce variables that exist across different scripts and across different UTXOs, and that is pretty much at the heart of the innovation here that we can have state across different UTXOs."
    },
    {
      "speaker": "guest_2",
      "time": "18:23",
      "start": 1103.32,
      "text": "Another, factor in the, that, that lies at the heart of how Bit- BitVM works, is the, the concept of like deconstructing a program. so a-any p-any program, that exists, like any, any piece of code or any software has to end up running on a microchip, and since microchips are constructed out of these tiny little circuits called logic gates, you can actually deconstruct any program and turn it into, a bunch of these logic gates that are, that are hooked together Together. and so we do that, we actually take, you know, in the virtual machine, you insert a program, you say, \"I want, I want to run this program,\" and the virtual machine parses it and processes it and turns it into, a bunch of connected logic gates. and each one of those logic gates then goes in a tap leaf of a Merkle tree in a tap root tr- a tap root address. and by having this deconstructed program, it allows you to actually check every step of the execution of that program. You can say Say, you know, in step A it has to go through this logic gate and step B it has to go through this one. You can check every step and say, \"Did the, did the prover accurately and correctly execute each step of the program? \" you can check that in a Bitcoin transaction or in a, in a Bitcoin address. And, if they do, if they do execute everything correctly, then well and good, the, the prover gets to take some sort of payment for doing that service for you. But if they messed up or if they, You can detect that because you have every step of the program, and so you can detect that and then say, \"Here's the proof where they tried to cheat, here's the proof where they equivocated, here's where they ran the program incorrectly. and then you can take the prover's money. So, so that, that's kind of, another, heart-- at the heart of this is like deconstructing a program and turning it into all these tiny little steps that Bitcoin can actually, understand."
    },
    {
      "speaker": "stephan",
      "time": "20:18",
      "start": 1218.47,
      "text": "Back to the show in a moment. The lead sponsor of this show is Swann dot com. You can use Swann dot com or the Swann Bitcoin app for safe and easy Bitcoin buys. You can set up a recurring purchase plan or you can do a one time buy and Swann also provides free automated withdrawals to your self custody. So this is a great way for you to take control of your own Bitcoin rather than leaving them with another platform. You can spin up your own wallet and Swann will automatically send the coins out to you every time. As you are regularly stacking Sats. Now, Bitcoin can be volatile, and it's also important to think about Bitcoin education. So Swan also provides a lot of free educational resources, such as free books and free podcasts and all kinds of material that you can use to learn about Bitcoin. Get ten dollars of free Bitcoin added to your account when you sign up and start stacking with Swan over at swan dot com slash livera. And now back to the show. And as you pointed out, this is something that was uniquely enabled by Taproot because of this, the structure of Taproot. And so the, I guess one of the questions or criticisms I've seen is this idea that you would be creating these massive, massive- tap leaves or tap trees, right? and so could you just elaborate a little bit about that aspect of this, that you, you know, the-- I, I guess what we're getting at here is the initial setup time, because let's say we're setting up a, you know, we're setting up some kind of bit VM structure, there's gonna be a lot of talking back and forth, a lot of computation required in order to make this work, yeah?"
    },
    {
      "speaker": "stephan_livera",
      "time": "21:57",
      "start": 1317.43,
      "text": "Yeah, like you have to set up that circuit once and you have to express it in, in a taproot or like in multiple taproots. And, real-world programs can easily be like billions of gates, and billions of gates would basically mean that you need billions of tap leaves, so you need to compute that huge tap, tap tree, tap tree upfront. And, yeah, people were criticizing it, but I think they were mostly criticizing it because they didn't really get how, how it can work out in practice. It is right that if you would just naively take a regular program and just compile it to a circuit, then it would become like gigantic and it would probably be not possible in practice or like it would just take days or weeks to compute it upfront and that would be, not a good user experience and it wouldn't probably-- it would probably not catch on but it isn't necessary to do it in that way. The thinking where these people are coming from is the regular thinking of like executing programming. If you, if you really have to execute everything, then you need to represent every gate. That is true. But here we aren't executing the, the computation. We, we are verifying a particular execution, and verifying a particular execution is orders of magnitude easier than executing an entire computation. And, we can craft circuits cleverly in a way such that, we need every circuit only once. For example, let's say we have a, a single sh-- a single circuit for SHA two hundred and fifty-six, and, now we wanna do a million SHA two hundred and fifty-six calls. We don't need to copy that circuit a million times, we need it only once, because we need to execute it at most once and exactly in that case that the prover lied, as long as the prover is saying, \"Hey, as long as the prover is making correct claims, like he's saying the hash of this pre-image is that hash, the hash of this pre-image is that hash, and so on, as long as these claims are correct, we never need to really compute them. We don't need to disprove them. We only ever have to disprove an incorrect claim. So let's say the verifier makes a million claims about hashes, and then like the million and first claim is incorrect, then we only have to verify or like disprove this, this last claim Claim and all the other claims, we never have to touch them because they were already correct in the first place, so there is no need to disprove them, or there is no way to disprove them if they are correct."
    },
    {
      "speaker": "stephan",
      "time": "24:30",
      "start": 1469.73,
      "text": "Yeah. And so as you've pointed out in the paper, the cooperative case Of this BitVM, a lot of this can be kept off-chain per se, and it's only in the case where somebody is trying to cheat or somebody is doing it wrong that you then have to actually go to chain, correct? And then I presume in this case, it's not that this massive transaction has to hit the chain, it's that you're taking a si- a, a component of the transaction and that's what goes on chain, yeah?"
    },
    {
      "speaker": "guest_2",
      "time": "24:58",
      "start": 1498.2,
      "text": "Yeah. Yeah, you show, you show where the error happened. So, so you take one, one of these logic gates, one, one tiny little, piece of code, it's, it's about ten lines of code, and you say, \"This is where the error happened.\" and That, that so that it's not very much, it's, it's like, it's, it's smaller than a lightning, a lightning pen-penalty transaction."
    },
    {
      "speaker": "stephan",
      "time": "25:20",
      "start": 1519.9,
      "text": "Gotcha. And I guess- Maybe this is a terminology thing as well, but this has been a hotly debated idea, this notion of Turing completeness. So can you guys elaborate a little bit on that idea? It, well, I guess firstly, could you, could, could you explain what does Turing complete mean? And Maybe your view on whether that's a good or bad thing for Bitcoin, because I think some people have said, \"Oh, no, that's a bad thing.\" Maybe if you could explain your view on that."
    },
    {
      "speaker": "stephan_livera",
      "time": "25:46",
      "start": 1546.47,
      "text": "Turing complete in general means, like a computer is co-- is Turing complete if it can compute everything that is computable. That's basically the simple explanation of it."
    },
    {
      "speaker": "guest_2",
      "time": "25:59",
      "start": 1559.47,
      "text": "Yeah, there's a, there's a certain class of programs, or problems that aren't, aren't, decidable by, by computers, like what's the last digit of pi? I-, it's not a computable number because pi isn't a rational number. and, and so if you, if you limit your, your co-computation to the subset of problems that are actually, that computers can actually solve for us, then a Turing machine or a Turing com-complete computer is one that's capable"
    },
    {
      "speaker": "stephan",
      "time": "26:26",
      "start": 1586.44,
      "text": "Those problems. I see. And then, any thoughts on that being good or bad for Bitcoin? I, I presume, obviously, you're saying it is a good thing, to have. I, you know, I'm not s-saying I necessarily share this criticism, but I've seen this criticism out there that people have this idea that it would be a bad thing for Bitcoin. Can you explain your views on, on that?"
    },
    {
      "speaker": "stephan_livera",
      "time": "26:50",
      "start": 1609.7,
      "text": "I think what these opinions are coming from is mostly that, for example, in the EVM, you have lots of complexity on the protocol level. the EVM itself is very complex and, That's, complexity we don't wanna have it on Bitcoin. We wanna keep Bitcoin as simple as possible because if it's simple, then we can easily reason about, the limitations of the security of the system won't be. And, the way we are, enabling Turing complete computation here is very different than Ethereum because we don't increase the complexity of the base layer. The base layer still stays, stays very simple and the operations on the base layer are very simple. And, also the, the amount of data that has to get written into the base layer is very limited. It's not like in Ethereum where like Like everybody writes their contracts into the Ethereum chain and everybody has to keep them forever, that is not the case here. Everything, like basically everything is off-chain. In the cooperative case, you don't even notice on the chain that somebody run a bit VM, it-- on the, in the, in the cooperative case, it's just a regular Schnorr signature, it's just A two-party, transaction that is the most simple thing you can have on Bitcoin almost. And, that is way better, I think, from the security point of view and like from the decentralization point of view, because like all the complexity is shifted off-chain, it's not on the base layer, and it's not a burden of the entire network to verify everything of everyone. It's"
    },
    {
      "speaker": "guest_2",
      "time": "28:34",
      "start": 1714.01,
      "text": "in my opinion, a Turing complete programming environment would be bad for Bitcoin, and, and I don't-- I'm, I'm glad that we, that Bitcoin isn't, isn't limited and doesn't have Turing complete, capabilities. And one of the reasons for that is because, computers actually can't distinguish between a program that's computable and one that's not. they don't, they don't know if, if a program is computable when they first see it, they have to like run it to find out. and if it is uncomputable"
    },
    {
      "speaker": "guest_2",
      "time": "29:03",
      "start": 1743.41,
      "text": "It's called like the halting problem in, computer science. so if we did have Turing complete programming on Bitcoin, it would be potentially really bad because someone could submit a transaction that nodes can't actually validate, and, and so they would, they would just get-- they would get stuck, they'd get stuck trying to validate this transaction forever, or at least until like, until someone c-- comes up with a different block that doesn't have that transaction in it. so I think that would be bad to have on Bitcoin, and, and so by, implementing BitVM in a context where we don't have Turing com-Turing complete programming language, we have, we have to find like clever ways of, of working around that, and the solution we came up with is to, create the program outside of Bitcoin, you, you actually demonstrate outside of Bitcoin that the program is computable, and then you put this, this already complete program, this already-- this, this program that's already- Known to be computable, you put that in a tap leaf or in, in a tap tree, and that way Bitcoin can't get stuck. It, it, it takes advantage of the fact that Bitcoin can't solve or can't even try to solve these, uncomputable programs. you just have to prove in advance that it's actually solvable."
    },
    {
      "speaker": "stephan",
      "time": "30:17",
      "start": 1816.65,
      "text": "Yeah, and I guess the other way to explain that is you could say As you're saying, there's this halting problem, you don't want the network to come to a halt, obviously, and there's no centralized server here, it's just tens of thousands, hundreds of thousands of people with their Bitcoin node running and doing this stuff. But what we could say is, in a BitVM context, if let's say you and I super enter into this kind of BitVM arrangement, if we screwed up our program, it would only screw up you and me, right? It wouldn't screw up everybody else who's running Bitcoin."
    },
    {
      "speaker": "guest_2",
      "time": "30:46",
      "start": 1845.68,
      "text": "Well, it wouldn't even screw us up, because, what would happen is, y-y-you'd have to, you'd have to, the, the prover would have to create this program and solve it, and then, put the program on Bitcoin and show the-- and show the, his counterparty the solution. But if he could never do that, if he could never actually solve it, you, you'd, you'd just get stuck at step one. Right. We"
    },
    {
      "speaker": "stephan",
      "time": "31:05",
      "start": 1864.93,
      "text": "would never have been able to start this thing to begin with."
    },
    {
      "speaker": "guest_2",
      "time": "31:08",
      "start": 1867.88,
      "text": "Yeah. You, you could create Back out because the solver could never, could never pro-provide a solution to the, he could never provide a valid path through a circuit that never holds."
    },
    {
      "speaker": "stephan",
      "time": "31:24",
      "start": 1883.75,
      "text": "Gotcha. Okay. And so then, in terms of what kinds of possibilities this is going to enable, obviously this is early days, right? The paper just came out yesterday, but If you could spell out for us what you think they might be, so as you mentioned, I guess maybe we can talk a little bit about this two way peg idea, Robin. Could you explain a little bit of what you think that view for Bitcoin could be? Like, are you saying- Somebody could use BitVM or a future version of BitVM and create some kind of trustless or quote-unquote trustless two-way peg in and out, and that would then enable transactions on a sidechain that can then be Pegged back into Bitcoin?"
    },
    {
      "speaker": "stephan_livera",
      "time": "32:07",
      "start": 1926.83,
      "text": "Yeah, that's the big dream, and I'm optimistic that it, it will work out."
    },
    {
      "speaker": "guest_2",
      "time": "32:11",
      "start": 1931.02,
      "text": "I'd also like to point out that, b-before we go into the use cases, I'd like to remind everyone that BitVM is, it's, it's very, very limited right now, extr-extraordinarily limited. All we have is the virtual machine itself implemented in one function. We, we have one single function that can actually run in this thing implemented so far, and it's, it's actually a useful function. It And we use it in Bitcoin for stuff like proof of work. but we only, we only have this one thing. Like in order to build out, you know, side chains or covenants or any of the cool stuff that we, you know, we might be able to do with BitVM, we need a lot more tools. We need, we need to write a lot more functions, get them running in this thing, get them, get them optimized and, and like make developer tools so the developers can actually create contracts, write them and debug"
    },
    {
      "speaker": "guest_2",
      "time": "33:04",
      "start": 1984.11,
      "text": "Where you can do all this fancy stuff on BitVM. It's, it's, it's very, very bare bones implementation right now with one function. So, so we're not there yet."
    },
    {
      "speaker": "stephan",
      "time": "33:14",
      "start": 1994.14,
      "text": "Yeah, totally fair to point out. And I guess the other big advantage, as, as you were pointing out, is that this doesn't require a soft fork, so this is Possible to do with Bitcoin today, so I guess that's the important point, and that, yeah."
    },
    {
      "speaker": "stephan_livera",
      "time": "33:30",
      "start": 2009.77,
      "text": "It's basically like the Met proposal, Merkelize all the things, but without a soft fork. That's Yeah,"
    },
    {
      "speaker": "guest_2",
      "time": "33:37",
      "start": 2017.21,
      "text": "that's the-- Yeah. So one of the things that I'd be excited for is, is to find out if we can do any form of covenants with this. So, covenants are a, are a type of transaction in Bitcoin, or even a type of address, where once money goes into this address, it's predetermined that it's going to go into, i-it's gonna go from there into a predetermined, whitelist of other addresses. and it's possible, I think, that we could implement some, some form of this, primitive using BitVM. and, and if we can do that, if we, if we can, then, that would open up a lot of doors. It would make ARC, a lot easier to build, for example. it would, it could help us improve Lightning. so, but, yeah, we'd have to-- There'd be some work to do before we could do that, before we could actually do covenants in this"
    },
    {
      "speaker": "guest_2",
      "time": "34:31",
      "start": 2071.09,
      "text": "Yeah, if we can do that as well."
    },
    {
      "speaker": "stephan",
      "time": "34:34",
      "start": 2073.74,
      "text": "I see. And so as an example with covenants, so I guess putting that in simple terms Nowadays, we, in terms of what's available today, like things like multisig and so on, that I guess that can sort of help you lock the input side of the transaction in terms of what can be spent, but, understanding some of what you can do with covenants is, is sort of relating to the output side of the transaction, that you're constraining where it can go or how much of the Bitcoin in that UTXO can move. So theoretically in the future, you might, with, with, with cove- with the generalized idea of covenants, you percent of the coin in this UTXO can, you know, move or things like this, right? Like you could have, and I think some of this comes in with James Obie's idea of op vault, and that's kind of a related idea. So I guess what, what you're getting at here is, is it You're saying currently in Bitcoin, you can make a transaction,"
    },
    {
      "speaker": "guest_2",
      "time": "35:31",
      "start": 2131.44,
      "text": "where, where you can say like only Alice or Bob can spend this money. Like those are the only two people who are allowed to spend it. They're the only ones with keys. With covenants, you would instead say something like, \"I'm gonna put some money in an address, and fifty percent of it's gonna go to Alice, and fifty percent of it's gonna go to Bob. \" And you, you sort of-- Some people call it like cursing the Bitcoin, like it, it can't go to anyone else, it has to go to Alice or it has to go to Bob. so that, that's what covenants enable, and it's a primitive that allows for building a, a, a bunch more stuff. And, and so, b-b- I, I'm not sure that BitVM, creates, the possibility of doing covenants with Bitcoin, but I think it does, or at least a, something similar to them. So, so I'd like to explore that and see if we can make that a reality."
    },
    {
      "speaker": "stephan",
      "time": "36:17",
      "start": 2177.36,
      "text": "Okay."
    },
    {
      "speaker": "stephan",
      "time": "36:20",
      "start": 2180.42,
      "text": "in terms of, data availability, so this is another question, in the comments, the question was, will it have data availability constraints? Similar to a rollup."
    },
    {
      "speaker": "guest_2",
      "time": "36:37",
      "start": 2196.58,
      "text": "It depends on the contract you're building. if you, if you were building a rollup with this, then you'd have the problems that come with rollups, one of which is where do you put the data, for a rollup. and, and, yeah, BitVM doesn't offer a solution to that. It's just, it's just a way of encoding the, the logic for a program, so that you can execute it on, or so you can prove or validate whether it was cor- executed correctly"
    },
    {
      "speaker": "guest_2",
      "time": "37:02",
      "start": 2221.97,
      "text": "In a, in a rollup context. so yeah, if you were gonna do a rollup, you'd have the data availability problem, but, of course, not, not every contract, has a data availability problem. There, there are, there are contract types that just-- that's not a concern, like that don't produce massive amounts of data, that only produce like a megabyte or so, and then you can just store that data locally on your machine. so yeah, it depends on the contract you write."
    },
    {
      "speaker": "stephan",
      "time": "37:29",
      "start": 2248.51,
      "text": "I see. and in terms of dealing with fees in a lots of disputes situation, I presume that's this kind of like Lightning or just Bitcoin in general today, right? Like if you're, if lots of people are entering into BitVM style arrangements and they need to go to chain, it's no different to just the same problem that we have today with lots of people, let's say, closing Lightning channels all at the same time today, yeah?"
    },
    {
      "speaker": "stephan_livera",
      "time": "37:56",
      "start": 2275.66,
      "text": "Yeah. That's why sidechains would be better because in sidechains you don't really have that problem of a mass exit, like, you know, as long as-- I see. Well, there could,"
    },
    {
      "speaker": "guest_2",
      "time": "38:06",
      "start": 2286.1,
      "text": "there could be a rush to the exits from a sidechain if, if everyone wanted to exit or peg out at once, if there were a million people on a sidechain and they all wanted to rush to the exits, that could be a problem."
    },
    {
      "speaker": "stephan_livera",
      "time": "38:15",
      "start": 2295.14,
      "text": "Yeah, but it can't fail in the sense that the sidechain stops working as long as it's permissionless, right?"
    },
    {
      "speaker": "guest_2",
      "time": "38:21",
      "start": 2301.2,
      "text": "Yeah, it would just, it would ruin, it, it would bankrupt the, the prover. But yeah, so it, he would, yeah, he, he wouldn't be able to like not give people their money because, BitVM would ensure that they always have a, a peg out option. That's kinda cool."
    },
    {
      "speaker": "stephan",
      "time": "38:36",
      "start": 2315.93,
      "text": "Yeah. Right. And so yeah, that is closer to that idea of this so-called trustless two-way peg as opposed to, you know, having to go through a, a federation, as an"
    },
    {
      "speaker": "stephan_livera",
      "time": "38:52",
      "start": 2331.94,
      "text": "I mean, in our model, we might have a federation too, but the difference is that the federation isn't trusted anymore. Like the federation would be required to execute things and like to perform the pack actually, but if they ever stop working or if they do anything that is, invalid, then, yeah, you can take their deposit and then they will lose more than they gain. But"
    },
    {
      "speaker": "guest_2",
      "time": "39:12",
      "start": 2352.04,
      "text": "wouldn't, I wouldn't want to, I wouldn't agree that if you were in a federation with someone and you were relying on them to process blocks, so they're not trusted in any sense They would be trusted for some things, but just not with your money. You wouldn't be trusting them with your money, you'd be trusting them to like, not cause you an unnecessary expense by suddenly stopping processing blocks on the side chain, causing you to have to exit. you'd, you'd have to rely on them not to do that, or at least you'd hope they wouldn't do that, because if they, if they proved to be an unreliable approver, it would cost you time. it wouldn't cost you money, but it would"
    },
    {
      "speaker": "stephan",
      "time": "39:46",
      "start": 2385.68,
      "text": "cost you time. Without theft concern."
    },
    {
      "speaker": "guest_2",
      "time": "39:53",
      "start": 2392.95,
      "text": "Yeah. Yeah, it would be, it would be that, and it would also just ruin everyone's day if, if everyone was relying on this side chain to keep operating and they were building businesses on it and stuff, and then suddenly it stopped working, they might not lose money, but, but their business might not work anymore. And so they'd be, they'd be like, \"Well, I lost my income, though, so, you know, you're still-- there's still a lot of trust there.\""
    },
    {
      "speaker": "stephan",
      "time": "40:15",
      "start": 2414.99,
      "text": "Yeah."
    },
    {
      "speaker": "stephan_livera",
      "time": "40:15",
      "start": 2415.31,
      "text": "But a lot of that is like theoretical concerns I would like to point out because, the good thing about side chains is that once we have some way to do a trusted two way pack, then, the side chain coins will become valuable or like they will be, they e-value will be equal to BTC. And, once there is some way to do the two way pack or the, the pack out, then, you can have like atomic swaps and, yeah, perform basically instant pack outs. Between like liquidity providers and, and sidechain users. And,"
    },
    {
      "speaker": "stephan",
      "time": "40:51",
      "start": 2450.56,
      "text": "Yeah, and I mean, even for me, I'm not, I'm not a hundred percent sure it would still be the same value, right? Like if you ha- even if we had a trustless two way peg in and out of Bitcoin Would the trustless two way peg coins, like the s-the side chain coins, be valued the same as Bitcoin? I don't know."
    },
    {
      "speaker": "stephan_livera",
      "time": "41:06",
      "start": 2465.88,
      "text": "Yeah, probably. I think they would because you can see it in the Ethereum world that, they are pegging ETH to other chains and it is just as valuable as,"
    },
    {
      "speaker": "guest_2",
      "time": "41:16",
      "start": 2476.34,
      "text": "Or within a, within a very close percentile. yeah, I don't, I don't know if, if you- Yeah, maybe, maybe. If you had a, if you had a very reliable chain that, that, that, that works very well, then you'd have-- It would probably be more desirable to use that, and consequently the network would have more value and, and perhaps its peg would be closer to Bitcoin. But if you have like a, a new chain that just started up, maybe, maybe not so much. Maybe they have some kind of bootstrapping phase"
    },
    {
      "speaker": "stephan",
      "time": "41:40",
      "start": 2500.46,
      "text": "Back to the show in a moment. CoinKite dot com are the creators of the best Bitcoin hardware security devices. You can get the Coldcard, which is a fantastic device that you can spin up without even having to phone home. You can literally plug this device into the power and not into a computer and spin up your new wallet, write down your twelve or twenty-four words, and you can be away and running with your Bitcoin wallet. Now, if you're a beginner, don't be afraid, you can just get the Coldcard and get a USB-C cable, plug that into your computer. And off you go with software such as Specter Desktop or Sparrow Wallet. The Coldcard offers a lot of functionality that you can use to improve your security. So for example, you can have a BrickMe pin, a pin that will brick the device when it is input. You can use a passphrase, you can use multi-signature, you can use seed access. There's all kinds of features that you can discover when you get your Coldcard and dig through the menu and read some of the FAQ and README documentation. To get your Coldcard, go to coinkite dot com and use code Livera There. mempool dot space is the leading Bitcoin explorer that shows Bitcoin as a fully fledged multi-layer ecosystem. You can view Bitcoin's mempool, you can see the blockchain, you can see transactions and search them, you can view second layer networks like the Lightning Network, and with mempool dot space, you don't even have to trust a third party. It's free and open source software, you can host it yourself and not need to rely on other people. Also, mempool dot space are continually innovating and rolling out new features. You can see things Things like the RBF history that are replaced by fee history for a transaction, they have a mempool accelerator integration which is coming soon, and you can see all kinds of features over on the website over at mempool dot space. And now back to the show. Yeah. One other area that, I saw some discussion on was this notion that if we had, let's say we have BitVM and we had Check Template Verify, would that also- Change things or make it easier to do this kind of thing."
    },
    {
      "speaker": "stephan_livera",
      "time": "43:38",
      "start": 2618.17,
      "text": "Maybe it improves the multi-party setting. For the two-party setting, you don't need CTV really because you can pre-sign everything and like you can perfectly emulate CTV between two parties. So that won't be an issue. but for the multi-party setting, for like the open-ended setting where you have like a single prover but multiple verifiers or like everybody can be, be a verifier, in that setting, it might be interesting to have CTV."
    },
    {
      "speaker": "guest_2",
      "time": "44:04",
      "start": 2644.3,
      "text": "There's an interesting post on the Bitcoin developer mailing list yesterday by Anthony Towns who did some mathematics on how large a circuit could be or how large one of these programs could be and still be able to validate it in a timely manner and with a small number of transactions. and by his mathematics, it looks like, you, you could, increase the size of, the size of a possible program if you added cTV, by something, close to ten or twelve times, you could get ten or twelve times bigger. and so that's kinda cool. But, but yeah, I think v- already the kind of programs we can have are pretty, pretty large. He talks about having twenty-four million operations in a single program. For, for mo-most stuff that is interesting doesn't, doesn't need that many. So, so we already have pretty big programs that we could do with this right now."
    },
    {
      "speaker": "stephan_livera",
      "time": "44:58",
      "start": 2697.56,
      "text": "I really wanna emphasize that this talk about like the space limitations, the- It doesn't really fit the reality, like when you, you can build a VM with, let's say, ten gigabytes is all you ever need. Like if, if, if you're willing to set up a circuit of ten gigabytes, you will be able to perform more computation than anybody ever needs."
    },
    {
      "speaker": "guest_2",
      "time": "45:22",
      "start": 2721.8,
      "text": "Right. Yeah, yeah, I think-- I don't know what ever needs, but it, but a lot of, a lot of very realistic and useful things could be built, with a small number of gates or, I mean, it's, it's even a large number Twelve million operations in a single program."
    },
    {
      "speaker": "stephan_livera",
      "time": "45:37",
      "start": 2736.71,
      "text": "Yesterday night I did a calculation and, I think like with ten gigabytes you can run like a little, like a modern CPU with like large memory and everything for about half a day or so, I think."
    },
    {
      "speaker": "guest_2",
      "time": "45:50",
      "start": 2750.12,
      "text": "Yeah, so, so very good. You're, you're not gonna be finding the next digit of pi, but, but you might be able to, you know, do a payout from a side chain."
    },
    {
      "speaker": "stephan_livera",
      "time": "46:00",
      "start": 2760.44,
      "text": "I just want to emphasize, I think you can do any amount of computation. You could even sync a Bitcoin full node in a, in a BitVM. That's kind"
    },
    {
      "speaker": "stephan",
      "time": "46:09",
      "start": 2768.94,
      "text": "of inception based. Okay, so let's talk a little bit about, yeah, so I guess the practicalities then, like would that mean BitVM users need to have beefy hardware in order to set this up, you know, is it something that, you know, you're not gonna be able to use, like a mobile user isn't gonna be able to participate in this kind of thing?"
    },
    {
      "speaker": "stephan_livera",
      "time": "46:30",
      "start": 2790.25,
      "text": "yeah, like it might be Problematic to set up the circuit on a mobile phone, but you could set it up on your, on your desktop computer, on your laptop or so, and then use the same circuit on your phone. That would be possible, I think."
    },
    {
      "speaker": "guest_2",
      "time": "46:46",
      "start": 2805.58,
      "text": "Yeah, and it also, a lot of this, it depends on the circuit. Like, not every circuit that's useful needs to have millions of, millions of operations in it that your phone then has to, like, set up. if you're just doing something that has, you know, hundreds or thousands of operations, your phone can do that, so, so yeah, it really depends on what, on what contract you're creating."
    },
    {
      "speaker": "stephan_livera",
      "time": "47:07",
      "start": 2827.43,
      "text": "And it's about intelligent circuit design because, like, we can design the circuit such that it's easy"
    },
    {
      "speaker": "stephan_livera",
      "time": "47:16",
      "start": 2835.74,
      "text": "In circuit design, you design it such that it's easily, easy to execute it or it's m- that you can execute it as efficiently as possible. That's usually the design goal. But here we don't have that design goal at all. What we want is to, be able to disprove an incorrect execution of that circuit as efficiently as possible. And that is a very different design goal. And I think, yeah, it will be possible to design circuits very, very efficiently such that probably you, at some point, you will be able to run everything on a- Phone as well, or to set up everything on a phone as well."
    },
    {
      "speaker": "stephan",
      "time": "47:48",
      "start": 2868.36,
      "text": "Okay, interesting. And it could also be a context where maybe, I, I, I'm, maybe I can't think of a good example, but it might be the kind of thing where individuals don't really use this, but it might be like business to business, and maybe they would use it, and for them it's not a big deal that they have High hardware requirements, maybe that, maybe there's sort of uses of Bitcoin that would make sense like that as well."
    },
    {
      "speaker": "stephan_livera",
      "time": "48:11",
      "start": 2891.27,
      "text": "Yeah, especially in the case of a two way peg. And a two way peg, like the ideas we have been talking about, usually you have some kind of liquidity providers who, who are the ones who are doing the, the, the big amounts of pegs, like pegging in like ten BTC or something to the side chain. So there would be like one entity and like maybe a federation of like fifty people or so who Who will get slashed if something bad happens or so, something along these lines, so only a very small minority of the, of the users would, would actually have to run the BitVM and, most users wouldn't care about it."
    },
    {
      "speaker": "stephan",
      "time": "48:47",
      "start": 2927.35,
      "text": "Gotcha. So maybe that would be sort of analogous to Lightning today with Lightning service providers or Ark in the future potentially with Ark service providers, these are meant to be Highly proficient users and well capitalized with good hardware, so maybe it's not a big deal for them to have high requirements, r-as long as the end user can still do what he needs to do without necessarily having, you know, an amazing computer and high capital and all these things."
    },
    {
      "speaker": "guest_2",
      "time": "49:14",
      "start": 2954.39,
      "text": "Yeah. Now, your, your phone just has to prove that somebody else proved that, that some contract was executed incorrectly, like your, proofception."
    },
    {
      "speaker": "stephan",
      "time": "49:26",
      "start": 2965.94,
      "text": "Yeah. So I guess it's sort of difficult to explain the practical, use of this today for the end user, but I guess as, as, as I, I'm trying to summarize it back into what is practical for the end user today, potentially in the future, this allows a two way peg out to a side chain or potentially- There may be some way to enable covenants in Bitcoin today without a soft fork, but I guess it's sort of a more research and more effort is required"
    },
    {
      "speaker": "stephan_livera",
      "time": "49:56",
      "start": 2995.86,
      "text": "The end goal is definitely to scale, or like for me personally, the end goal is to scale Bitcoin to like a million transactions per second. That is, that is what I'm about in general. And, But to make like, just a couple examples of things that people can relate to more easily is like, for example, you could play chess on a BitVM or poker or go or stuff like that. That is something that's maybe more easy to grasp."
    },
    {
      "speaker": "stephan",
      "time": "50:22",
      "start": 3022.18,
      "text": "Okay, but I guess for a lot of people, they're just gonna say, \"Well, I don't really care about playing chess on Bitcoin, like I'd go to chess dot com or, you know, leechess or something to play chess, right?\""
    },
    {
      "speaker": "stephan_livera",
      "time": "50:32",
      "start": 3031.65,
      "text": "Yeah, I'm just making these examples to show like what would be possible to compute on Bitcoin now. Like, the, the point I wanna make is like you can have, very complex round-based, computation off-chain on Bitcoin, and it can be basically as complex as you want."
    },
    {
      "speaker": "guest_2",
      "time": "50:52",
      "start": 3051.57,
      "text": "Someone pointed out the other day that, high-stakes po-poker can't be done online right now because, you don't trust the poker websites with, two hundred million dollars. but you might trust Bitcoin with that amount of money. And, and so if we could build a poker game in BitVM, that, that might be useful for some people. They, they might be like, \"Oh, now I can, now I can gamble two hundred million dollars on whether I get a pair of aces.\" and some people might wanna do that."
    },
    {
      "speaker": "stephan",
      "time": "51:23",
      "start": 3083.41,
      "text": "Yeah, possible, I guess. I think maybe there's other concerns with that too, that, you know, nowadays people are worried about bots, and like high level poker bots being able to beat all but the most advanced poker pla-human poker players, and things like that. But just collaboration,"
    },
    {
      "speaker": "stephan_livera",
      "time": "51:39",
      "start": 3099.15,
      "text": "like in online poker, the main problem is that you can never know if all the other people on the table are collaborating against you, right?"
    },
    {
      "speaker": "stephan",
      "time": "51:47",
      "start": 3106.63,
      "text": "Right, right. Yeah, that's another one where obviously there have been, scandals in the poker world before, in relation to that kind of thing. Okay, so I'm just trying to think about how to best summarize this. So,"
    },
    {
      "speaker": "stephan",
      "time": "52:03",
      "start": 3123.15,
      "text": "let me try to-- Okay, I'm gonna try to summarize this. Obviously, it's quite technical, but you, you tell me if I'm getting something wrong here. So, the idea is You are creating this prover and, verifier dynamic and a challenge-response dynamic, and you're using- The fact that Taproot allows you to have these massive, massive tap trees of transactions that allows people to sort of precompute things in advance and allow them to Compute, and then disprove if somebody's doing something wrong. The aim being to enable more scalability or potentially more covenants in Bitcoin. I-is that Sort of a high level, way to think about this."
    },
    {
      "speaker": "stephan_livera",
      "time": "52:51",
      "start": 3170.9,
      "text": "Yes. The only thing I would add is that we also get privacy if we, if we have a two way pack, we also get privacy basically, not just scalability, but also privacy."
    },
    {
      "speaker": "guest_2",
      "time": "53:01",
      "start": 3180.71,
      "text": "BitVM potentially gives us a lot of, scripting superpowers that, have been really hard to do in Bitcoin before, and, right now they're still hard, but, We, we have a path now to making them easier, and, and so that, that's really cool. But, what, what we can do with it in the future, we might be able to do covenants, we might be able to do sidechains, and th-those are the two things that I'm currently gunning for, but ho-hopefully, or, and, and, games as well would be a third one. But hopefully people will, you know, p-people will think, think of stuff that we haven't thought"
    },
    {
      "speaker": "guest_2",
      "time": "53:39",
      "start": 3219.24,
      "text": "Off the blockchain, we should say. well, you know, we'll see, we'll see what people come up with."
    },
    {
      "speaker": "stephan",
      "time": "53:44",
      "start": 3224.36,
      "text": "Great. Well, bitvm dot org is the link. I'll put all the links in the show notes over at stephanlivera dot com. any closing thoughts from you guys, Robin and Super Testnet?"
    },
    {
      "speaker": "stephan_livera",
      "time": "53:55",
      "start": 3235.0,
      "text": "sure. If you wanna fund the development, look at the, at the Bitcoin address in the paper."
    },
    {
      "speaker": "stephan",
      "time": "54:00",
      "start": 3240.24,
      "text": "And Super Testnet, anything else you wanna mention?"
    },
    {
      "speaker": "stephan_livera",
      "time": "54:03",
      "start": 3242.66,
      "text": "Let's go."
    },
    {
      "speaker": "stephan",
      "time": "54:03",
      "start": 3242.96,
      "text": "Let's go. Alright, let's go. Thank you for joining me, guys."
    },
    {
      "speaker": "stephan_livera",
      "time": "54:08",
      "start": 3248.17,
      "text": "Thanks a lot for having us."
    },
    {
      "speaker": "stephan",
      "time": "54:11",
      "start": 3250.99,
      "text": "So it is early days with BitVM so far, but those of you interested can find more information in the show notes over at stephanlivera dot com slash five two zero. Let me know what you think, make sure to share the show out there with your family and friends, and I will see you in the Citadel."
    }
  ]
}
