0:00 Hi, Paul, hi, Henry. 0:25 Are you able to hear me, Henry? 0:31 Awesome. 0:53 We need some background music while we're waiting. 1:09 Anybody want to do some karaoke? 1:16 Are we human or are we dancers? 1:40 What up, Paul, Mr. Sports? 1:44 Hey, Super, what's up? 1:47 Things are going very well. 1:48 Oh, that's good. 1:49 I always try to join this space, like, immediately, and it always takes, like, a long time. 1:55 I've got to reset the app to try multiple times. 1:58 I don't know. 1:59 But it seems to work when I eventually... 2:05 Works fine for me. 2:09 Yep. 2:11 Anyway, well, welcome to the space. 2:14 I think I can only hang around for, like, maybe half an hour, 45 minutes, but here I am. 2:23 Busy guy. 2:24 Here you are. 2:25 Yeah, it's for the Thanksgiving weekend. 2:28 So, would you do anything fun? 2:30 Sure. 2:31 Happy Thanksgiving, everybody. 2:32 Happy Thanksgiving to everyone. 2:33 Forgot about that. 2:34 All right, let's get right into it. 2:36 Why does BitVM suck? 2:38 Should I start, or should you? 2:39 Well, okay, why don't you let me give a tiny crack at it, okay? 2:44 And if I had to answer that question, I would say one of the things about it that's not great is you don't... 2:53 It's hard to call more participants into the set after you set it up. 2:58 So you sit down and you set it up, but then the other people, they don't really get the primary benefit out of BitVM if they come later. 3:08 They need their own. 3:09 So it has the same onboarding problem that most things have. 3:13 I would say that's not great, and I would also say, as usual, people refuse to... 3:19 This is not specific to BitVM. 3:21 As I've said for many, many, many, many years now, about 51% hash rate can always censor some message or another from the blockchain and then manipulate the state of the contract. 3:35 And so the question is not if it's vulnerable to miners, but just how. 3:43 And at BitVM, it's kind of like you won't know if you've been scammed by miners until after it's too late. 3:49 And so I guess that would... 3:52 Those would be the two things that I would kind of maybe mention. 3:57 What do you think? 3:58 Yeah, I fully agree with the second one. 4:01 That is a terrible thing about BitVM that I don't see a solution for. 4:06 And I think that one of the nice things about BIP300 is that it makes that same procedure take time. 4:14 So if a mining pool wants to steal from you with BIP300, and they have a hash rate majority, you can see their attempt well in advance. 4:23 And you can go and complain to members of that mining pool and be like, hey, you guys are trying to steal from me, and maybe you guys don't know it. 4:30 So go to a different pool that's not trying to steal from me. 4:33 And it gives time for a procedure like that to take place, which I think is good. 4:39 We see mining pool members are often responsive to pressure from Twitter. 4:45 And so maybe I like that. 4:49 And I wish that BitVM had something like that. 4:52 Not only is it slow, but the idea is that they have to have guilt. 4:58 They have to be caught red-handed long before they even know if they will succeed. 5:05 So there's still kind of like an aversive angle that they might try and then not succeed and then fail. 5:11 So they have a cost of trying to steal, whereas in the others, they can complete the crime before anyone uses it. 5:23 I don't currently think it's possible to add anything similar in BitVM. 5:29 But I would like to think more about it and see if maybe we can do something with time locks. 5:35 Because we have these time lock things in Bitcoin. 5:37 Maybe you could make it so that withdrawals have to be announced in advance and then time locked for a certain amount of time and miners have to post the transaction in advance or something. 5:47 I don't know. I'm already getting lost. I don't know how you would do it. 5:50 I think it could be possible that you have to publish a blob. 5:54 It would end up just simulating BIP300. 5:57 But it would be something like if you want to withdraw from our magic ceremony, you first must publish the blob, like an op-return blob to Bitcoin. 6:07 And then we do more BitVM stuff off-chain with the counting, counting the 13,000. 6:16 And then whatever, 13,000 blocks after the blob. 6:20 You understand by the blob, I mean something like the withdrawal transaction or the withdrawal transaction ID or something that commits to the set of people withdrawing. 6:31 I think you just put that blob on first, then do more BitVM stuff. 6:36 And then part of the BitVM can trigger a catastrophic loss if the withdrawal is done any other way or something like that. 6:45 I don't know. I haven't really given it a lot of thought. 6:48 Right. I haven't either. 6:50 But that's one of the best things about BIP300. 6:53 And if there's a way to do something, even if it's not as good, but something that approaches that in some way or gets us closer, that would be ideal. 7:02 Because that's one of my favorite things about BIP300. 7:05 So your other objection was that the other reason you think it sucks, or could suck, is that it's hard to add people in to the verifier set after the chain's been running for six years. 7:20 And then someone's like, I would like to peg in, but I want to be one of the validators. 7:23 They're not going to just redo all the pre-signed transactions and everything for you. 7:28 So one thing with that, you could actually do that. 7:34 You could have it so that anyone can decide they want to be a validator, maybe post some collaterals to prove that they're not joking. 7:42 And then you just do that. 7:46 One of the consensus rules of the sidechains is if somebody goes through this procedure and says they want to be a validator, everyone's got to do that. 7:54 Everyone's got to re-sign all the things. 7:56 Otherwise, if they don't, then that's considered a consensus failure and the validator set loses their pledge. 8:02 So that's an option. 8:04 You could do that. 8:05 But another thing is that I don't think even that's necessary, because what you could do instead is you could make a contract with one of the existing validators. 8:14 And you could say something like, I want to make a contract with you that if I can prove that I submitted a valid withdrawal request and it wasn't processed within X number of blocks, then you're going to lose your money. 8:29 Because that means you didn't do your job. 8:31 You didn't force the prover to give me a withdrawal or to send me my money. 8:39 And so you could actually, I think, without making everything be re-signed, just make a second contract like a derivative contract where you're making an agreement with one of the validators instead. 8:50 And if none of the validators will make that contract with you, then they're probably trying to scam you because they don't want to be held accountable and they don't actually want to do their job and make sure that everyone gets their withdrawals. 9:02 Well, those are two very interesting examples. 9:04 But I think the – so let's take the second one first. 9:11 It's kind of like you have to meet with someone who is in the set, and then they have to do something with you. 9:18 They have to agree to something. 9:21 I guess you could standardize all of that, but it's kind of like – these are kind of like – let me try to phrase it like this. 9:30 You need their consent to join the set. 9:35 And if you don't get it, then of course you could have some kind of inference, as you say. 9:39 You could say, well, since no one will give me consent, I infer that 100% of these people are doing the wrong thing. 9:50 But you have to kind of like – you have to do this interactive ceremony and then conclude something. 9:56 So it's not – it's kind of like if they agree. 9:59 Sure. 10:00 Pegging in is always – you always have to be online in order to peg into a sidechain. 10:05 So if one of the validators has to be online too, well, that's natural anyway because that's part of their job is to be online and be available. 10:16 And it's part of their job to extend the validator set to whoever wants. 10:22 Like they have just a server and they just – when people want to join as a sub-validator or whatever, they just – 10:33 So the first example was – that you gave was that you write it into the rules of the first set that the set can expand. 10:43 But that's also not really what I had in mind because the – allowing the set to expand and re-signing everything, that kind of – now you're vulnerable to that person going AWOL, I would think. 10:57 And so you don't want to have re-signing being done. 11:04 But yeah, I don't know. 11:05 I mean, I think I guess what you're saying makes some sense, but I'm just saying that this is part of the project is that – 11:10 so like when I think of BitVM, I think two people sit down and they play chess. 11:14 And then one of them wins some money from the other. 11:17 And of course, it can be – the chess could be anything of arbitrary complexity. 11:23 But it's like the two people sat down and they're the ones who are going to zero out all of the different logic gates. 11:35 And so I would just imagine – isn't there like a – I'm not very familiar with the details, but isn't there like an exponential blob of state that has to be zeroed out in advance if you start messing with the sets? 11:55 There does be – if everyone has to re-sign everything, then you can't have a validator set too large because it just becomes a combinatorial explosion for everyone to send each other like nonces and stuff that – 12:15 if you have to send your nonces to – you have to send 1,000 different nonces to 1,000 different people, then each of them has to send 1,000 different nonces to 1,000 different people, and you have to all validate all that stuff. 12:25 And at some point, it becomes really difficult to do. 12:29 And you have to do that for every pre-signed transaction of which there might be hundreds. 12:34 If you're going to – or tens of thousands if you're going to have a long-lasting – if you want to have a long-lasting sidechain. 12:41 So that could be a lot to do. 12:45 And yeah, the smaller the set, the better. 12:48 So unless we get covenants or some other form of covenants than the ones we already have. 12:55 Yeah. How do you think that that would improve at the – 13:00 Well, with covenants, you get rid of all that pre-signing stuff. 13:03 So without – I mean, the only form of covenants we currently have, one of the existing forms we have, is multisig, where you get – 13:13 if a bunch of people create a transaction or a set of pre-signed transactions, you can't – the money is definitely going to flow through that pre-signed set of transactions unless everyone in the set agrees to break the covenant, the terms of the agreement. 13:33 So that's pretty good, but it's – like I said, if there's a lot of people involved, the more people you add, the more of a combinatorial explosion you get. 13:43 Covenants remove all that. 13:45 With covenants, you can just create the set of pre-signed – well, it's not even pre-signed. 13:50 You just create the set of transactions, you embed them in the covenant, and you say, okay, this is – if we put money into this address, it has to flow through this thing. 13:56 There's no – like the consensus rules of Bitcoin enforce that instead of needing signatures from a bunch of covenant – or from a bunch of multisig members. 14:04 And that's better. 14:06 Then you don't have to pre-sign everything. 14:08 You can just show that this is the rules, and everyone can validate that and then say, okay, I agree. 14:14 Let's fund this address. 14:16 So that's way better. 14:18 It just completely removes that pain point. 14:22 Does that make sense? 14:26 It does. 14:28 Well, that's a very neat idea, of course. 14:34 I mean, what would be your favorite? 14:36 Because I know that people have very strong opinions on CTV, OP_CAT, whatever, TxHash. 14:45 Probably most normal people listening have no idea what the differences are. 14:51 But we should at least – should people at least put their favorite? 14:56 Should we have the convention where we have an emoji for each covenant opcode, like the cat? 15:02 Definitely have hats that we sell. 15:05 I would love to – one of my favorite things about the Taproot upgrade was when that was going through, there was this meme that went around on every Bitcoin podcast, and on Twitter too, that was like, everyone agrees we want Taproot. 15:17 The only question is how do we activate it? 15:18 And I thought that was such a genius move. 15:21 Whoever came up with that meme completely shifted the narrative away from whether Taproot was good to something that no one cares about. 15:29 And so Taproot sailed through easily. 15:32 And so I would love to do something like that. 15:34 I would love to create the meme. 15:36 Everyone agrees we're going to get Opctv. 15:38 The only question is what comes with it. 15:40 Do we also add in any Prevow? 15:43 Do we also add in ChexSignature or Stag? 15:45 Do we also add in OP_CAT? 15:46 That would be cool. 15:48 I would like that. 15:50 But I don't make these types of decisions. 15:52 So yeah, maybe you can start it, Paul. 15:55 You go ahead and start saying it, and then maybe it will be true. 15:59 The meme craft. 16:01 I should say something like, OP_CAT is the worst thing ever. 16:04 It's an attack on Bitcoin. 16:06 And then it will reverse psychology people. 16:10 Well, you know, it's interesting because this is what people said about 1.19, not to go into too much pointless BIP drama. 16:19 Although in a way the pointless BIP drama is the most important thing happening in Bitcoin right now. 16:26 So maybe we should just refuse to talk about anything else until this subject is dealt with in the appropriate way. 16:33 But 1.19 is another thing where like actually it was the case that exactly as the meme you had said before said, 16:41 where people actually, everyone did really want CTV. 16:45 And the only question was how to activate it. 16:48 The same with 1.18, 1.18, 1.19. 16:51 And the difference is that 1.19, Jeremy tried to actually activate it. 16:54 And then it was, now there's a pointless delay for two years, I suppose now. 16:59 I don't know exactly when it was. 17:00 Was it, does anyone know? 17:02 Was it April of last year? 17:04 It felt like it was right after Taproot. 17:06 Yeah. 17:07 November 2021. 17:09 Yeah. 17:10 I think at some point he got the impression that right after Taproot they were going to do CTV. 17:14 And then, so he just tried to do it. 17:16 Why not do it? 17:18 Yeah. 17:19 Yeah. 17:20 So that was, for those of you who don't know, kind of a pointless disaster where Jeremy Rubin, the creator, 17:27 ended up just quitting Bitcoin altogether over this activation drama. 17:31 And then, you know, you could see that as time has gone on, 1.19 has become more popular. 17:36 And no one has a problem with the content of 1.19. 17:41 I think the activation, it just brings out the worst in people because everyone wants to think, 17:46 you know, you've heard that phrase, success has many fathers, failure is an orphan. 17:51 Everyone wants to be like, this succeeded because of me. 17:53 Because my node signaled for Taproot. 17:57 And so, I don't know. 17:59 I mean, that's just my guess. 18:01 But for some reason, the activation is miserable. 18:04 And I actually hope that. 18:06 I think what we should get going is a different meme where something along the lines of, 18:11 we need to have more people take responsibility for Bitcoin succeeding. 18:17 And we need them to just say, we can't have people hide behind this crap about like, 18:24 what do the people want or what does, you know. 18:27 Because... 18:29 That meme could work at all of your house. 18:32 Only if in order to prove that you're doing something about Bitcoin, you don't actually have to do anything. 18:37 Like just set a flag or something, like virtue signaling. 18:41 And then that means you're one of the good guys. 18:44 Because as long as you don't actually have to do anything, then that can succeed. 18:47 But if you actually need people to do something, then they're not going to want to do it. 18:51 The irony of the soft fork is that as classically conceived and as implemented today, 18:58 see, it's weird because actually I think Taproot and especially SegWit, 19:02 those are very rare cases, in my humble opinion. 19:06 They're very unusual. 19:08 But most other things like repurposing the opcode or just turning OP_CAT back on, 19:12 or it was on then off and then turned back on again via opnop. 19:18 All of those, the regular user really does not need to do anything. 19:24 It's only 51% of miners that must upgrade. 19:27 And everyone else can keep using the old version of the software, 19:30 which is the fact that that's even possible is kind of remarkable and almost magical. 19:35 But I just wanted to point out... 19:37 But that goes against the meme, you know, everyone needs to take responsibility. 19:40 If you want to do that, you've got to give them something so that they can say, 19:43 I took responsibility, I clicked the button. 19:46 Right. You're right about that. 19:48 Well, I think one thing would be if you do the UASF date, 19:52 where it's like inevitable UASF day and then if hashrate signals, it's earlier, 19:59 then you are doing something because you are... 20:04 threatening to disconnect from the network if it doesn't... 20:08 We're getting away from the topic of why BitVM sucks. 20:11 Do you want to get... I have some additional thoughts. 20:14 Because I really thought that one was about not being able to join. 20:17 All right, let's hear some more. 20:20 Hang on a second. You said you really thought that one of them was... 20:25 I thought not being able to join was real. 20:27 And then your defense of it was something like you can write into the rules that 20:31 the people are forced to take anyone who makes an envoy of some form. 20:37 And I was like, that doesn't sound great. 20:39 And then you said also you can subcontract, you can go to each member of the set and say, 20:45 I also want to join this set with you. 20:48 I demand that you hold a gun to your own head that will go off if you do not allow me to join. 20:56 These are kind of like not really what I was... 20:59 Doesn't this dilute the kind of the core value proposition of BitVM, 21:03 which is like two people sit down and they can't cheat each other 21:06 after sitting down to play chess for $5, $5 to the winner. 21:10 What if you could... My offer was, I want you to hold a gun to your head. 21:15 I don't want you to pull the trigger. 21:16 In fact, if you don't pull the trigger, I'll give you a dollar. 21:19 But if you cheat, if you cheat, if you don't do it, you know, 21:23 if you don't do the job you signed up for, I get to pull the trigger. 21:28 I think that would be a good deal. 21:29 Yeah, this would be like the holy grail of not only game theory, 21:33 but probably just like law or like all legal fundamentalism or something, you know. 21:41 So this would be quite a... 21:43 To say nothing of mechanism design and game theory, 21:45 this would be like a revolution in contract law. 21:51 Well, I like BitVM. 21:53 I'm worried about... 21:55 I think it's all related. 21:56 Like, it's all related, is it not? 21:59 Because it's kind of like that's what Bitcoin is also. 22:01 Bitcoin says you can join our network and connect, 22:06 but there's things you can't do. 22:07 You can't spend money you don't have 22:09 or the signature for that's already been spent. 22:12 You can't create more than 21 million coins. 22:16 You can't... 22:16 So this is what Bitcoin... 22:18 And I had a tiny little presentation about this in 2016. 22:21 For anyone who's interested, you can look it up. 22:22 It's in drivechain.info. 22:24 Literature section. 22:26 The scam is you have to watch everything. 22:27 I'm not going to tell you which one it is, 22:28 but to go back to 2016 and you can find some of it. 22:31 And everything like, you know, just layer one Bitcoin is a smart contract. 22:37 Lightning Network is a smart contract. 22:38 So these things are all punching into contract law 22:45 and rewriting what's possible, 22:48 which is what that is. 22:49 I am bullish on that. 22:50 And I think that's very inspiring. 22:52 And I think that's part of what inspired all of us, 22:53 everyone here, to some extent, 22:56 to get interested in Bitcoin in the first place. 23:00 This idea that... 23:01 And it's worth pointing out, 23:03 multisig is a perfect example. 23:04 You say the only covenant we have is multisig. 23:07 multisig is something that Bitcoin did not originally have. 23:11 It's something that it only has because of a soft fork. 23:14 And that soft fork actually has a bunch of problems, famously. 23:18 It has like a... 23:21 The most glaring issue is the pointless stack item, 23:23 which is simply an error. 23:24 I thought we had like three of three multisig from the beginning, 23:27 or any number of three from the beginning. 23:29 Well, that's true. 23:31 Actually, in the very beginning, 23:33 you're right about that, I think. 23:34 I mean, I should actually double check, 23:35 but I think Satoshi had a bunch more opcodes running 23:39 that were never used. 23:41 And then there was a great disabling. 23:44 Because you can send directly to a contract, 23:47 but there was only a few that were within the relay policy. 23:53 I don't think they had those terms back then that we have now, 23:55 of like mempool policy versus consensus rules. 23:59 But one of the accepted contract types 24:01 was that you could send money to three public keys. 24:04 Like you could just list them out 24:05 and then have the OP check multisig at the end of them. 24:08 And it would work, 24:09 but it was limited to three, I think, in the beginning. 24:12 And then later they came up with beta script hash, 24:14 which bucked it up to 15. 24:19 That's fascinating. 24:20 I mean, I think you might be right. 24:22 I want to look into that. 24:23 That's a neat idea. 24:25 But the point is, we didn't have P2SH, 24:29 which is what I was referring to. 24:37 I think it's a very quirky example. 24:39 We're getting a little off topic again, 24:40 but this is an important topic, 24:41 which is that it's an important thing 24:43 that was like worked on in Bitcoin. 24:49 We have the soft fork for. 24:50 It's something that fiat currency cannot do. 24:53 Like it's almost impossible. 24:56 It is possible, 24:57 but it's like you'd have to go to the bank and say, 25:00 here's all these people we're putting on the account 25:02 and you need to have two of them. 25:04 And it's very, this is not... 25:05 There are banks that offer those policies. 25:07 I think my parents had a joint bank account 25:09 where they had either one of them could sign the check 25:12 and then the bank would cash it. 25:13 So that was a one of two. 25:14 That's very common. 25:15 It was very common to have a one of N. 25:17 You can always put someone else on the account 25:19 as like an admin on the account. 25:22 So that's very common. 25:23 Our business has an account. 25:25 And two of two is also very common 25:27 for joint bank accounts. 25:28 You can make it so that you have a joint bank account 25:30 that says both of us need to sign 25:32 and banks will do that for you. 25:34 Right, but it's not really, 25:39 you know, in practice, it's not a thing that... 25:42 Well, you're right about that. 25:43 But the point is like this idea of the... 25:47 You have to go and you have to like sign paperwork 25:49 and it takes like this setup thing 25:51 and it's not like a very big... 25:56 It's not, I mean, of course it is possible 25:58 with like the law and contracts. 25:59 Oh, Robin's here. 26:00 Hey, can we get Robin up here? 26:02 He can tell you why BitVM sucks. 26:06 Robin is here. 26:07 Yes. 26:08 Well, yeah, all I was trying to say is that... 26:10 Okay, great. 26:11 Yes, come on up if you wish. 26:14 What I was trying to say was just that 26:15 the multisig is a cool thing. 26:19 It's a big point of differentiation, I think, 26:22 between Bitcoin and fiat 26:25 where it's like anyone can just get it with a click 26:28 in Bitcoin world, 26:30 whereas in the fiat world, 26:31 you have to do this complicated other thing 26:33 that involves the bank doing it for you. 26:36 And it's also a case where the soft fork was rushed, 26:41 but we probably are happy that we have it now. 26:44 Even though it had, despite its problems, 26:48 it's better to have it versus nothing, 26:51 but it would have been better to have something 26:52 that didn't have this problem. 26:54 So, yeah, there's a lot of thoughts about that. 26:59 So, Robin, I got Paul to say, 27:01 correct me if I'm wrong, Paul, this is my impression, 27:03 that BitVM is a revolution in contract law 27:07 as big as Bitcoin was when Bitcoin came out. 27:11 Is that an accurate statement of your case there, Paul? 27:16 Well, I was saying that this whole industry 27:19 is part of the topic of revolutionizing law. 27:23 But I was saying, you said, 27:24 if I could hold a gun to my head, 27:26 you had the metaphor about the gun. 27:27 But I was trying to say that actually 27:29 quite a few things are that, 27:31 including L1 Bitcoin. 27:33 And it touches on everything about how the blockchain works, 27:37 which is who, Satoshi realized, apparently, 27:41 that in order to advance the state, 27:43 you need to have this whole mining concept, 27:47 this whole mining game, 27:48 because you need to know about who saw which message by when. 27:52 People can just ignore messages 27:53 and just kind of pocket veto them, 27:55 which is not good, 27:58 because, of course, if you can censor something, 28:02 then it can make it look like someone is not participating. 28:05 And so Satoshi's idea with the mining 28:08 and each message has a transaction fee and all that, 28:11 that seems to be tightly linked 28:14 to whether or not it can actually deliver 28:17 on the promise of the smart contract. 28:19 It sounded better earlier. 28:21 My version was better. 28:23 Now you're making it sound like, 28:24 oh, the revolution already happened 15 years ago. 28:28 Well, apparently not, though, 28:29 because we have yet to achieve the full... 28:34 You know, it will have happened 28:36 when every type of relationship 28:41 flows through something, 28:42 like you were saying with the gun. 28:46 Anyway, maybe Super was going to give a list 28:48 of other reasons why BitVM sucks. 28:50 Yeah, I was. 28:52 I had this whole cool thing. 28:55 So who knows better than you and Robin? 28:57 Totally not me. 28:58 Well, Robin knows better than me, 29:00 because the reasons I find that it sucks 29:03 are probably fixable. 29:04 Robin probably knows how to fix them. 29:06 But last week, I did a... 29:09 Well, someone else made an implementation of SHA-256 29:11 that works in a slightly modified version 29:15 of my BitVM implementation. 29:18 And I was ecstatic and ran it on Cygnet, 29:22 and it totally worked. 29:23 Like, I was able to do a SHA-256 function. 29:26 It took my computer about five minutes 29:28 to do the processing, 29:30 just for a single SHA-256. 29:32 And Robin's paper mentions that, like, 29:35 if you're doing computation with BitVM, 29:37 the off-chain part, 29:38 one of the downsides of it is 29:40 there's a large amount of off-chain computation 29:42 and data transfer. 29:44 So, like, I made this, like, five-megabyte bottle 29:47 full of hatches and pre-images, 29:48 and then, you know, I had to send that to Alice, 29:51 who I was also running Atlas. 29:52 I was both Alice and Bob, you know. 29:55 And, but Bob had to, like, create the file, 29:58 then download it, send it to Alice, 30:00 and then Alice had to upload it, 30:02 and, well, not upload it, 30:04 but just run it, run it through a program. 30:06 And it took my computer five minutes 30:10 to actually run the program. 30:12 So that kind of sucked, 30:13 and it was just for a silly little SHA-256 function. 30:17 So since then, I've been looking at 30:20 porting an actual CPU to Bitcoin, or to BitVM. 30:24 Because the SHA-256 function is more complex 30:28 than an actual CPU. 30:30 So I was like, if we can do that, 30:31 if we can do SHA-256, 30:32 we should be able to do a CPU, 30:34 and, like, do a state change. 30:37 So I've been looking into them, 30:38 and the first one I looked at is, like, RISC-V, 30:42 which is a computer that has, 30:45 it's a free and open-source computer, 30:48 and there's a lot of tooling around making it, 30:53 around simulating it, 30:54 because people use it for other things, 30:56 like simulating Linux on other systems, 31:01 by simulating the hardware it runs on. 31:04 So I started looking at RISC-V, 31:05 and it's too complex for me. 31:08 It's a 32-bit computer, 31:10 and it's got, like, this insane clock speed 31:14 that it's supposed to run at, 31:15 and it's just, I had a hard time 31:18 wrapping my mind around it. 31:19 So I started looking for a simpler computer, 31:21 and I thought, what's the simplest computer I know of? 31:24 And I thought a Game Boy 31:25 is the simplest programmable computer that I know of. 31:28 So I looked up, like, the Game Boy schematics, 31:30 and I found that, you know, it's a very simple computer. 31:33 It only has 3,000 logic gates, 31:34 which is, like, two orders of magnitude less 31:38 than the SHA-256 function, 31:40 which is 100,000, more than 100,000 logic gates. 31:44 So I started looking into that, 31:45 downloaded the schematic, 31:47 tried to, I found some people 31:49 who had already implemented a simulation of it, 31:52 and even that is too complicated 31:54 because the Game Boy not only has a CPU 31:57 that it uses for state changes, 31:59 but it also has a separate GPU that it passes stuff to, 32:02 and then that thing operates, 32:03 so you have to emulate both of them 32:05 if you want to actually run Game Boy programs. 32:09 And then it also has a sound card 32:10 that I wouldn't even want. 32:12 I would want to just strip that out, 32:13 but then you have to do something with the wires 32:14 that are supposed to connect to the sound card. 32:17 You have to, like, simulate them going into the void somehow. 32:20 And it was just really hard. 32:22 So I gave up on trying to do the Game Boy 32:24 and looked for a yet simpler computer, 32:27 and I found this 8-bit computer 32:31 made by a guy on this program called Logisim, 32:35 which is, like, a tool for simulating logical circuits, 32:37 and people play with it. 32:38 Like, they make circuits and then share them online. 32:42 And somebody made an 8-bit CPU for it 32:44 that was extremely simple. 32:45 It only has 256 bytes of RAM, 32:49 and that's in a couple of memory registers, 32:51 and that's, like, the only things 32:53 that are inputs to the program are those, 32:55 so you don't have to worry about, like, 32:56 keyboard presses or anything. 32:58 It's an 8-bit CPU, 33:00 and it runs at, like, 1 megahertz. 33:02 So I was like, I think I can do that. 33:03 So I started doing some napkin math today 33:06 as I was beginning work 33:07 on implementing this thing for Bitcoin. 33:10 And with 256 bytes of RAM, 33:13 if I wanted to send somebody a program, 33:16 I would have to send them a hash pre-image 33:20 for each byte of RAM 33:21 because those are the inputs to the circuit. 33:24 And so you have to multiply the 256 bytes by 8 33:27 to get the number of bits you have to send them. 33:29 And then you have to multiply that number by 256 again 33:33 because you're sending them a hash for each bit. 33:38 In fact, you're sending them two hashes. 33:40 So it gets into the realm of just to, like, 33:42 send them a program that you want to run 33:43 through this copy of a CPU. 33:46 You have to send them somewhere around 50 megabytes of data. 33:50 And that's not including, you know, 33:52 for every logic gate in the circuit, 33:53 of which this one has something like 3,000, 33:57 you have to send them three hashes for each of those 34:00 and then, or six hashes for each of those 34:03 and then three pre-images. 34:04 So it gets to be this huge, like, 34:08 that's just for one clock cycle. 34:10 So if you want to do anything meaningful with a computer, 34:13 it has to run for multiple clock cycles. 34:15 And if you wanted to run the thing for a second, 34:17 I calculated you would have to send them 34:19 somewhere around 18 terabytes, 34:21 18 terabytes of data to run the computer for one second, 34:25 which sucks. 34:28 That's not feasible. 34:30 I assume this is because I'm just not a good programmer 34:32 and that you maybe don't have to send them 34:34 the one logic gates that aren't being used 34:37 in that clock cycle. 34:38 And maybe you don't have to send them hash pre-images 34:41 for bytes of the memory that didn't change. 34:45 And maybe you could cut that down considerably. 34:47 But my napkin math tells me 34:48 in order to run this 8-bit computer for one second, 34:51 you'd need to send somewhere around 18 terabytes of data. 34:54 And so that's another reason why BitVM sucks. 34:58 Robin, you want to correct me on this? 35:00 I was wondering if you really need every CPU state. 35:03 I mean, you might, maybe people would, 35:06 but let's hear from Robin. 35:07 But I was imagining, I had that exact thought about, 35:10 like, I'm going to play Mario Tennis, 35:12 Game Boy Color version against 35:14 Super Testnet, and the winner will get 35:17 a Bitcoin. 35:19 And then I was like, 35:21 like, how does that work exactly? 35:23 Like, do we simulate every possible? 35:25 We're like having a Game Boy Color emulator 35:28 and it's going to simulate everything else. 35:30 But maybe what you just could do 35:32 is you just put in the inputs, you know what I mean? 35:34 Like, you just put in the controller inputs. 35:36 You just say, at each time, 35:38 left, left, left, down, A, you know? 35:41 But you also have to give it the ROM. 35:42 The cartridge is like 32 kilobytes of data, 35:46 which you have to convert into the format 35:47 that VM understands, which is several hashes per bit. 35:51 So, yeah, well, maybe. 35:53 I mean, can't you just, 35:55 like, I don't know. 35:57 I don't know the details. 35:57 But I was wondering about that exact question. 35:59 I was like, there's an awful lot of 36:01 stuff happening, even in a simple game. 36:05 But anyway, hello, Robin. 36:07 For every frame of the game, 36:09 for every frame of the game, 36:11 you need to send what buttons you're pressing 36:13 and your opponent would need to send 36:14 what buttons they're pressing. 36:15 Yeah. 36:16 And then run them through the program 36:17 and make sure that it is valid. 36:19 It's a simple 15 terabytes every second. 36:21 We'll just call, you know, we'll get, 36:23 I hear, 36:25 we'll get Sam 36:27 over at OpenAI. 36:28 I hear that he is purchasing some hardware in bulk. 36:31 So maybe he can 36:33 lend some to the Bitcoin community for a good VM. 36:37 Well, so when Robin's talking about this, 36:39 he's much smarter about this stuff than I am. 36:41 And he says that you could run, like, a real computer, 36:44 like a big, beefy, 64-bit, 36:47 you know, Intel CPU 36:49 for only, like, 30 gigabytes 36:51 of data transfer. 36:53 So I don't, 36:54 my math tells me different, 36:56 but he's also better at this than I am. 36:58 So I'd love, 36:59 I don't know if he can speak right now, 37:00 but I'd love it if he could. 37:03 He is muted. 37:05 Robin, 37:05 go ahead. 37:07 Welcome to the stage as a muted person. 37:13 Well, I'm going to keep tinkering away at my version. 37:15 No, everybody cannot speak. 37:17 Even if I can only get the version that 37:20 that runs at this awful speed of 18 gigabytes, 37:23 18 terabytes per second, 37:25 at least it's a starting point. 37:27 And then someone who's smarter can be like, 37:29 you idiot, you didn't have to do it this way. 37:30 And then they can fix it for me. 37:33 Because I'm running all this stuff for the first time. 37:35 You know, like how to make 8-bit CPUs 37:38 and then convert them between various formats 37:40 and simulate them. 37:41 I think you don't need, 37:43 this is complete, 37:43 I'm just totally making this up 37:45 and this makes no sense. 37:46 And I, 37:47 no one should take anything 37:48 about what I'm saying seriously anyway, 37:50 because I don't even like, 37:52 I don't think this is the greatest way 37:55 to go versus BIP300, obviously. 37:57 But I think that 38:00 you could rewrite 38:01 Mario Tennis, Game Boy Color, 38:03 into like, 38:04 you could delete everything 38:06 that's not the one specific match 38:07 and then you could rewrite it 38:09 as just a, 38:10 you know, 38:10 as like a just a stream of 38:13 stuff that could happen in that one. 38:15 You know what I mean? 38:15 You could like really, really narrowly rewrite the game. 38:19 You make a Mario Tennis ASIC. 38:22 Very narrowly rewrite it so that 38:24 there's only a few interpretations like 38:27 of what can happen. 38:28 And you have a new game 38:30 and then that's the game you play. 38:31 Yeah. 38:31 And that's basically the route we went 38:33 with the SHA-256 function. 38:34 Because instead of making a CPU that can run anything, 38:37 including SHA-256, 38:39 we just wrote the entire circuit out. 38:41 And that works. 38:41 Like, it's way faster than if we did it on, 38:43 you know, this 8-bit CPU. 38:45 But it still takes like five minutes 38:48 just to run 38:49 the SHA-256 function. 38:50 You know, like I'm sure all of you are very familiar with 38:52 Mario Tennis, Game Boy Color, 38:53 which is a great game. 38:54 So I'm just going to speak as everyone is. 38:56 But it's like, 38:57 you just have someone serve 38:58 and then everyone volleys. 38:59 And then you don't have to keep track of as much of, 39:02 you know, the stuff about who wins 39:04 a match point or, 39:05 you know, a set point or, 39:07 you know, game point, match point, set point, etc. 39:09 So, because it's just like, 39:10 you could like reduce it, 39:12 you know, you could like, 39:13 you could make a tree of the game 39:14 since it's just 39:16 someone serves and then you volley 39:18 over and over again. 39:20 Hopefully it won't, 39:21 hopefully you won't have to wait five minutes for each frame. 39:23 You don't need the music and the, 39:25 you don't even need the music and the graphics for each 39:29 step at all, you know, 39:30 because you could have the 39:31 front end reinterpreted. 39:33 So you're turning Mario Tennis into Pong. 39:36 You get rid of the graphics, 39:37 get rid of the sound. 39:39 Well, you'd put it back on later. 39:41 Certainly don't need like the music and stuff. 39:43 You could just have a Spotify, 39:45 group Spotify. 39:47 Yeah, you could write Pong. 39:49 I mean, it would be a lot easier to write Pong for it 39:51 and then skin it to look like Mario Tennis. 39:55 Yeah, exactly. 39:59 Yeah, I saw Robin, I do a tweet about something about like a modern CPU. 40:04 And I was like, wow, really? 40:07 Sounds kind of cool. I'm trying to do an ancient CPU. 40:10 It's perfect for me. But I mean, at a certain point, it does become 40:16 a huge question mark where you think, okay, the computer that I'm going to run 40:20 bit VM on is only of a certain size. So 40:24 you're going to do all this stuff to like zero out bits 40:29 and hash them. You kind of think, 40:34 how can it be? You know, isn't it like a Russian dolls situation? 40:37 Isn't it just a recursive? 40:40 Next thing you know, we'll be simulating a quantum computer on our analog computers. 40:44 Right. And then that computer will simulate a million 40:49 other computers. And you're like, why does the world, why does planet Earth 40:52 even need any more than just one computer at that point? 40:57 And there we go. World computer. 40:59 Simulate it all. That's where we're at. 41:01 So, yeah. 41:02 And what else? Do you have a long list other than 41:06 the data transfer requirements? 41:13 Yeah, I assume I do, but that's the one that's been occupying my attention. 41:17 And so that's the one on top of mind. 41:19 But I can't think of other ones that are probably lurking in my 41:23 yesterday's memory. 41:27 Okay. Interesting. 41:29 You seem much more practical on the scale 41:33 of theoretical to practical. I'm always seeing 41:37 SuperTestNet has built the first blah, blah, blah. 41:43 So on the scale of theoretical to practical, you seem to be 41:46 and, you know, as often the case, when the people build something in practice, 41:50 they realize, oh, this is going to take my computer like 45 years. 41:54 And then you're like, well, that's better. 41:57 But I still think it's cool, though. 41:59 Even if it does take you 45 years to render another frame of 42:03 Mario Tennis, at least you can do it. 42:05 That's cool. 42:07 It's a really great game, guys. It has great music. 42:10 Everyone get out there. Get your Game Boy Color emulator. 42:14 Post a screenshot when you make it to the Island Cup. 42:19 Okay, that's the challenge of the day or of the weekend. 42:26 It's a really fun game. 42:28 Back in the days of Game Boy Color, everyone's like, what? 42:31 How old are these people? 42:33 Are they a trillion years old? 42:35 Yeah, back in the day, you were lucky. 42:37 You know what's really crazy is if you play... 42:39 I never had a Game Boy Color. 42:40 I had an original Game Boy, or my brothers did, 42:43 and then I sort of got it hand-me-downed to me. 42:46 Yeah, I played Pokemon on Game Boy Black and White at first 42:50 for like a short time, and then I got the Game Boy Color 42:53 and I had my colors, which was great. 42:57 It was amazing. 42:59 Oh, and then whenever Game Boy Advance came out, 43:01 it was like a golden sun, and I just couldn't believe 43:03 the graphics were so good. 43:05 I just couldn't believe it. 43:07 I would just stare at them, and I just thought, 43:08 it's amazing. 43:10 Yeah, the Game Boy Advance is a really cool system. 43:14 We never really needed to advance beyond that, honestly. 43:17 It was already advanced enough. 43:19 I agree. 43:22 Well, actually, it did need... 43:24 We agree too much, Paul, you and I. 43:26 We can't think of anything to argue about. 43:28 No, but I'll tell you this. 43:30 You had to go to the backlit screen. 43:32 Nothing had a backlit screen before then. 43:34 People who are young, you don't know 43:37 what it was like without the backlit screen. 43:40 You literally would be playing... 43:42 You had the little dial. 43:44 You could use the dial to make it change the color scheme. 43:47 You would be playing a game. 43:50 Certain games could not be played. 43:52 And you'd play a game like Pokemon, 43:54 and you'd be sitting in your car, your family car, 43:56 you'd be driving to whatever, 43:58 and you'd have to go streetlight by streetlight 44:00 to play the game, because there were no backlit screens. 44:05 Well, they had the Game Boy Light, though. 44:07 You could plug a little light into your... 44:09 I was a proud owner. 44:11 I was a proud owner of the Game Boy Light. 44:13 But your parents would never let you use it on car rides, 44:16 because they'd be like, hey, turn the light off. 44:18 It's too bright. 44:20 Yeah, it makes it hard to see out of the car at night. 44:22 This all happened. This is all real. 44:24 Some fantastic... 44:26 You've got to compare the Mario Tennis music 44:28 on Game Boy Color to every other Mario Tennis music, 44:32 and it's actually horrible. 44:34 The old music is way, way better in many such cases, 44:40 where the old music was written by... 44:42 The people who wrote, for example, 44:44 this is way off topic, 44:46 but people who wrote Pokemon music, 44:48 that was a guy who was going in, 44:50 and he would program each of the sound waves. 44:52 These Japanese workaholics, 44:54 they work super hard every day 44:56 to try and put joy into every single note of this, 44:59 changing the vibrato of each note. 45:01 They know they only have four sounds, 45:04 so when you are listening to the sound effects 45:07 of the game and the game interface, 45:09 they temporarily deload a sound. 45:11 It's just people who just really, really cared 45:13 so much about producing something 45:15 that children would like. 45:17 They just really took responsibility 45:19 for every tiny detail. 45:21 They were trying to get the most 45:23 out of this tiny, tiny piece of hardware, 45:25 and it's quite a... 45:27 It's also a lot of fun. 45:29 Learning how they did all this stuff for me 45:31 and create some of it on Bitcoin. 45:33 Fascinating. 45:35 It is fascinating. 45:37 This is on topic, 45:39 because the idea of having to simulate something... 45:41 There's this great thing, 45:43 I think it's called War Stories, 45:45 and I think it's Ars Technica, 45:47 and it's fantastic. 45:49 Go back and you see how they made... 45:51 For example, when they made Myst, 45:53 they had absolutely no idea 45:55 that it would actually... 45:57 They just started making it, 45:59 and they had no idea the CD-ROM hadn't come out yet 46:01 until, luckily, CD-ROM had been invented. 46:04 And then, luckily, 46:06 it didn't work at all, 46:08 but they just had the idea 46:10 to just put literally onto the physical spiral 46:12 of the CD-ROM, 46:14 they put the images in what they thought 46:16 would be the order of people clicking on them. 46:18 And this happened to work just barely enough. 46:21 Otherwise, the game would have been unusable. 46:24 It would just have never existed. 46:26 And there's just all these great stories 46:28 about Crash Bandicoot and everything. 46:29 It's like hacking the CPU 46:31 of the PlayStation 46:33 and stealing RAM 46:35 from the operating system. 46:37 This is just amazing. 46:39 We got Ryndell here. 46:41 Ryndell, congratulations. 46:43 Oh, thanks. 46:45 Yeah, thank you. 46:47 I actually heard you guys talking 46:49 about programming old Game Boy games. 46:51 I love programming 46:53 in constrained environments. 46:55 For a while, 46:57 my decompression, 46:59 I was writing 47:01 microcontroller firmware 47:03 because it's very low level 47:05 and if you mess up, 47:07 the light doesn't turn on. 47:09 It's a very short feedback loop 47:11 and you're so much closer 47:13 to the problem domain 47:15 than some other stuff. 47:17 If you haven't seen it, 47:19 Super Testnet, 47:21 you should check out. 47:23 There's a device that came out 47:25 not that long ago called the Playdate. 47:27 It's a little handheld game console 47:29 with a D-pad 47:31 and then a little crank on the side 47:33 which is an input device. 47:35 It's a monochromatic reflective screen 47:37 and a single mono speaker. 47:39 People have been putting out 47:41 really fun, 47:43 delightful little games 47:45 because it's just this 47:47 really small, low-powered device 47:49 with very constrained inputs 47:51 and people have been doing 47:53 really creative, interesting games with it. 47:55 The programming environment for it 47:57 is really, really nice. 47:59 They put out a whole bunch of tools 48:01 like a level builder and stuff. 48:03 If you like programming little games 48:05 and stuff, 48:07 it's a really fun little device. 48:09 Yeah, I think I've seen 48:11 another brand of that. 48:13 It wasn't called the Playdate 48:15 but it was called something else. 48:17 It's the size of a credit card 48:19 and yeah, 48:21 it's a really cool system. 48:23 Somebody made a first-person shooter 48:25 for it which I thought was amazing. 48:27 I love seeing people 48:29 have this first-person shooter 48:31 running on it, 48:33 which is cool. 48:35 Okay. 48:37 Let's just see, though, 48:39 if we can give the poor people something. 48:41 Can we summarize? 48:43 Problems with BitVM are 48:45 it's new, 48:47 and this is from SuperTestNet, 48:49 it's new and it may be 48:51 just extremely unwieldy 48:53 to get anything useful 48:55 out of it because it will take 48:57 15 terabytes to... 48:59 If you have a SHA-256 function working, 49:01 that's extremely useful 49:03 and that only takes five minutes to run. 49:05 Five minutes for SHA-256. 49:07 Okay, not so bad. 49:09 Let's be more clear, though, 49:11 because now I don't even know about... 49:13 This is the case where 49:15 you and I sit down 49:17 and we must grind it out 49:19 independently and then we 49:21 fund, we deposit the money 49:23 and then we play the game 49:25 and then we withdraw the money. 49:27 That's the scenario? 49:29 That's how I want to keep doing it. 49:31 Each person who wants to 49:33 enforce the BitVM, 49:35 they must do the... 49:37 they must do this thing 49:39 that you were talking about. 49:41 They must compute the VM. 49:43 I don't know. 49:45 There's not a good terminology for it. 49:47 You have to take the program 49:49 and convert it into a Bitcoin address 49:51 and it takes a long time 49:53 if it's a big program. 49:55 And then they have to compare it 49:57 with everyone else's 49:59 and then everyone sends the same money 50:01 to the Bitcoin address. 50:03 Well, that kind of depends. 50:05 Sometimes only the prover 50:07 needs to send money. 50:09 Sometimes the verifier also needs 50:11 to put up a pledge. 50:13 It could be like you sit down 50:15 at an arcade and there's 50:17 Player 1, Player 2. 50:19 Everyone knows that Player 1's 50:21 Bitcoin address is this. 50:23 Player 2's Bitcoin address is that. 50:25 Yeah, but sometimes you don't need... 50:27 Sometimes you just want to say 50:29 to the blockchain, 50:31 if conditional on him putting 50:33 some money off as a pledge, 50:35 you will run the program correctly. 50:37 And then Player 2 doesn't actually 50:39 need to put any money in. 50:41 Okay, that's good. 50:43 But we're talking about... 50:45 Should we... 50:47 I think we should name this thing. 50:49 Is there a name for this? 50:51 Like, you know, the setup, 50:53 the setup precompute? 50:55 Like, what is the name? 50:57 Setup phase. 50:59 Five minutes per SHA-256 and... 51:02 And then another five minutes 51:04 after you've computed. 51:06 Five hours to simulate 51:09 a Game Boy-esque CPU. 51:14 Not quite, but... 51:16 However long it takes you 51:18 to download 18 terabytes of data 51:20 from what I can know how to do. 51:22 Obviously, I'm just floundering here 51:24 because I don't actually know 51:26 how to program this stuff. 51:28 And then... 51:30 The... 51:32 The lack of recourse. 51:34 If it turns out one of your 51:36 counterparties is a miner, 51:38 then there is a... 51:40 It is a... 51:42 Then you are... 51:44 BitVM isn't doing anything for you. 51:46 They already have the money. 51:48 Well, not just any miner. 51:50 It would have to be one of the miners 51:52 that has a majority of hash rate. 51:54 Yeah. 51:55 Which, of course, you know, we... 51:57 The reason why I bring it up 51:59 is because I think that 52:01 it's not... 52:03 I think usually the miners 52:05 are not trying to screw everyone over. 52:07 I think miners have great incentives. 52:09 But, you know, people throw it against me 52:11 and I just say, well... 52:13 Then you should apply that criticism 52:15 to everything. 52:17 It's a very weak criticism, though. 52:19 But I think in the case of BIP300, 52:21 it is designed... 52:23 It's supposed to be slow 52:25 and it's coming in advance. 52:27 You can blame the people 52:29 and have the attack fail 52:31 and then they still get the blame. 52:33 And also, it's very difficult. 52:35 One kind of weird quirk 52:37 of the BIP300 strategy 52:39 is that the miners might start 52:41 the attack today, 52:43 but the hash rate shifts over time. 52:45 You know, it's not... 52:47 Foundry, there was... 52:49 For many years, Foundry didn't exist. 52:51 So Foundry had 0%, 52:53 but then now all of a sudden 52:55 the hash rate percentages 52:57 might be different. 52:59 And so that's another thing 53:01 that's designed to throw a wrench into that. 53:03 But yeah, so that's... 53:05 So those are three things. 53:07 So we've come up with three things. 53:09 The set of phase is really difficult. 53:11 It's not as safe as BIP300 53:13 because they can... 53:15 If you're 51% of miners, 53:17 it can steal from you much more quickly. 53:19 And third, the third thing 53:21 is that it's unclear 53:23 if there is a robust way 53:25 to get validators 53:27 so that you don't have to trust any of them. 53:29 Like, do you really feel good about that? 53:31 Like you say, there's 50 people 53:33 who they were all there from day one. 53:35 They pre-computed everything 53:37 and they pre-computed something 53:39 where you can join, 53:41 but you're not part of the original thing. 53:43 So you're kind of like, 53:45 maybe, I guess it could be okay. 53:47 So first of all, 53:49 I do think it's... 53:51 It sounds possible to me. 53:53 I see a path to how to get it 53:55 and not have to trust one of the validators. 53:58 However, even if you do, 54:00 even if what I think will work doesn't work, 54:03 it's still an improvement 54:05 on the sidechains we have today 54:07 because today you have to trust like eight people 54:09 in order to use one of these sidechains. 54:11 And this would be... 54:13 You only have to trust that one out of the 15 people 54:15 or one of the 50 is honest. 54:17 And that's way better. 54:19 It's just a way better situation. 54:21 It's certainly more fun 54:23 and more impressive and cool. 54:25 I do worry in a way though 54:27 that it does... 54:29 People... 54:31 People seem to be... 54:33 As time goes on in Bitcoin, 54:35 people will either jump on a bandwagon 54:37 or jump off a bandwagon or whatever. 54:41 They seem... 54:43 The ratio of confidence to 54:46 actual 54:49 putting in the work and doing something 54:51 is, I think, 54:53 has been 54:55 increasing, which is bad. 54:57 People are more overconfident. 54:59 They just think... 55:01 Well, Taproot is kind of an example 55:03 because people were going around and saying 55:05 this is the biggest upgrade to smart contracts 55:07 in Bitcoin's history or something. 55:09 They were saying stuff like that. 55:11 That was kind of like not really what 55:13 you would say. 55:15 They just had an inkling that BitVM was possible. 55:17 See? 55:19 Yeah, between BitVM and Ordinals, 55:21 we're going to prove them right. 55:23 Things they never saw coming 55:25 are going to actually turn out 55:27 to make them right. 55:29 No, I'm just kidding. 55:31 I don't think that's true. 55:33 But I do think it's cool. 55:35 BitVM is really neat 55:37 and I'm having a ton of fun. 55:39 I'm having the time of my life 55:41 learning about how to make computers 55:43 from scratch so I can build them 55:45 for BitVM. 55:47 It does sound like you would learn 55:49 an awful lot 55:51 and 55:54 well, there you go. 55:56 I don't know. 55:58 Unfortunately, I really don't have 56:00 a lot of time today. 56:02 Yeah, that's it. 56:04 We came up with three reasons BitVM sucks. 56:06 We gave people something. 56:08 We gave them two mitigations. 56:10 You guys can certainly stay 56:12 if you leave it open. 56:14 We just let it run. 56:16 It can be one of those spaces that just runs. 56:18 I mean, I'm happy to do that. 56:20 And your co-host can be Robin 56:22 who can't speak right now. 56:24 We can infer that Robin 56:26 is being 56:28 held at gunpoint 56:30 and has secretly activated his phone. 56:32 Well, no. Robin is just working on 56:34 computing the circuit. 56:36 It's going to take a few more minutes 56:38 and he's going to send over all the... 56:40 He's going to send it. 56:42 He's running Twitter Space on the BitVM. 56:44 It's the slow upload speed. 56:46 To get to 15 terabytes, 56:48 it's 56:50 going to take a little while. 56:55 And then if he... 56:57 The way it works is if he... 56:59 Because we have total control over the state. 57:01 So then if he 57:03 unmutes and says the wrong thing, 57:05 we slash him and we take 57:07 his money. 57:09 The contract with Robin is that he has 57:11 to produce a certain waveform during the... 57:13 Exactly. He has to say... 57:15 produce certain words 57:17 and they better sound good. 57:18 BitVM... 57:20 Bit... 57:22 Extortion. 57:28 I don't think that's an example of 57:30 a good sounding thing. 57:32 Hey, J25, you got up as a speaker. 57:34 What did you want to say? 57:36 Yes, do you have anything... 57:39 Now's the time. 57:41 And anyone, now is the time. 57:43 If you have something you really want to ask, quick. 57:45 Quickly come up here 57:46 and try to ask. 57:48 Lightning round. 57:50 And again, I'll just leave. You guys can stay if you want. 57:52 You're muted, though, J25. 57:54 Quantum. 57:56 Yeah, hey, guys. I'll just jump in real quick. 57:58 Hello. 58:00 Yeah, and again, this is just kind of 58:02 saying kudos on the way out. 58:04 I know I messaged both SupertestNet 58:06 and Paul Sztorc individually 58:08 to try and actually get this... 58:10 to get you two together to have a conversation 58:12 for people that wanted to listen. 58:14 So I'm super glad I was able to 58:16 jump in and listen. 58:18 And I want to 58:20 encourage you two to 58:22 keep conversating about it 58:24 as you make developments individually. 58:26 Super's great. 58:28 Super's great. We did a great panel 58:30 at Blitcoin++ in Austin. 58:32 Awesome. Yeah, so... 58:34 One of the all-time greatest. 58:36 I just wanted to say thanks because I'm... 58:38 And Paul's decent. 58:40 No, I'm kidding. He's awesome. 58:42 He's a decent human, yeah. 58:44 So I'm just teaching myself 58:46 what I did in the past. 58:48 You know, I was out of 58:50 Bitcoin development 58:52 really until Taproot came out 58:54 because when those original 58:56 opcodes were deprecated, 58:58 I was like, oh, well, the things I want 59:00 to do on the core chain, 59:02 I'm going to have to wait for a 59:04 re-release or something. 59:06 So it happened. 59:08 And then I started relearning 59:10 what I've forgotten and put in the 59:12 back of my mind for many years. 59:14 So I'm excited about what you guys 59:16 are doing and what we can develop 59:18 and figure out after that. 59:20 So thanks for coming by. 59:22 Thanks for you two for getting together. 59:24 And again, just much encouragement 59:26 for you two to keep conversing 59:28 and keeping people up to speed 59:30 on what's going on. 59:32 The only thing I would say is, 59:34 you know, don't be afraid to break 59:36 things down to like simple forms. 59:38 So, you know, in terms of for you, 59:40 SuperTestNet, like you talk about 59:42 programming in these logic gates, 59:44 you may have people in the space 59:46 if you have the time, obviously. 59:48 But thanks for coming by, guys. 59:50 Thanks for having me up. 59:52 Thanks as always. 59:54 Cool. Thanks. 59:56 make like little infographic, like an animated thing that are like, just as like, 1:00:02 the idea of hashing each bit, maybe that as an image, maybe that would help people or 1:00:07 maybe not, I have no idea. 1:00:09 J25 is up on Budmuted, 1:00:12 So, so one of the things, this is probably, I didn't think of this, but this is probably the reason why mine is so inefficient is because I'm using logic gates. 1:00:23 And Robin's version of the BitVM doesn't. 1:00:27 He uses mostly Bitcoin's arithmetic opcodes. 1:00:30 Instead, there's all you can do with arithmetic. 1:00:34 And it's much more efficient, apparently, because, you know, his Blake three function certainly didn't take five minutes to compute. 1:00:42 Everyone's node got it done within a few seconds, within, you know, milliseconds. 1:00:46 So, yeah, actually, that's probably the reason why mine is so terribly inefficient is because I'm trying to do everything at the logic gate level and simulating each logic gate of the circuit. 1:00:55 If I was smart, like Robin, I would just do this more efficiently. 1:01:03 And Mark, hello. 1:01:05 Greetings, everybody. My name is Mark. 1:01:07 I have a question. Is Casey's indexer in any way, shape or form used in the project? 1:01:12 Not mine. I doubt Robin uses it. 1:01:15 Okay. Casey's the ordinal indexer, original creator. 1:01:18 So I guess, well, I just want to give a shout out to the host, Layer 2 and Paul and SuperTestNet. 1:01:25 And I'm a big fan of what you guys are doing here. 1:01:28 So I'm just going to go back to listening. 1:01:30 I hope to contribute positively in some way, shape or form in the future. 1:01:37 Cool. Okay, great. 1:01:38 Well, again, I have to go, but if anyone has anything they must ask, come up quick. 1:01:44 I support you, Paul, on your mission. 1:01:45 I think drivechains are the future. 1:01:47 I definitely think we need to take Ethereum and, yeah, we should take every good idea and developers are going to dev. 1:01:56 That's the thing is, and some better one is too. 1:01:59 Why not? 1:01:59 Yeah, and we can't have a priori knowledge of each idea, you know, like everyone, you can think an idea is bad and then be like, I thought Twitter was a terrible idea when it first came out and I thought Snapchat was a terrible idea when it first came out and I don't really use Snapchat these days, but yeah, exactly like, you know, and it's parts of Twitter that are terrible, that are terrible, but yeah, I think we need to take every good idea and developers are going to dev, that's the thing is, and some better one is too. 1:02:19 Why not? 1:02:20 first came out, I don't really use Snapchat's channel these days, but exactly 1:02:25 like, you know, in parts of Twitter that are terrible. 1:02:29 you know, like things grow and change, the circumstances 1:02:35 change. And no matter what happens, we are going to have people who will make lots of 1:02:41 projects. So they will do BitVM, they will do Solana, They will do Bitcoin 1:02:47 SV and the idea behind BIP300 1:02:50 BIP300 is just, we'll just turn those things into Bitcoin projects, so use BTC, and if we don't do this, then they'll just be altcoin projects, so like a lot of people, I think, hope, they think, well, we want, we want them to be altcoin projects, because we want those people to suffer and waste their time, but it's like, they are going to, these projects are going to continue to happen at a geometrically increasing rate forever, and some of them will attract users of some form or another. 1:03:18 So, for example, Solana is a great example, and Bitcoin SV are great examples of something where they don't care about, not, they don't want to be decentralized in terms of how expensive running a node is. 1:03:31 So, they don't want to have, they don't want to have a server like Liberty Reserve, but they don't care if the node costs a lot, where it costs a lot isn't even that much, it's like thousands, tens of thousands, you know, a year maybe, which is, you know, not far from infinite. 1:03:45 And so, they're going to push the envelope in that direction, and then they're going to get everything they can out of that. 1:03:50 So, that's, so people are going to continue to do that, and the question is, do we want to use Bitcoin with those projects, or do we want to have this endless, pointless conflict, or whatever, but anyway, I have to go. 1:04:05 So, yeah, we should copy everything, though. 1:04:08 Yeah, you guys can stay if you want. 1:04:10 A guy asked me if I could explain how, what Logigates are and how they work. 1:04:14 Sure, okay, I'm going to leave, though, but thanks, everyone. Guys, stay as long as, stay the whole, stay for 30, 24 hours until the thing crashes, I think that's the limit. 1:04:24 Anyway, see you guys later, maybe I'll rejoin. See you guys, thanks a lot. 1:04:27 Yeah, so, Logigates. So, one of the ways that you can build a bit VM is the way I'm doing it, which is by writing circuits in Logigates. 1:04:38 And so, what's a Logigate? Well, they were invented a long time ago by this guy named George Boole, who was a mathematician in the 1800s. 1:04:49 And he discovered that you could do a form of, well, I want to say a form of mathematics. 1:04:57 It's not exactly mathematics, though, it's logic, where you make true or false statements and represent those statements as ones and zeros. 1:05:09 And then you pass those statements through these things called Logigates that can assess the validity of certain types of statements. 1:05:16 An example of a Logigate is an AND gate. And the AND gate says that if the two statements that are passed into it are true, it will say so. 1:05:29 It will say, yeah, both statements were true. 1:05:32 And then another one is the OR gate, which says if two statements are passed into it and at least one of them is true, then it'll say, it'll say so. 1:05:40 It'll say, yeah, at least one of these things was true. 1:05:43 And then there's a few others. There's the exclusive OR gate, which says you can pass two statements to it, and if only one of them is true, it'll say so. 1:05:52 But if both of them are true, it'll say there was a problem. 1:06:00 And then there's the NAND gate, which is the one that I use most because it's the most powerful of them all. 1:06:07 And it says if you pass two statements from it, it'll only say, if both of them are false, it'll say so. 1:06:18 Otherwise, it will fail and say there was a problem. 1:06:22 Anyway, you can use these things to build computers. In fact, computers are built of these things. 1:06:27 In the 1900s, people figured out how to make these things called transistors, which are little pieces of metal that have electrical charge on them. 1:06:37 And you can simulate logic gates with them. 1:06:40 And it's what we use. It's what computer chips are made of. 1:06:43 They're just a bunch of millions of these logic gates all hooked together. 1:06:47 And then you can pass electricity through them and make lights show up on your monitor in predictable, programmable ways. 1:06:58 So you can say, if I hit H on my computer, then an H will show up on my monitor or on someone else's monitor or whatever it is that your program wants it to do. 1:07:07 You can play pong with this. 1:07:10 You can say, if I hit up on my thing and I hit it up for long enough, then I have the ball get smacked by the paddle and go to the other side of the screen at whatever angle. 1:07:22 These are the things that you can make with logic gates. 1:07:24 And every computer chip is just composed of a bunch of logic gates hooked together, along with these things called latches for doing memory. 1:07:33 And they're neat. They're really cool things. 1:07:35 So that's what a logic gate is. 1:07:37 It's a small piece of circuitry. 1:07:42 Originally, they weren't even circuitry. 1:07:43 They were just a mathematical kind of notation for analyzing the true and false statements. 1:07:52 But now they're circuitry. 1:07:53 They're pieces of computer circuitry that you can use to make programs out of. 1:07:57 And I'm designing my implementation of BitVM to just use those to create a real computer and then run programs on it. 1:08:06 You can also just design the programs themselves in it, which is what we've been doing so far. 1:08:11 The things that have actually run on BitVM are just individual programs. 1:08:14 We've had an addition program and recently a SHA-256 program. 1:08:19 And you can just pass data into it, and it'll process that data according to addition or according to whatever function you chose, and then it'll pass out the result. 1:08:28 I'm trying right now, one of my current projects, to build a computer, an actual computer with these things, or I guess a virtual computer with these things. 1:08:35 And then you could program it to do a bunch of different things. 1:08:39 But, yeah, so that's... logic gates allow you to do millions of cool things. 1:08:46 And I hope that helps people understand what they are. 1:08:49 They're also not... in Robin's mind, they're not efficient. 1:08:54 Or in a certain sense, there are more efficient ways to build BitVM than by creating and simulating logic gates in Bitcoin script. 1:09:06 So, yeah, he's got a much more efficient implementation of BitVM than I do. 1:09:11 But I don't know how to do his. 1:09:13 And it also sounds really boring. 1:09:15 So I'm doing it my way, which is less efficient and terribly expensive computationally to run. 1:09:22 But it works. 1:09:23 And I have fun with it. 1:09:25 So, yeah, that's what's up. 1:09:28 Hope that helps. 1:09:32 That's pretty cool. 1:09:36 What? 1:09:37 I enjoyed listening to that. 1:09:38 Let me ask you, though. 1:09:39 Is the concept of runes and ordinal inscriptions, can logic gates be programmed in? 1:09:45 Let's say you want to program a specific circuit, like a 555, or some kind of mathematical circuit to process a script. 1:09:54 Can that be put in as an inscription, perhaps, and then referenced? 1:09:59 Yeah, at least you can take a whole program and inscribe it onto Bitcoin. 1:10:07 Somebody did that with Doom. 1:10:11 Somebody took the game Doom, and it's like a four-megabyte file, and they inscribed it, and then they put it on the blockchain. 1:10:19 So you can download Doom from the blockchain and then play it. 1:10:22 But that's not what I'm trying to do. 1:10:24 I'm trying to make it so that Bitcoin can actually enforce the logic of the thing. 1:10:27 So if you just download Doom from the blockchain and then run it, Bitcoin doesn't know anything about what you're doing. 1:10:34 It was just sort of a file host for you. 1:10:37 What I'm trying to do is make it so that the Bitcoin network actually enforces the rules of whatever program you're trying to run. 1:10:44 So that if you run it incorrectly, Bitcoin will make you lose money. 1:10:48 How do you solve the grievance problem? 1:10:51 Isn't there a grievance problem that has yet to be solved for? 1:10:57 Probably. There's probably all sorts of unsolved problems, but I'm not familiar with the grievance problem in this context. 1:11:03 Do you want to elaborate on it? 1:11:04 So let's say you're playing a game of chess, and the position is checkmate. 1:11:09 You are entitled to your funds because you defeated your opponent, but your opponent is grieving you. 1:11:15 He is refusing to send you the funds. 1:11:21 Yeah, that's solved because all you do is you make a time lock. 1:11:27 He has to act within a certain time frame. 1:11:30 So you use Bitcoin's time lock technology to say he has to act within 10 blocks, and if he doesn't, you get the money. 1:11:36 Nice. 1:11:37 And so that solves that problem. 1:11:40 But there's another way to grieve in this scenario, which is that chess is not that complicated of a program, 1:11:47 but it would probably take somewhere around 20 transactions to play out a full game of chess on the blockchain. 1:11:55 And your opponent could grieve you in that way. 1:11:59 On the first move, he just makes a dispute, and then the rest of the game has to be played out on the blockchain, 1:12:08 which would cost a lot of money, especially recently. 1:12:11 Transaction fees were like $20. 1:12:13 So then you have to pay $20 per move, and that would be another form of grieving you. 1:12:20 So the game can start off offline but then go on chain. 1:12:24 That is a mind-blown concept right there. 1:12:27 Okay, cool. 1:12:28 Yeah. 1:12:30 It's designed so that nothing goes on chain because there's no – 1:12:34 whichever party decides to put it on chain can only do so in the form of a challenge. 1:12:40 And if they lose the challenge, they lose a pledge. 1:12:44 They lose some collateral that they put up saying, I know I'm right. 1:12:49 So you don't – there's an incentive not to do that. 1:12:51 But if you do it, if you do it anyway, even though you're going to lose some money, 1:12:56 you're still making your opponent pay a lot of money just to run the set of transactions that prove that they weren't lying, 1:13:04 prove that they weren't being fraudulent. 1:13:06 So yeah, it kind of – you can ruin someone's day by going on chain anyway, but you'll lose money by doing so. 1:13:14 So hopefully people won't do that. 1:13:17 Exactly. 1:13:21 So is there a software-as-a-service platform yet for any of this? 1:13:27 No. 1:13:28 My implementation is on my GitHub, and it runs as a GitHub page. 1:13:34 So you just go to my GitHub. 1:13:36 You find the BitVM repository, and you click the URL. 1:13:42 It's like try it here. 1:13:44 You click the URL. 1:13:45 It loads up a web page where just GitHub pages are serving the content for you. 1:13:50 And you run some JavaScript that creates a BitVM virtual machine. 1:13:55 You pick a program you want to run, and then you can do it with another person, or I've always just done it with myself. 1:14:01 I play both sides, Alice and Bob. 1:14:10 So that's what we've been currently doing. 1:14:12 And the current functions we have running, only one of them is actually really – well, only two of them are really useful. 1:14:19 No, that's not true. 1:14:20 They're all useful, but they're all kind of fundamental building blocks. 1:14:24 There's not much you can do with them just by themselves. 1:14:28 So, yeah, making things that use these tools we have available now is one thing to work on in the BitVM space. 1:14:38 And then another thing to work on, which is what I've been doing, is trying to make more tools for people to use and to make cool programs that do new useful things. 1:14:48 So, Super, I'm probably LARPing, but I put a thing in the nest. 1:14:51 Would you be objecting to a pleb like me implementing a BitVM into like a controller kind of abstraction layer where we can use Brocade to kind of streamline this setup and tear down of these connections? 1:15:10 I don't know what Brocade is, but go for it, man. 1:15:12 Do whatever you think is cool. 1:15:13 It's open source, so it'll be auditable. 1:15:16 Great. 1:15:17 Yeah. 1:15:18 If you find something cool that you can do with BitVM, go do it. 1:15:22 Go forth and do it and tell us about it so we can try it out. 1:15:25 Brocade controller. 1:15:26 Okay, cool. 1:15:27 Thanks. 1:15:28 Yeah, so I'll slide into your DMs if I start getting really technical. 1:15:31 Otherwise, I'm just going to keep it lay for everybody here because I'm definitely interested in BitVM and what's going on here. 1:15:38 Great. 1:15:39 Another BitVM developer, guys. 1:15:41 Round of applause. 1:15:44 A LARPing pseudo-wannabe developer, guys. 1:15:47 I'm just an enthusiast at this point. 1:15:49 I'm trying to learn, and I think we could do more with Bitcoin. 1:15:52 I definitely think we're underutilizing it, and it's the future of the internet. 1:15:56 In my experience, if you LARP long enough, you convince yourself that you can actually do it. 1:16:01 Yeah, right? 1:16:02 That's nice. 1:16:06 I appreciate the platform. 1:16:07 Thank you. 1:16:08 I yield the floor. 1:16:09 Tomas? 1:16:11 Did you think of utilizing some hardware description language, like VHDL, for example, for generating the gates or writing the processor you were mentioning before? 1:16:26 Yeah, I did. 1:16:28 So one of the things I did yesterday was I downloaded something called Verilog for the first time, which is a program for producing VHDL files, which is a type of hardware description language format. 1:16:42 And so that was really neat. 1:16:45 I took one program that somebody wrote, ran it through Verilog, and it produced this hardware description language. 1:16:52 And then I looked at the file and saw how it actually converted it into all these logic gates for me, and I could read it. 1:16:59 I was like, oh, I can see how I can turn this into something I could use on BitVM. 1:17:03 So, yeah, that was a neat and new experience for me. 1:17:08 And then while I was researching that, I found something else called Logisim, which is this program where you place logic gates on a virtual breadboard and create connections between them with virtual wires. 1:17:26 And then when your program is ready, you can hit go, and it'll start a little clock that you can program the speed of, and it'll send electricity through the wires at whatever frequency you make. 1:17:37 And it's really neat. 1:17:39 People have done a bunch of cool stuff in this Logisim program, including they have converters between that and Verilog, so you can make hardware HDLs out of it and then program an FPGA or make an ASIC using the things you made in Logisim. 1:17:56 So I started playing with Logisim yesterday, too, and that's enormous fun because you can see the results. 1:18:04 Like little input devices and output devices, you can visualize what your program is doing. 1:18:11 So, yeah, I've been having a heck of a time learning how to do that and playing with it. 1:18:15 And, yeah, HDLs are now something I've done only for one day, but they're fun, and I'm enjoying it immensely. 1:18:24 Yeah, yeah, I think Verilog is actually the older version of the VHDL language, if I am not mistaken. 1:18:32 Like I've played with it like 10 years ago when it was some kind of like a school project, actually, and we made like an 8-bit processor in it. 1:18:42 And it wasn't so hard in the end, so I was thinking it may be useful for this stuff. 1:18:48 Mm-hmm. Yeah, I mean, I found somebody produced a circuit file for an 8-bit computer. 1:18:54 Well, a bunch of people have, actually, in Logisim. 1:18:57 So I'm trying to take that and then convert it into this version. 1:19:02 Well, it's not an HDL, but I guess it's in some ways equivalent into the kind of format that BitVM understands. 1:19:10 So that's one of my current projects is to make an 8-bit CPU for BitVM. 1:19:17 Yeah, and that's part of what we were discussing on the stage was I was just doing some napkin math earlier today to figure out what the data transfer requirements would be to run a cycle of this CPU. 1:19:29 And I was blown away by how large the amount of data you'd have to send your counterparty is in order to run a CPU. 1:19:38 And I assume that I'm just misunderstanding something fundamental about optimal design. 1:19:44 But we'll see. I'm going to keep building and learning. 1:19:49 The way I understand it, there's always a left, a right, and a center. 1:19:54 So you're always either working on two operations and you're... 1:19:58 Sorry, guys, I'm in a loud place. But yeah, like, if you take the left side of a operation and then the right side, 1:20:05 and then you know that there's a sum that they both have to compute to, 1:20:10 that would be the left side and the right side of the processor if you're just doing point-to-point. 1:20:14 It would get nutty if you were doing multi-point-to-multi-point or point-to-multi-point. 1:20:21 Well, all of those are new terms for me. So I don't know what to say about any of that. 1:20:29 Well, I'm just trying to think, how would you break down a simple operation, 1:20:35 like a simple gate? How would you verify that both parties agree to the output of some input? 1:20:43 And I don't know, maybe I'm misunderstanding it. Help me, guide me through. I guess the goal is 1:20:49 to keep each other honest when playing games like chess or cards or something on the internet 1:20:54 for money. Well, so the nice thing about Bitcoin is that its programming language, 1:21:01 Bitcoin script, has support for logic gates. So one thing you can do if you want to make sure 1:21:05 that you both agree on the outcome of a particular logic gate is you can make a Bitcoin transaction 1:21:12 that has that logic gate in it and you can commit to what numbers you're going to put 1:21:18 into that logic gate. Logic gates only accept zeros and ones as input and they only give zeros 1:21:23 and ones as output. So you can make commitments to that. You can say, here's my commitment to 1:21:27 putting in two zeros to the AND gate. And if you put in two zeros, the AND gate should produce a 1:21:33 zero. That's what it's supposed to do. But if your commitment says, yeah, I'm going to put in two 1:21:38 zeros and I say it's going to produce a one, you can run that on Bitcoin and Bitcoin can be like, 1:21:45 nope, that's false. That does not compute and does give your money to the other guy. 1:21:50 So that's kind of what we do with BitVM, or at least that's what I'm doing with it, 1:21:53 is I'm encoding every logic gate of the entire circuit into a Bitcoin address. And then you pick 1:21:59 which one you want to challenge your opponent on. And you say, if there is a challenge, if you 1:22:03 disagree on the outcome of a particular gate, you can say, hey, here's what I put in and I got this 1:22:08 result. Here's what he put in. He got that result. Which one of us is correct? And Bitcoin will find 1:22:13 whoever's incorrect and then send that person's money to the other guy. 1:22:18 Man, I'd love to do a Zoom so you can just walk me through this 1:22:21 on the screen, how to test this out. This is awesome. 1:22:27 Sure. Well, if you do want to test it out, you can go to my GitHub and 1:22:32 github.com slash supertestnet, all one word, and look through my repositories. One of the 1:22:37 most recent ones is called Tapleaf Circuits. It's my implementation of the BitVM. And it's got a 1:22:43 live version running on the web. And you can take a look at the source code. You can view it, 1:22:48 see how the programs operate, see how the Bitcoin transactions are constructed. 1:22:51 And it's got a little explanation in the readme that goes through it, which a lot of people have 1:22:57 said they found helpful. I hope you find it helpful, too. Thank you. I'll definitely try 1:23:02 that when I get to a computer. Cool. 1:23:07 Okay, well, I think that's going to be it for me. I'm going to go to the convenience store to get 1:23:13 a drink. And then I'm going to come back and start working again on my 8-bit CPU. But I want to thank 1:23:19 everyone for the time we've spent together here, trashing BitVM and praising BIP300. 1:23:26 One more question, supertestnet. Is your 8-bit CPU going to have a super user bit? 1:23:33 I don't think so. It was just going to have some RAM and a instruction set that can modify the 1:23:41 contents of RAM based on what they currently say. So in every clock cycle, it would read what's 1:23:47 currently in the RAM, run the set of instructions, and then write the new state of the RAM. 1:23:51 And then the next clock cycle, just do that again and do that repeatedly. 1:23:56 And I was just going to say, I'm going to go back to my computer. I'm going to go back to my 1:24:00 computer and do that repeatedly. And I was hoping that you would have some of the pieces of RAM 1:24:07 would be reserved for updating pixels on a screen. And so then you could actually have an output 1:24:13 device that you'd be able to show the user. And I would want to get some games running on it, 1:24:18 so people can play games on BitVM. That's what I'm hoping to do. But I've been running into 1:24:24 napkin math problems that tell me it'll be like terabytes of data to update this thing. 1:24:28 So hopefully, I will learn while I'm making this. And as I show my work, people will be like, 1:24:35 you idiot. You did this all wrong. Do it this way. And there's no faster way to get good 1:24:40 products built than to write terrible ones and put them on the internet. And then people will 1:24:44 correct you. Because people love to do that. And that's my superpower, is being wrong on the 1:24:49 internet. So. Nice. Super. I'm unemployed right now. So I'll be following you a lot on the internet 1:24:55 and interacting with you for the next few weeks, at least. Sweet. Super. Tesnet, may I ask you a 1:25:02 question? I know you need to go. Well, I don't need to. It was getting dead in here. So I wanted 1:25:08 to go. But now it's lively again. So go ahead. What's your question? Yeah, that was nice what 1:25:13 you were talking. And congratulations and wish you success. I want to ask you, can you please 1:25:22 just touch, don't need to explain very deep. What is the connection? 1:25:29 What connection has BitVM with Bitcoin blockchain? Like how it's connected? 1:25:39 Is it with the node? Or how is the interaction? For example, like drivechain, you have the escrow 1:25:47 and then the sending the transaction to be hashed. So can you explain about that more? 1:25:55 Sure. You don't need to do deep explanation, just touch on it. Yeah, the point of connection 1:26:04 is in Bitcoin addresses. So whenever you create a Bitcoin or a BitVM program, you encode the program 1:26:12 as a set of tap leaves in a tap tree. And then the root of the tap tree becomes your Bitcoin 1:26:19 address. So that's what you send money to. You send money into that Bitcoin address. Two parties 1:26:26 do. But before they send money into it, they co-sign together a bunch of transactions that 1:26:34 allow one of them or both of them to challenge the other and say you ran the program incorrectly. 1:26:39 And you can prove that they ran the program incorrectly by showing what basically what 1:26:46 line of code executes falsely. So you can a way to think of an analogy to think of it is that if 1:26:52 you take each line of code, you're putting each line into a leaf of a tap tree. And so every line 1:27:01 of code is in there somewhere. So if you both run the code, if you both say we're going to put this 1:27:07 data as input to the program and I get this result and my counterparty gets this result. 1:27:14 If you agree on the result, then that's great. There's no dispute. You both ran the program 1:27:18 correctly. And then you just send the money to whoever the program says should get it. 1:27:23 If there is no dispute or if there is a dispute, if one of you says it came out true and the other 1:27:28 says the program returned false, then I guess it'd be my program or I ran the same code as you 1:27:37 through the program and it said that I'm supposed to get the money. But your counterparty says no, 1:27:40 it says I'm supposed to get the money. Then you take each other's code and you show what line 1:27:46 of code they ran incorrectly, what line of code they ran wrong. And that works. And Bitcoin can 1:27:52 give the money to the person who ran it correctly or just whichever one ran it incorrectly will take 1:27:57 their money and give it to the other person. So, this incentivizes both parties to play honestly 1:28:02 or to, I say play, but to write good code. Don't run bad stuff through the program or you'll lose 1:28:08 your money. So, yeah. You almost want to have a software as a service platform handle all this 1:28:14 stuff for you. Maybe. I'm hoping that you can easily run it on your own device. That would be 1:28:23 cool. But maybe if it's a really complicated program and you don't have a good device, you're 1:28:30 only on your mobile phone, maybe paying someone to run the program for you would be great. 1:28:36 So, we'll see. I'm just trying to make the software so that people can do what they want. 1:28:42 Yeah, that's great. Thank you for the explanation. Actually, everything is connected to the address 1:28:50 that you interact with. Yeah, and this is one of the things that makes it 1:28:58 different from like BIP300, where BIP300 makes it so that all the nodes on the network 1:29:07 validate that miners are processing withdrawals from a sidechain in the way that 1:29:15 BIP300 says they should. And if miners don't do that, then they get 1:29:19 wrecked. Their blocks are invalid. Whereas with BIP-VM, it's a non-consensus change. 1:29:29 No one's paying attention to what BIP-VM does except for people who are using it. 1:29:35 You and your counterparty make a BIP-VM address together. No one else knows that anything even 1:29:39 happened. They just see some money entering a regular Bitcoin address. But behind the scenes, 1:29:45 you and your counterparty know what program you put into that address. And then you run the code 1:29:50 off-chain and only go on-chain if there's a dispute. And then you only show, ideally, 1:29:57 one line of code where your opponent ran it incorrectly. 1:30:01 Yeah, actually, if it's a dispute, you put that function that the blockchain should 1:30:14 have in reality for everything. Because for me, the blockchain is the permanent law in this space. 1:30:22 And you actually prove that if something happens or it's a dispute, you kind of 1:30:31 solve the dispute through running with the blockchain or something that is going there. 1:30:40 So you resolve the dispute. But I think that for drivechains, 1:30:51 I think that both can exist because I see a different kind of use case for the BIP-VM 1:31:00 and different for drivechains. Because for me, drivechains is for me. It doesn't mean that 1:31:09 everybody needs to agree, but I see more as something bigger and can create or kickstart 1:31:21 some kind of different way of different decentralized economy or something like that. 1:31:28 But the BIP-VM can be also useful with some kind of programs and who knows in the future. 1:31:43 I've talked a lot about games, and that's one of the things I'm really interested in 1:31:48 doing with it is running games on Bitcoin or technically off Bitcoin. 1:31:52 I just think it'd be hilarious to have a Doom deathmatch where the winner gets the Bitcoin. 1:31:59 And that'd be awesome. And I think a lot of people would have a lot of fun doing that. 1:32:03 However, a game is just a program and BIP-VM is just a computer. So in theory, 1:32:08 you can write any program for it. And so there are... Robin's more interested in writing 1:32:16 a light client for a sidechain and then validating what happens on the sidechain on Bitcoin. 1:32:22 And then you can use that to do stuff like manage withdrawals and deposits for that sidechain, 1:32:27 where Bitcoin understands what's happening and can actually say like, 1:32:30 yeah, you're supposed to be able to withdraw your money or whatever. 1:32:36 So you can use this for sidechains. But I think he and I would both say that they wouldn't be as 1:32:43 good as it would be if we had BIP300. There'd be a lot safer and a lot less data intensive 1:32:52 and complicated for people to actually use. Yeah, for sure. 1:32:57 BIP300 would be a big improvement. But something's better than nothing, right? 1:33:02 If we don't have BIP300, but we do a BIP-VM, let's do what we can with that. And then maybe 1:33:07 we can fix it later and use BIP300 in the future to make better versions of things that we did with 1:33:16 BIP-VM. So that'd be my hope. Yeah, absolutely. I mean, it's like everything. I hear you said 1:33:26 try to do something more with Bitcoin, which I agree and I support. And with my team, 1:33:36 we are doing something on Bitcoin, which I can't talk anything about that yet. 1:33:45 But we are trying to do something. Cool. Thank you for trying to do something. 1:33:53 Oh, yeah. I mean, you know, like I always say like Bitcoin is kind of like an open book. 1:34:04 Everything is possible. Just you need to be kind of, you know, to find a way and 1:34:11 develop something that is different. And I mean, useful, positive and 1:34:17 something that will improve Bitcoin as a whole. 1:34:21 All right. Well, I'm going to head out. So thank you all for the time we've had together. And 1:34:27 if you all want to keep talking, that's great. But I'm out. See you later. 1:34:32 Take it easy, super good talking to you. 1:34:35 You too.