Timechain
Search Donate
Sponsors
Cake Wallet, private Bitcoin and Monero walletSideShift.ai, no-signup crypto exchangeOrangeRock, non-custodial bitcoin spot and perps tradingBraiins Hashpower, buy and sell Bitcoin hashrateLayer Two Labs, drivechains for Bitcoin
Home / Podcast / S16 E56 / Transcript
Transcript · S16 E56 · 2:59:50 · 8 Nov 2025

S16 E56: Super Testnet on Papa Swaps, BIP 444 & Prediction Markets

With Super Testnet. Hosted by Vlad Costea.

← Episode page Plain text
Machine transcript, corrected by hand. It can still contain mistakes, so the recording is what counts. Tap any timestamp to play from that moment. Dotted words were hard to make out in the audio.

Search this conversation

0:47Vlad CosteaHey, hello there and welcome to the Bitcoin Takeover Podcast. This is Season 16, Episode 56. This is still the show that dares to ask the questions that most podcast hosts don't even have the courage to utter. And we are live with Super Testnet. It's his second time on the show this season, and possibly the fourth or fifth time overall. And he has...

1:08Super TestnetHey, buddy, good to hear from you.

1:09Vlad CosteaYeah, it's been since February that we haven't spoken. And last time we actually spoke about your campaign to prove that Lightning Network is superior for privacy to Monero. That was actually an interesting attempt. And I also hosted a debate, but that was for LayerTwo Labs on their Twitter Spaces.

1:28Super TestnetThank you for your service.

1:29Vlad CosteaAnd right now, you're here to talk about your latest work, which is called Papa Swaps.

1:34Super TestnetYep, yep. Thank you for having me on your show. It's always an honor to be here. And good to hear from your audience. I got your questions pulled up from Twitter and Nostr, so we'll be diving into those at some point as well. You want to dive right into Papa Swaps?

1:49Vlad CosteaYeah, I think that's the hot topic. What I like about you is that you're moving very fast from one job to the other. And you always find something new and interesting that you develop.

2:00Super TestnetThank you. Yeah, so recently I've been exploring submarine swaps. Have you ever done a submarine swap, Vlad?

2:09Vlad CosteaNo, but I know... I mean, not directly, because submarine swap basically is going from the Layer 2 to the Layer 1, doing this instant swap, which is at the protocol level. But I did do other types of swaps, right? Like with Phoenix or whatever. I don't think that's a submarine swap. It's just a swap that has a third party in the middle, which basically is giving you the liquidity on the other side, on the other layer.

2:37Super TestnetYeah, you seem to know quite a bit about it. So just as a high level overview for people who may not have used them before, one of the things that is annoying about the Lightning Network is that the way that you receive money in Lightning is not compatible with old styles of Bitcoin wallets. It doesn't give you a normal Bitcoin address. It gives you something called a Lightning invoice or a Bolt11 invoice, and a normal Bitcoin address can't pay them. So someone came up with this idea called a submarine swap, which is where you can, atomically, that means make it so that if the Bitcoin address tries to pay a Lightning invoice, you can make it so that the Lightning invoice only gets paid if the Bitcoin transaction goes through as well.

3:21And that's a pretty cool thing. Then you can do these in both directions, and it's called submarine swaps because you're going from one layer to another, just like submarines go from the surface to below the surface or vice versa. So one of the, I use them occasionally because, I don't know, they're kind of useful if I'm trying to pay someone and I have a Lightning wallet and they have a Bitcoin, a regular Bitcoin wallet, it's useful to be able to do that with a submarine swap service.

3:48But I really like Phoenix. Phoenix wallet is a Bitcoin wallet that doesn't use submarine swaps to do this. Instead, they do something called splicing. And I really like doing it with a splice because it is cheaper, basically. If I have, if I've got, you know, let's say I have $1,000 in my Lightning wallet and I want to pay you $50 on Layer 1, I can do something called a splice, which is where in one transaction, we basically close my channel and simultaneously open a new one with $50 less in it, and then $50 goes out to whatever Bitcoin address I wanted to pay.

4:22And that's cool. That's like really, a really efficient way, I think, to use Lightning Network. But when I was in Mexico, I was talking to a guy who, about this and he, about Phoenix, and I was telling him how great Phoenix is, and he's like, Oh, I tried Phoenix, but there's one thing I don't like about it, which is that whenever I pay someone on the base layer, my capacity drops. Let's say he had $10,000 of total capacity in that channel, of which $1,000 was, you know, is, and the rest was the channel counterparties.

4:51Well, once he pays that $50, that balance goes down from $10,000 to $9,950. And he was like, I don't like that. You know, I paid for that capacity. Now, if someone's trying to send me, trying to top up my wallet, it can't go as high as it could before. And so what he did, what he found as a workaround was to use submarine swaps, because if you use a submarine swap service, like Boltz Exchange, for example, they don't, they don't learn this. They don't, they don't, nothing changes about your channel capacity, just your balance shifts within that channel, which is what he wanted.

5:24Of course, I didn't, I was like, that's interesting, because those are more expensive. A submarine swap takes two transactions. You have to fund a smart contract called an HTLC, and then you have to sweep funds from it in a second transaction. And when I was talking about this, a light bulb kind of clicked in my head, and I was like, oh, wait a second, I think there's a way to do submarine swaps in one transaction. And it has to be possible because splicing works. Splicing is one transaction and accomplishes the same effect as a submarine swap.

5:56You change which layer you're on with only one transaction. So I started cogitating on that and trying to look up how the, you know, how Phoenix does it with their wallet, how they do the splices. And I came up with a protocol that lets you, that lets you do this on a regular, without needing to run Phoenix. So I wrote out a specification for the protocol, made up a demo implementation, a proof of concept. And I've been trying to present it at different Bitcoin conferences and things and hopefully get wallets to support it and exchanges to support it as well.

6:28Because it just, it makes, it has like four benefits. The submarine swaps, when they use Papa Swaps, they get faster because there's only one transaction instead of two. They get cheaper because there's only one transaction instead of two. And they get more efficient in terms of block space usage because, again, there's only one transaction instead of two. So it's like all benefits for why to use them. Okay, so that's where the idea came from and a general overview of, we're trying to go from layer one to layer two or vice versa in one transaction.

7:00That's the what. Now do you want to know the how? Is that a good next step?

7:04Vlad CosteaThe how, and also why did you choose to call them Papa Swaps? Like, why is it Papa?

7:10Super TestnetYeah, so the name came from me trying to think of interesting things about submarines. And I looked up a Wikipedia article and I said, what's the fastest submarine that was ever built? And it turns out it was called the Soviet K-222. And I was like, well, I don't want to call these the Soviet K-222 swaps. That's an unwieldy name. But the Americans during the Cold War, you know, the Americans and the Soviets during the Cold War kept building bigger and faster submarines. And they classified each other's submarines as they came out of production and started being used in the war.

7:42And the Americans called the Soviet K-222, they called it the Papa class, the Papa class of submarines. And so that was the fastest submarine was in the Papa class. And I thought, Papa Swaps sounds funny. So that's why I picked that name, that name for the protocol. It sounds funny and it refers to very fast submarines, which these are very fast submarine swaps.

8:05Vlad CosteaThat's amazing. Maybe that's also why you called your protocol the Hedgehog one, because in video games, who's the fastest character of them all? Well, it's a hedgehog.

8:14Super TestnetSonic the Hedgehog. I also... All the Lightning puns were used up. You know, there's Bolt as a Lightning pun and voltage and blitz and all those things have been done to death in the lightning world. And I wanted to open up a new realm of puns to use in naming things. And I thought hedgehogs are cool. There's lots of stuff you can do with those. They've got tines, they've got tails, they've got characters from the video games, there's movies about them and stuff. So I thought, let's do that.

8:44But it hasn't really taken off, though. And that gets to the first of our questions from Twitter, or from Nostr. Someone asked, "When Hedgehog?" This question came from... I can't find it. Saunter. Saunter asks, "When Hedgehog?" And the answer is probably never. I seem to be the only developer who is interested in hedgehog channels, and even I don't really work on them, except when I want to do a show and tell at a conference. And really, I think these things tend to only take off if somebody commercializes them, which I don't want to do.

9:19So if I if the only developer who's interested in them doesn't want to commercialize them, then I don't think they're I don't think they're going to do anything other than get me to more conferences. So, yeah, that's the answer to your question. But I haven't told you how Papa Swaps work yet. So is that the next question or do you want to do you have any other questions before we get to that?

9:39Vlad CosteaI sort of like how you're doing my job, like you're picking questions from the audience and you're answering them. And then you're like, does it make sense for you to ask me this question as a follow up? And I'm like, Yeah, sure. Go ahead. OK, by the way, make sure you

9:53Super TestnetLike, subscribe and hit the little bell icon if you're interested in receiving more content on like this on YouTube. You know, the algorithm sometimes it helps to have the little bell icon hit. So give us a like, give us a thumbs up. It's always free. And why don't you subscribe while you're at it?

10:09Vlad CosteaAnd leave feedback because it's important, especially on Spotify or whatever. I think the podcasts that have the most star ratings are the ones that show up when you type Bitcoin.

10:21Super TestnetYeah, the little thumbs up always helps and make sure you comment a question below if you want me to answer it on the live stream. We've also got the little sidebar tracker and checking in there to see if there are any questions as well. So, okay, so how do Papa Swaps work? They take it, they change from using absolute time locks to using relative time locks, which is something I do in a lot of my projects. That's also the main difference between hedgehog and regular lightning channels is that I try to do everything with relative time locks, because I think they're more flexible for the kinds of stuff I want to do with them.

10:56So normally in a submarine swap, you create something called an HTLC. And this is one of these smart contracts that Bitcoin natively supports. And that actually has a lot of software written for it, and is widely understood by Bitcoin developers. So the way it works is typically, let's say that you and I wanted to do a submarine swap, Vlad and Super, the script would say Vlad is going to put some Bitcoin into this HTLC. And the script says Vlad can take his money back if I don't do anything, if I just like abandon the protocol, Vlad can take his money back after, let's say, 10 blocks go by.

11:39Otherwise, before that happens, I can take the money if I reveal a secret, which is called a preimage. I have to reveal a secret on the blockchain, it's usually a 32 byte secret, which Vlad doesn't know in advance, but I do. If I reveal that, then I can take the money and I don't have to wait. Once we've created this contract on the on chain, before he funds this with real bitcoins, we make a lightning invoice that's locked to that same secret, that same preimage. And so now I have to pay that invoice, and then he has to reveal the secret to settle the lightning invoice.

12:17But of course, he doesn't know the secret, I know the secret. But once he has that pending lightning payment, he then funds the Bitcoin address, I reveal the secret in order to take the money on the base layer. And once he had now that he can see the secret on the blockchain, he can now settle lightning invoice and get the money on lightning. And that's how the swap works. But that's two transactions, one to fund the address and one to take it back out. So the time lock that we use in submarine swaps is an absolute time lock, we find out whatever block is 10 blocks from now.

12:52And we say that's the block height at which he's able to take the money if I have been in the protocol. I change that to a relative time lock. And the difference with a relative time lock is you don't have to know which block height it is in advance. Just once money enters the address, that's when the timer starts ticking. And you'd say then once 10 blocks go by, regardless of what the current block height is, once money enters this address, 10 blocks go by, then Vlad can take the money.

13:18So I substitute absolute time locks for relative time locks, which is the first change that I made to the submarine swap protocol. And then I make it the sad path in a two party situation. So often in the systems that I work on, there's something called a happy path and a sad path. And usually it starts with a two of two multisig, meaning that he and I both have to agree on how to spend the money. And so I use that in this case, what we actually do instead of funding in HTLC is we fund a two of two multisig, where he has a key and I have a key.

13:52And from that two of two multisig, we sign a transaction, which lets us put the money into the HTLC. But we don't actually end up doing that in the happy path. So if I abort the protocol, then he's going to fund the HTLC with this relative time lock. And once the relative time lock expires, he takes the money out. That's the sad path. And that's actually three transactions instead of two, which is worse. So Papa Swaps are worse in the sad path because there's three transactions instead of two.

14:20But in the happy path, which is where everything goes according to plan, what happens is I pay his lightning invoice and then I obtain the secret. So this is another difference between Papa Swaps and regular submarine swaps is that in regular submarine swaps, the person on lightning creates the secret. The person is on lightning and wants to go to the base layer. Whereas in Papa Swaps, I have the other party, Vlad in this case, he was the one who creates the secret. So now I have to basically purchase that secret by means of the lightning network.

14:55And once I have purchased it, there is a clause in our smart contract in our two of two multisig that says, if I know the secret, then I can spend the money unilaterally. I don't need to deposit into the HTLC. I can just spend it unilaterally with just by knowing that secret and knowing my own private key. And that makes it so that now there's only been one transaction on the base layer. We funded that Bitcoin address, then I paid his lightning invoice and the lightning invoice gets paid on layer two.

15:26So there's no on chain transaction there. And once I paid it, now I know the secret that gives me control of the money in this address without having to actually put it into the relative time locked HTLC. So the happy path is faster because we could just put money in this one address. I got a secret on lightning and now I have full control of that money. There's a caveat, which is the sad path still exists. And if he wanted to, he could put the money into the HTLC because he's got a signed transaction that lets him do that.

15:56But even if he does, it's fine because the HTLC says he has to wait 10 blocks, for example, to take the money out of there. Whereas I do not. I have the secret now. And so I can take the money from the HTLC immediately. So even if he does put it in the HTLC, it's still he's just falling back to the regular he's falling back to the sad path. I don't actually lose any money. So, yeah, that's that's how Papa Swaps work. They make it so that you only have one transaction in the happy path and three in the sad path.

16:26And I think that is better than the two transaction protocol that the traditional submarine swaps use. So does that explain the how for you or do you have any follow up on that?

16:38Vlad CosteaNo, honestly, it makes a lot of sense, to be honest. Like if I was to design this, I would make it the same way, because I think more than 90 something percent of the transactions have the happy ending or the happy path, as you call it. But at the same time, there are still tradeoffs like the user on the lightning side who basically pays to reveal the secret from the base layer. Has to be sure that there's not going to be some sort of double spend, right?

17:07Super TestnetNo, actually, it's perfectly fine. He doesn't lose money if there is a double spend. So normally in these situations... Or, sorry, yes. What he has to do is wait for a confirmation. So once money enters the Papa Swap smart contract, if he gives the secret without waiting for that to confirm or if he pays the Lightning invoice rather without waiting for that to confirm, then the person that you who put money into the smart contract can then double spend the money that isn't confirmed yet and take it back.

17:41Vlad CosteaBecause I guess right now we speak in a world where RBF is enabled by default, and most users can use it.

17:48Super TestnetAnd even if it wasn't, it was only ever a mempool policy, which is overridable. And so the software for doing this, even back, you know, many, many since many, many years ago, there's been software for ignoring the mempool policy that enforce RBF. So it was never safe to use RBF transactions in a context like this. That said, most of these, most submarine swap services are provided by well known companies that are like publicly traded and stuff. And if you're doing like a $10 submarine swap, I certainly trust that they're not going to try and double spend me and thus lose a customer.

18:25So I always fast forward and just give him the secret right away to get the thing over with. And so far, I haven't gotten wrecked on my little small $10 transactions of using submarine swaps. But yeah, that is a danger. You could be you could be wrecked. So don't don't do that for large amounts would be my recommendation.

18:46Vlad CosteaNow, that's fair. At the same time, do you have any projections as to how much block space you think you can save if you're using this one? You know, in relation to how many of these contracts exist on chain and how they usually get solved?

19:00Super TestnetI don't know. I never thought to look into it. How so I would want it. I think the only large. No, I was about to say the only large user of submarine swaps is Boltz Exchange. But that's not true. Muun wallet also uses them and they have their own submarine swap server. And Lightning Loop is another large thing that uses them. So I'd have to look up how many transactions are there from Muun wallet? How many are there from Lightning Loop and how many are there from Boltz?

19:28And then sum them and say, OK, take that and divide it by two. And that's that's the new that's the way you could that's the amount of savings you can get by using this new protocol. So but I don't know. I haven't done that math. It's probably I imagine it is on the order of hundreds of transactions a day that you could save. But that's just a guess. I have not actually looked into the statistics

19:50Vlad CosteaRight now, given that the mempool is almost empty or there are a lot of low fee transactions. Some of them even sub one Satoshi per V byte. I presume that some miners will not be happy to enable this because they might be losing a lot of the revenue. But at the same time, it is a very efficient way in a world where the blocks get filled regularly. Like this can be actually the Papa Swaps actually make a lot more sense than the default submarine swaps.

20:20Super TestnetYeah, of course, yeah, well, fees are low, no one's really caring, but they save, you know, five cents by doing within one transaction instead of two. But this could be important. At least I used to use Muun wallet a lot and recommended it to other people and it worked great when it works great when fees are low. But when fees get high, it stops working very well because there's a base like there's two base layer transactions for lots of Muun wallet transactions. But with this protocol, they could do all of them in one transaction and so that it would make it last longer into a high fee scenario.

20:57Their fees would have to get twice as high for it to be the same amount of pain. So that's useful and it's useful in a high fee scenario. Of course, anything that saves chain space isn't really useful when no one wants chain space anyway, and there's no demand for it.

21:13Vlad CosteaYeah, but it's still an efficiency improvement, which is welcome, especially right now. I think we're going to get more layer twos coming to Bitcoin and they're going to be competing for block space. So making it more efficient, I'm not sure when Citrea is launching, maybe this month or next month or something, and then there's going to be Alpen. But I did hear that if we have three of these ZK rollups, then we're going to end up having another scaling debate because the block space will get full.

21:45Super TestnetWe'll see. I believe that when I see it, I do think the design of most of these systems, they're mostly designed for happy path scenarios, and in the happy path scenarios for all of them, they don't consume that much block space. But we'll see. We'll see what happens.

22:05Vlad CosteaYeah, I got to plug a couple of fads and then we can move on to actually are we done with Papa Swaps? Is there anything else to mention about them? Like, are they usable today? Did you complete the design? Or is this just like a proof of concept?

22:22Super TestnetYes, to both questions. It is a proof of concept. Technically, you can use it today. I made it so that it works on mainnet and it could. I don't recommend that. It's experimental software and you'll probably lose your money because I'm a bad coder. But I also presented it at Bitcoin++ the most recent one in Istanbul. Yeah, I presented them in Istanbul. And one of the guys there works on PeerSwap, which is one of the submarine swap services. He thought highly enough of it that he was like, I'm going to do it.

22:53I'm going to implement this as the new protocol for PeerSwap. And I talked to Michael Bumann... I think his name is Bumann, from Boltz Exchange. He seemed less impressed with it.

23:03Vlad CosteaMichael Bumann is from Alby.

23:06Super TestnetOh, well, not him then. I think there's another Michael who works at who's like the CEO of Boltz Exchange. I think he's a Michael. Sorry, Michael, I forgot your name. But I talked to him about it. He seemed less impressed with it. But he said if wallets adopted, then he would do it. So I made it. My proof of concept is a wallet. It works like Muun wallet, except it only uses this new protocol. So it's cheaper than Muun wallet. And yeah, that's we'll see if wallets adopted, then I think exchanges and such things and loop and the other things will adopt it, too.

23:41Although lightning loop, they have their own mechanism for doing submarine swaps more efficiently. They also have their own single transaction protocol. And so they probably wouldn't adopt mine. They're probably just eventually going to implement their own protocol for doing the single transaction submarine swaps. And that will be that. Then they'll be doing that as well. But just a different way. So that's some stuff. Let's see. Are there any questions on YouTube? No. But we do have João Caroquil.

24:18Sounds Portuguese. Hi, João. He just says all is super and he gives a thumbs up and a crown emoji. So hi, good to see you. Thanks for watching the show. Let us know if you have any questions. And let's see, are there any questions about Hedgehog on Nostr? I have new notifications, let's see. No, I have a retweet. And let's see on Twitter, I have new notifications. Let's see if any of them are about this. No, I don't see any about this. So I think we're good.

24:47I think that is the things we want to talk about relative to Papa Swaps. Okay, unless you have something.

24:54Vlad CosteaI do have something. Like, you're such a big fan of Phoenix Wallet and I guess also Breeze is pretty close in terms of design even though okay, they're not close. They're similar in UX but very different in how they work in the background. But basically, are any of these willing to implement your Papa Swaps or your Hedgehog or did they show any interest? Because you're such a big fan, you're basically using Phoenix every day and you sort of optimize your development so that they could improve on your experience using this service.

25:31And did they actually show any interest in integrating your work?

25:35Super TestnetI haven't talked to the Phoenix people about it. I don't know. I am in frequent communication with Evan Kaloudis from Zeus Wallet. He's like invited me into his Telegram channel and I forget what this app is called. Some other chat app he uses. He likes all my stuff. But yeah, I showed it to him. It did like a demo and he hasn't said he's going to integrate it into the wallet. So I don't know. If you want to see more wallets, just demand it. Post on their Twitters and say, hey, you guys should implement Papa Swaps.

26:12Take a look at Super's protocol. Nagging is a great way to get things done in stuff like this. Or they'll find out there's something wrong with it and then not do it. In which case, that's also useful information and I can stop talking about it.

26:28Vlad CosteaSo I did some research in the background about Boltz to be sure. So their CEO, his name is Kilian Rausch. And there is a Michael who is the main coder. He's like a pseudonymous co-founder. And he did not list his last name. So he is a Michael. We don't know what his last name is. But he's not Michael Bumann who is the CEO of Alby. And before that he was working on something like the Lightning MetaMask. What was it called? I actually remember using it. It was great.

27:02Super TestnetI thought that one was created by James O'Byrne. Let me look it up. What Lightning extension was created by James O'Byrne? I wonder if... I doubt that the AI will know how to answer this, but we'll find out.

27:19Vlad CosteaI've used Grok to do this research very fast in the background. Anyway, until we find out the answer, let me plug...

27:26Super TestnetJoule was the name of the extension.

27:29Vlad CosteaYeah, that one.

27:31Super TestnetYeah. Joule.

27:32Vlad CosteaAI's got you covered. I remember that. I had it installed on my Firefox and it worked beautifully for a while. As long as you had

27:40Super TestnetA node to connect you to. I remember that being an issue with Joule.

27:46Vlad CosteaYeah, but it was so nice while it lasted. And I also remembered Bottlepay. That one was majestic.

27:54Super TestnetOoh, I don't remember Bottlepay very well. I think that was a custodial extension as well.

27:59Vlad CosteaWhat it enabled you to do was basically to tip any creator across any platform as long as they had this one browser plugin. And they also had a Twitter bot so you could basically transfer a small amount of Bitcoin to someone on Twitter just because you liked their post or something. Like, this was so beautiful in terms of UX. I haven't seen anything like it.

28:21Super TestnetIf any NWC devs, Nostr Wallet Connect devs, are watching this, recreate that using Nostr Wallet Connect. That sounds like it would be really easy to do and it would be really cool again to have that. So, go for it.

28:34Vlad CosteaYeah, I remember writing about this for Bitcoin Magazine at the time and it was around the time when there was something like COPPA or whatever that was going to get a lot of creators demonetized on YouTube because if they feature video games or something that was considered to be kids' content then they would get demonetized and it was a big deal at the time.

29:00Super TestnetCensorship on these social media is often discussed in Bitcoin circles. Bitcoin helps with this. Well, I guess it helps with deplatforming more so than censorship of your... It helps with monetary deplatforming when things like Visa and PayPal deplatform you. I guess it doesn't really help if Twitter or YouTube deplatforms you. Bitcoin doesn't fix that. But, there you go. At least it makes it so that you don't lose all your money. That's nice.

29:31Vlad CosteaYeah, someone SmartMark23 on Twitter says that ChangeTip used to be available on Twitter for this and there was also tippin.me which was a very interesting tipping service. If you enjoyed someone's content you could tip them directly, but it wasn't tipping for a post. It wasn't obvious for what you tipped them. It was just that you liked their account.

29:53Super TestnetYeah, but Bottlepay let you specify a thing that you were tipping them for.

29:59Vlad CosteaYeah, you could write this as a comment, just like you tag Grok right now and you ask him if it's true what's being mentioned in the OP. You could basically tag Bottlepay and there was this automation in the background that you could say what you want to send and you could even denominate in any fiat currency. And you could see that there was a guy boss I think B-A-A-S he's from Norway or something and he was sending me Russian rubles. And every time he was sending me Russian rubles I would post a gif of a Russian doing that Russian dance.

30:36Super TestnetSo I'm a fan of this kind of spam. If you're spamming like a layer 2 system or this would just be some guy's database. More power to you as long as all the parties are consensual. I'm a big fan. Speaking of spam, perhaps we could use this opportunity to transition to the next topic, which is BIP 444.

30:57Vlad CosteaOh yeah, let me plug my ads first because I'm gonna get murdered. Anyway, LayerTwo Labs. Go to layer2labs.com slash download to find the latest version of the drive chains which run on the Bitcoin signet. And they have a sidechain for Zcash, they have a sidechain for Ethereum, something for assets as in Namecoin. And also a big block version of Bitcoin which they call Thunder. Very controversially, may I say. And it's basically a prunable version of the Bitcoin protocol with very large blocks optimized for high throughput.

31:35Basically, LayerTwo Labs is trying to bring all the interesting use cases from altcoins to Bitcoin on sidechains which are enforced by miners. And they did not give up on the two-way peg. They are very optimistic about a lot of stuff. And they rely on game theory, just like Bitcoin does in terms of preventing double spends. Because it's not cryptographically enforced or whatever, it's just incentives which play out against actually doing that. And it can be a very fun weekend project, like you download the software, you go to the drivechains talk telegram channel.

32:15And you ask people to send you some coins and then you send back and forth and you understand how the tech works, how you can swap coins from one layer to the other. It's very interesting. Give it a try, I highly recommend it. And I think maybe Litecoin is going to try it this year or next year so that we can see how this works and hopefully we'll get this on Bitcoin one day. But once again, we're going to get to BIP 444 and that's what makes me very pessimistic about actually improving Bitcoin.

32:47And then there's also SideShift which is the place where you can swap. Usually I recommend people to swap their stablecoins for BTC because first of all we're still in a bull market and it's a bad idea to hold on to stablecoins. And secondly, stablecoins are not censorship resistant and you never know when you receive quote-unquote bad coins, bad USDT or USDC from someone. And it's going to get banned or sanctioned or whatever. So it's better to just swap it immediately for something that cannot be taken away from you which is Bitcoin.

33:22What you can do basically is to never touch the stablecoin. So you put your BTC address into SideShift, you click the shift button after you pick the USD whatever to BTC pair. And basically you send the USD address to the person wanting to pay in stablecoins and then once they send the transaction you get BTC to your wallet. And it's very beautiful, also works with Liquid if you're into that. They were the first exchange to support Lightning and also the first big one to give up on it like a couple of years ago.

33:55Check it out, the URL is s-i-d-e-s-h-i... s-h-i-f-t dot i-o. No, dot a-i. So sorry, SideShift.ai. I messed up there. Doesn't work in the US I think.

34:12Super TestnetOh, let me check. We'll go visit their website and see. I use stuff like that all the time and sometimes I have to like open up Tor to use them because they're like, "Oh, it doesn't work in your country." That one looks like it works. Oh, no, SideShift.us is their US thing and it says it's not yet available in my state.

34:30Vlad CosteaNo, no, no, don't use US, I think it's a scam.

34:34Super TestnetOkay, well their website redirected me from AI to US and then said this isn't available in your state anyway. So apparently...

34:43Vlad CosteaMaybe they have a different landing page for the US.

34:47Super TestnetAnd it doesn't work in Ohio anyway.

34:51Vlad CosteaYeah, I mean, there are ways. You mentioned one, you can use Tor or whatever.

34:57Super TestnetYeah, if you really want to.

35:00Vlad CosteaPretend to be somewhere else. I mean you're on the internet, you're not technically in any place, you're just accessing data.

35:08Super TestnetOkay, so let me go check again and see if there are any more questions about Papa Swaps. Let's see, I see things on Twitter, we have a question that says this is my weakest area of understanding. Oh, that's replying to something else. That's actually replying about our next topic, which is BIP 444. I'm having a conversation right now on Twitter about BIP 444. And let's see, on Nostr, any questions about this? Not that I see, no new questions. And on YouTube, just the one comment that just said hi and said all is super. Hi, João. Great, let's move on to... Do you want to move on to BIP 444 now?

35:47Vlad CosteaOh yeah, let's go.

35:48Super TestnetThat's too many 4s. They should make it like BIP4 or something. Single digit numbers, just have all the BIPs be single digit numbers, that would help. Couldn't possibly cause any confusion.

35:58Vlad CosteaSo super, I do recall that you were one of the advocates for using filters on your node and you said that they work?

36:04Super TestnetYep, they do. One of the things that I have been on about recently is highlighting that they have positive benefits for your node, for your personal node. So for example, I made a website recently called Spam Tester. Sorry, I say it's a website, it's just a GitHub page. So if you go to my GitHub and look for Spam Tester, you can click the button and try it out. And this finds the most recently created filtered transaction that was filtered by Knots mempools but allowed into Bitcoin Core mempools and shows the different bandwidth consumption on both devices.

36:44So filtered transactions on Knots nodes are not relayed around the network and so they don't consume bandwidth from relay, they only consume bandwidth from being downloaded. And as a result, Bitcoin Knots nodes use objectively less bandwidth than Bitcoin Core node when it comes to spam transactions. So I like to highlight that there is an objective technical benefit from treating spam differently from other transactions, which is that nodes that do this use less bandwidth. And yeah, so they work, they improve your node and that is one of the reasons why I think filters are good, spam filters work.

37:29Vlad CosteaOkay, but they don't work in terms of not, of actually stopping the content that you don't like. Because all it takes is just one mining node that's going to pick them up and broadcast and store everything on your node anyway, once you download the blocks.

37:47Super TestnetThey don't completely stop spam from getting into blocks. And if a miner really wants to do it, then they can do it. But there's a risk, which is that another effect that spam filters have is that they slow down the compact block relay for blocks that contain filtered transactions. And thus, as more transactions are filtered, as more nodes filter them, rather, if you get to say 50% of the network filtering them, those blocks that contain widely filtered transactions start taking longer to propagate around the network, like noticeably longer.

38:24And in stale block races, where there's two competing blocks, the one with fewer widely filtered transactions is more likely to win such a race. That is bad, especially for small miners to mine widely filtered transactions. And so I think that if they were widely used, which they're not widely used, but if the spam filters were widely used, they could also incentivize more miners, especially small ones, not to include spam in blocks, because it would increase their orphan rate or their stale block rate. So there's that as well.

39:05But I don't think that benefit is, it doesn't apply when they're only used by like 20% of people, which is the current situation. So then the benefit that I like to talk about instead is that, or in addition to that, is that they actually have an objective technical benefit on just your own personal device and its bandwidth consumption. And I think that's good enough, even if they didn't stop spam from getting into the network at all, create a situation where, you know, more people are using this, even if they didn't do that, it would still be good to run them on your personal device just to reduce its unnecessary bandwidth usage.

39:40Vlad CosteaYeah. But at the same time, I think your assumption, even if you had 50% plus of nodes filtering, your assumption is that mining nodes are objective, or they don't arbitrarily pick transactions, and they just treat the mempool as something which is universal or whatever. But you did have cases of rearranging the order from the mempool and basically mining pools just mining whatever they want, because I guess at this point, mining fees that they collect are not significant enough for them to care. And they just do something like, I remember there was, basically they optimize for mempool.space so that they can draw various ASCII, or ASCII, how do you pronounce it, ASCII images.

40:31Super TestnetI think it's... I usually hear it pronounced ASCII.

40:35Vlad CosteaThere was a Trump one, there was, I don't know, there were lots of these silly attempts to show that miners can actually rearrange the mempool so that they mine whatever they want, not necessarily what we have on our nodes.

40:50Super TestnetSo yeah, Portland.HODL wrote this software that, I guess he reverse engineered, or he probably just looked at the codebase for mempool.space because it's free and open source, and looked at how they color the individual transactions inside their block explorer because they have something called goggles where you can view the transactions and they color code them according to various different transaction types Bitcoin supports. So they figured out what the color scheme was, and then Portland.HODL is a Bitcoin developer, he made software that lets you, if you're a miner, create a block that has the transactions ordered in such a way that it paints a picture using mempool.space's color coding thing.

41:29And what I was told recently by someone who works at MARA is that other mining pools who didn't have this software were paying MARA to paint blocks for them. So they could say, "We're doing it too," even though they didn't have the software, which I think is a great marketing move by MARA to get other mining pools to pay you to use your software. That's pretty cool. Not a fan of painting blocks using mempool.space's proprietary API, I think that's a stupid thing to do, but it's pretty cool that Portland wrote that software and then they got other mining pools to pay them to use it, if that really happened.

42:11Vlad CosteaThere's someone in the chat named SmartMark23 on Twitter, and he says there isn't such a thing as spam on the Bitcoin network because spam equals other people's transactions, and this is supposed to be permissionless, so transactions literally cannot be spam.

42:28Super TestnetWell you and I have different definitions of spam then. I make a distinction between transactions that embed data that is not required for spending a UTXO, for shifting value from UTXO A to UTXO B. If you don't do that in as efficient a way as possible and instead also put a bunch of data in your transaction that's like a picture or something, I consider the extra data spam. I have a definition of spam in which it does exist, and that's the one that I use. I think my definition has objective technical benefits because if you use my definition and encode it in software, then your node uses less bandwidth, so great.

43:18One side just has opinions and the other side has objective technical implementations and specifications that make a real-world difference. I recommend being more objective about this issue.

43:31Vlad CosteaIsn't this unfortunate that we got to this point where everything is relative, like we can't even agree about what words mean, and therefore we can't make any meaningful progress and we just talk past each other, especially on Twitter. People disagree about what a soft fork is, they disagree about what spam means, they disagree about all sorts of definitions of words. The problem is not that they don't make sense, the problem is that they understand something else when someone else talks to them and disagrees.

44:06Super TestnetThat is a drawback. There are positives and negatives to having different definitions for the same words. A positive is that it reduces the size of dictionaries, I suppose, if you can put more entries on the same line, more definitions on the same line that save space in dictionaries. But a negative is that sometimes when people are discussing things, one person will mean subtly different thing A and another person will mean subtly different thing B by the same term. That's a drawback because then you often don't notice the differences and start talking past each other until someone says, I think you guys have different definitions of your terms.

44:49There are drawbacks to it. It's also useful, I think, to have different definitions of things for different contexts. What's an example of this? I think the term transaction in a Bitcoin context comes from not where you might expect it to. We refer to transactions in Bitcoin referring to the way they're used in databases. In database design, the term transaction means the act of inserting or deleting data from a database. In Bitcoin, we define the blockchain as our database and we define the transaction as adding an entry to it.

45:32Because it's a financial thing, one might easily assume that the word transaction comes from the world of finance where a transaction means a different thing and it's like an interaction between two parties for a monetary exchange of goods. I think that's an example where subtly different meanings of terms collide because Bitcoin is both a database system and a financial system. And so it's like, which... What are you using the word transaction to mean here? Are you meaning a financial interaction or are you meaning a database entry? Perhaps that has contributed to some of the misunderstandings in the spam debate as well.

46:12Vlad CosteaAlso remember when I met you two years ago that you told me that since you discovered BitVM, you really wanted to play Pokemon, I guess it's the original red and blue, and you wanted to catch Pikachu using the Bitcoin network?

46:26Super TestnetI thought it would be fun to...

46:28Vlad CosteaWell, but by today's standards, would that be spam?

46:32Super TestnetNo, because the design of BitVM is such that in the happy path, the transactions don't go on the blockchain. That is one of the things that thrills me about BitVM is that from the beginning, its design has been you keep the junk stuff off the blockchain and only put the financial part on the blockchain. If the contract is I pay you $10 if you catch Pikachu in the real world or in the... Without BitVM, I don't know a way to do that without trust. Without trust between the two counterparties where it's just like, look, here's the picture of me catching Pikachu and now send me the $10 and you hope that I do that.

47:14Or we put an escrow and then hope the escrow is honest. With BitVM, you can actually encode the rules of Pokemon, the script of the video game itself in the BitVM paradigm, play it off chain and still have it so that if the party who's supposed to catch the Pokemon actually catches it, then he can take the money and only put the financial part where the money gets transferred. That's the only part that goes on the blockchain in the cooperative path. And to me, that's the ideal scenario to design systems where the junk that Bitcoin node shouldn't be, or that I don't think most Bitcoin nodes care about, i.e.

47:58Playing Pokemon, you keep that off chain and then you only put the financial part, which is the actual monetary transfer on chain. That is the way I perceive BitVM to be designed. Short of modifications by some of the BitVM teams, Citrea, short of that, I think BitVM is a well-designed system and it does what I ideally think Layer 2 systems should do.

48:27Vlad CosteaOkay, but you mentioned Citrea, it's also using, I think, BitVM version 2. And I think Alpen will be using version 3 with Glock, which is their garbled circuits. But basically both of them will be using Bitcoin, as in the base layer, as a data availability layer. So they'll put zero-knowledge proofs, which correspond to activity on their Layer 2, on the Bitcoin base layer.

48:55Super TestnetI'll have to see that. It sounds like it, but I'll have to see it. I haven't looked into the, generally I oppose the idea of using Bitcoin as a data availability scheme for non-Bitcoin data. But I'll have to see. I could be convinced that the data they're putting on here, I could imagine a scenario where someone says and convinces me of something like, the transactions that we're putting on Bitcoin are Bitcoin transactions, but they're valid UTXO spends and such, but they are compressed in such a way that they take up less space.

49:32I could imagine someone saying something like that and I'd be convinced that that is what Bitcoin nodes are for. I don't know what these Citrea people are planning to do yet because I haven't read all of their papers. The stuff that I have seen them do is like dumping stuff into OP_RETURNs that, to me, I can think of several different ways of doing that without dumping data into OP_RETURNs. So yeah, but we'll see. I want to read their full papers and see their implementation before I make a final judgment call about whether roll up data is spam or not.

50:14Vlad CosteaI think that Citrea sort of received the best and the worst marketing ever. And honestly, I think it's good that they were so much in the spotlight because they did not have to pay for it. They just got this advertisement for free and everyone spoke about them. And they were used like a reason for the OP_RETURN size to get increased so that they can use the Bitcoin blockchain as a data availability layer in a more efficient way. But the funny part is that they're actually not.

50:43So in the design that there's gonna get launched on the main net, they're not gonna use OP_RETURN. They're gonna inscribe data just the normal way because that's the software that got audited and seems fine. And if they waited for them to... So basically if they waited for Bitcoin Core v30, they would have to wait for another six months to get another audit for this to happen. So in the first iteration, Citrea will actually use inscriptions.

51:09Super TestnetThat sounds like an improvement. I'm also not a fan of inscriptions and I would like to see them eliminated, but they are... If the comparison is strictly between "we're gonna put the data in fake public keys" or "we're gonna put the data in inscriptions," inscriptions do less damage. And so that's a positive thing. So there's a... There's a phrase...

51:35Vlad CosteaSo why do you say that OP_RETURN does damage? Because it's regarded as something that you can actually prune and it was designed as such. Like this is the purpose to put the data that you don't want to have permanently...

51:48Super TestnetI believe I said fake public keys do the damage. That's what I was trying to say. Those fake public keys do the damage. OP_RETURNs also cause some amount of damage in that, at least for nodes that don't prune the blockchain, the OP_RETURN sticks around forever. So it gets pruned from the UTXO set, but not from the blockchain. So if you don't have a pruned blockchain, you keep that data forever. And that's bad, or at least I don't. I think it's bad to keep that data around forever when it's not of the class of things that I consider monetary data.

52:28But it is... That's also true of inscriptions. Inscriptions also don't get pruned from the blockchain unless you prune your blockchain. So it's a wash in terms of the comparison of OP_RETURNs versus inscriptions. So yeah, I don't think OP_RETURNs... Well, no, I guess OP_RETURNs are worse anyway in one respect, which is OP_RETURNs take up more of what's called base space. Actually, I'm not sure that this is a widely adopted term. In Bitcoin we used to have, before SegWit, before the SegWit upgrade, there was one space where all transaction data went into, and it didn't really have a name other than the blockchain.

53:06That was the place where all data went into. After the SegWit upgrade, we had like this separate data structure where there's witness data and the rest of data. And some people, including me, have started calling that the rest of it base space, which is where data went before SegWit, or just the regular blockchain without the SegWit part, is base space. And OP_RETURNs take up more base space than inscriptions do, and thus in a certain sense, they are... They're worse because that's the more... There's more witness space.

53:39SegWit increased the size of the blockchain by four. We made it go from one megabytes to four megabytes, but three of those megabytes are witness space, so it's like a less scarce resource, and base space is more scarce, and OP_RETURNs take up that space. So if it was a strict comparison between OP_RETURNs and inscriptions, I would also say... I would... It's an improvement if they put the garbage data in inscriptions versus OP_RETURNs, because then they're putting... They're using consuming a less scarce resource. However, I oppose both.

54:11I think putting non-monetary data in inscriptions, OP_RETURNs, or fake pubkeys are all bad ideas, and I want to filter them. And even use BIP 444 to prohibit them entirely and make them invalid according to consensus rules. So that is... That is hopefully forthcoming, although I doubt it. I don't think BIP 444 is gonna go anywhere. Perhaps it is time to talk about that.

54:40Vlad CosteaYeah, but before we get to that, I was gonna ask, don't you think it's sort of a legally slippery slope, in the sense that once you do prove to your government that you can do, in fact, make Bitcoin not permissionless, you're gonna get your government stepping in and saying, well, since you're filtering JPEGs, why don't you put up this OFAC sanction list, or why don't you block transactions coming from North Korean IPs, or why don't you do this and this and this, and if you refuse to do it, they're gonna be like, well, you're already blocking something that we don't really think is illegal, like silly JPEGs.

55:18So why do you refuse to block something that's illegal? And that's what gets us into a sort of hill where it's gonna become more difficult to use Bitcoin.

55:28Super TestnetI don't think this soft fork, BIP 444, materially increases our slide down that slope, and what, I guess, reduces our height on that slope, and one of the reasons I think that is not true, or doesn't do that, is that we already do, in Bitcoin, block certain transactions from going through, namely invalid ones. The consensus rules already block invalid transactions, and so the government could already come through and say, well, you've proven that you can censor stuff, you censor all the things that you've soft forked out of Bitcoin, so why not add our OFAC censorship list to your nodes as well, and just say that's a new consensus rule.

56:11Vlad CosteaSure, but that was a rather technical voluntary choice, and I could point out that maybe less than 10% of nodes were doing this. Like, it was an actual deliberate choice that you are making. Now you actually have an implementation that you just download from the internet, and you don't have to know anything, and it's gonna filter stuff for you. And I do think that OCEAN mining and Bitcoin Knots are gonna end up, they're already sending legal letters to other mining pools from the US, so I do think that they're gonna end up getting regulated to the point that they receive a long list from Chainalysis or whatever, that's gonna get updated with all, for example, addresses of coins that were stolen from exchanges, with addresses that come from North Korea or Iran or something.

57:02Super TestnetYeah, I don't understand what you were saying a minute ago, which was that they won't send such a list because previous soft forks were voluntary. It sounded like that's what you're saying, but I don't think that's what you meant.

57:16Vlad CosteaNot soft forks. What I mean is that if you actually implemented this kind of policy on your node, it was deliberate, it was your choice, and it was not something that was basically commodified to the point where you just download the software. So maybe it was not a popular choice, and the narrative that Bitcoin is permissionless was much more powerful than this minority of people who were choosing to use the blacklist on their node. There's actually a blacklist file that you find in Bitcoin Core when you download it.

57:47Super TestnetYou mean Bitcoin Knots?

57:49Vlad CosteaMost nodes... No, it's also in Bitcoin Core, which Bitcoin Knots is just a fork of.

57:55Super TestnetReally? I didn't... Are you saying that currently there is a blacklist in Bitcoin Core?

58:00Vlad CosteaThere was always one. I mean, it's something that you can basically fill by yourself. It doesn't come prepackaged with any list. It's just something that you can complete if you want to.

58:13Super TestnetIf someone could find that and give a link to me, I don't think such a thing exists, and I would love to be proven wrong.

58:19Vlad CosteaI remember it was a big conversation at one point because there was a woke Core developer, I don't remember exactly which one, wanted to change the name of the blacklist into the blocklist because he thought blacklist sounds racist.

58:36Super TestnetOkay, well I'm hoping that someone can find this file and send it to me, and I hereby attest that if such a thing exists I will look foolish. Do you second that?

58:49Vlad CosteaNo.

58:50Super TestnetNo? Okay. He doesn't think I'll look foolish if such a thing exists.

58:53Vlad CosteaIt's fine to not know.

58:55Super TestnetYeah, cool.

58:57Vlad CosteaWell, I'm also here to learn. I'm not here to dunk on anyone. It's just that I find it strange that we are switching narratives this easily, and we're going down a slippery slope without... So there's this quest for purity, which I do understand and I can sympathize with it, but I can also see how this is gonna end up causing a lot of damage to the project. And I think the only way in which we can actually save Bitcoin at this point in the community is to add some sort of base layer privacy, so that we can't look anymore to say that this transaction is fine and this one is not.

59:34The system becomes more censorship resistant because you can't discriminate, and yeah, the miners also pick up transactions without actually caring where they come from and what happened there.

59:50Super TestnetSo, if BIP 444 goes... Well, if BIP 444 gets adopted into Bitcoin Knots, I don't think it's gonna go anywhere anyway. I think it is... I think there are more Bitcoiners who... I think there are more Bitcoiners who strongly oppose it than there are who are strongly in favor of it. So let's... To put some numbers on it, I think there's roughly around 20% of Bitcoin node runners are interested enough in stopping spam or reducing its negative impact that they decided to switch over to Knots. And I don't think most of them are on board with this BIP 444 proposal.

1:00:29So if it gets in the Knots, I think maybe 10% of them will adopt the new BIP 444-compatible version of Knots, and so then 10% of the network of the total network will be using BIP 444 and 90% will not. That's my suspicion. And then I think among the remaining 90% who are not using it, I think something like 25% of them are going to be so opposed to it that they will actually download incompatible software. Some people call it a user-rejected soft fork.

1:01:02They'll download something that says, you know, if miners start, or any miner starts enforcing the BIP 444 rules, we're going to invalidate their blocks. Like OCEAN blocks, for example. If OCEAN starts enforcing this, they'll invalidate OCEAN blocks. I think that's a more likely possibility because I think... I suspect the Bitcoiners are going to strongly oppose BIP 444. Personally, though, I think that except for its deployment method, outside of the deployment method, the specific thing it wants to do, which is temporarily invalidate certain types of scripts and oversized data thing or large data carrying things, I think those are good ideas and I would like to see those invalidated as well.

1:01:48So I guess we will find out, but I think it's dead in the water and it's not going to go anywhere. It might result in OCEAN losing hashrate, but that's about the best I can think it would accomplish.

1:02:03Vlad CosteaRight, I think it's useful for the purpose of our conversation to also define what is BIP 444 because we dived straight into it. Is dived irregular or regular as a verb? We dove, I think, is the correct word.

1:02:19Super TestnetThat was the word that I would expect, although I think there is a form of the word where you can say dived. There might be a different word.

1:02:25Vlad CosteaWe dove straight into it without actually explaining to the audience. I mean, of course, most people know because they spend a lot of time on Twitter, but maybe some people listening to this have been away for a week or something and they don't know what BIP 444 is about.

1:02:42Super TestnetIt's title, so it's number is BIP 444 and that is the easy thing to call it because the title is rather unwieldy. It's title, I think, is temporary prohibition of something. Now I have to look it up because I forget. BIP 444, full text. Yeah, so what it does is it identifies certain transaction types that are currently commonly used for spam. Among them are the witness structure or the annex rather, not the witness structure, but the annex in the Bitcoin transactions. It identifies the taproot Merkle tree as one of the things that is going to limit the size of that.

1:03:27It wants to change it from, I think, four kilobytes is something like the current limit and it wants to change it to 257 bytes total. It wants to limit the size of OP_RETURNs so that those can only be 83 bytes, I think. But yeah, it takes a bunch of stuff where you can shove data in Bitcoin. Inscription envelopes is another. It makes it so inscriptions are invalid, at least according to their current specification.

1:03:56It tries to take all these things where people put data in Bitcoin transactions and make them actually invalid so that if a miner mines such a transaction that does that, his block wouldn't count. Bitcoin nodes that adopt this software would reject them and just consider them invalid blocks and not part of blockchain. So that is the proposal and I'm looking for its name. A second... It's hard. I'm having trouble finding its text. Let's see if I can find a link to it.

1:04:31Vlad CosteaI was muted. In the meantime, I also found an explanation from Adam Borcany, who said that the blacklist file on your Bitcoin Core node is a ban list for nodes, not addresses, as in ban list for IP addresses.

1:04:49Super TestnetRight, yeah. So not Bitcoin addresses, but you can ban nodes and say, I was talking to, I think it's beeforbacon, his name is Nate on Twitter recently, and he pointed... he highlighted that he is running a script that bans all Knots nodes, or at least nodes that self-identify as Knots nodes. His node is running a script that looks for those on the network and then adds them to his banned list. That doesn't affect what Bitcoin transactions they can receive because it doesn't have anything to do with Bitcoin addresses, but rather just the IP addresses of nodes that you don't want to connect to, don't want to peer with.

1:05:24So he banned all Knots nodes and some Knots nodes banned some Core nodes, I suppose. I'm not aware of anyone doing that, but I suppose someone might be. So yeah, you can do that, but that is not a transaction or address blacklist as far as Bitcoin addresses go.

1:05:46The name is Reduced Data Temporary Softfork. That is the name of the software. And yeah, it's got a number of fields that it tries to look for and block non-financial data from being in them, and if this would load, I would tell you what those fields are. There are seven of them. They are output script pubkeys. Currently, they can be large sizes, and this reduces them to be only 34 bytes apiece, and that prevents you from storing data larger than 34 bytes in an output script, although you could just use a bunch of them, which is how the Stamps protocol works anyways.

1:06:30Then it does push data. The push data function in Bitcoin script allows you to do what it says, which is push data to the stack, and it restricts that so we can only push payloads of 256 bytes or less, with some exceptions, which it goes over.

1:06:48It prohibits undefined witness versions and tap leaf versions, so both the segwit upgrade and the taproot upgrade created new things called upgrade hooks, which if you use them in a Bitcoin script, or in a Bitcoin output script, but yeah, that's still a Bitcoin script. If you use them in Bitcoin script, then they're undefined behavior, and Bitcoin knows just kind of ignore those any data you put there. So this makes it so that you can't do that until they're defined, then they would have to be defined after the soft fork ends, because the soft fork is only valid for, I think, one year is the proposal.

1:07:29And anyway, yeah, I don't know if I need to go through all of them, but they're just different places where you can put data in Bitcoin transactions. It tries to find them and make them invalid if they have more than a certain amount of data in them.

1:07:42And that is the proposal. And to have it only last for a year, so that after a year, you'd be able to do it again. You'd be able to put data in those things.

1:07:54Vlad CosteaOkay, so why do you think this is controversial and it's not gonna work?

1:08:01Super TestnetIt seems to me that most Bitcoiners seem to, since about the year 2023, Bitcoiners have been tolerant of spam on the network, and increasingly, since that time, supportive, not just tolerant, but actually think it's a good thing for it to be on there. So you often hear people, or I often hear people say things like, spam pays the miners, and it's good for the miners to get paid. It doesn't hurt my node. I'll be storing, I agreed to four megabyte blocks, and as long as they stay under four megabytes, I'm happy.

1:08:41So more power to them. Someone wants to pay the miners with spam transactions, or what I call spam transactions, more power to them. And I think it seems to me that most Bitcoiners are either in the camp where they're willing to tolerate it, or in the camp where they are actually supportive of it. And as a result, a soft fork that tries to eliminate something that most Bitcoiners don't care about, or actively support, I think they'll not like that, and will try to block the soft fork.

1:09:14So that's my expectation.

1:09:17Vlad CosteaRight, but let me put my Taproot wizard hat on, which I don't have because I'm not cool enough, but they would say that these inscriptions and these stamps and whatever, they can be used as anchors into other second layers or protocols that build on top of Bitcoin. Like are these also spam? Is this fine to use inscriptions as a way to onboard people to something which does use BTC, and does pay transactions to the Bitcoin miners, transaction fees to the Bitcoin miners, but are maybe including different features and trade-offs?

1:09:55Super TestnetI'm unwilling to make a blanket statement and say all such designs must necessarily be spam, but I do suspect it. I suspect that any design that requires you to put non-financial data on Bitcoin is probably a spam protocol. There's probably a way to do that. If it's legitimate monetary or non-spam transactions, not just non-Bitcoin data, I think there's probably a more efficient way to do it without dumping arbitrary data on Bitcoin. But I'm unwilling, without looking at specific proposals, to just make a blanket statement and say definitely they are all spam.

1:10:33My starting suspicion is any such proposal is probably spam. But yeah, I would have to take a look and see an individual proposal and see what I think about that specific one.

1:10:47Vlad CosteaOkay, I do want to ask you why increasing the OP_RETURN size was such a big deal and caused so much drama. I tried to participate in the beginning and say that it's not such a big of a deal like people pretend it is. And I do still run Bitcoin Core v30, like I haven't had any problem. But it seems like there's a camp that pretends that only pedophiles use it or something. And it's sort of crazy that we ended up at this point.

1:11:21Super TestnetI'm not aware of any pedophiles who use that field. So, not to my knowledge. I think in general... It's a bad thing. It's bad that Bitcoin has this, what I think is a flaw, which is that there are fields in Bitcoin where you can add arbitrary data and they're widely unfiltered. Or that arbitrary data is widely unfiltered. I think of that as a flaw. And when Bitcoin Core v30 came out, it added another one. Instead of patching the existing ones, it removed the filter on large OP_RETURNs and made it so there's another place to put arbitrary data.

1:12:06Also, the specific place that it made it possible to put it in is OP_RETURNs. And those are more harmful than other ones because they use more of the precious base space instead of, like inscriptions do, using the less precious witness space for that data. So, they cost more. The place where they want people to put data or not want people, the place where they opened up, made it easier for people to put data, also makes it so that it's more harmful data because it uses more precious block space.

1:12:40So, yeah, I think that was a bad decision. And I also think that there's an objective benefit of running the filters, which is, apart from the fact that if widely used, and I think they incentivize miners not to mine such transactions at all, apart from that, they also decrease the negative impact of spam on your node by reducing the bandwidth consumption of relaying those spam transactions. Because if you filter them, then your node doesn't, Bitcoin Core and Bitcoin Knots both don't relay filtered transactions. They either put them in something called the extra pool, which transactions in the extra pool are not relayed, or for some of them, they reject them altogether from the node and refuse to have them in the mempool or the extra pool or any other place except the blockchain.

1:13:30And so not having them in any of those non-blockchain places reduces the amount of bandwidth your node consumes. So, I think there's objective technical benefits to using filters. A, reduces your bandwidth consumption for spam transactions. B, if widely used, it disincentivizes miners from including them in blocks. But yeah, that is not the current situation. Instead of doing what I want, the Bitcoin Core developers want something else. And so they did something else. And if you agree with them, run Bitcoin Core, run Bitcoin Core V30. I'm happy to help you.

1:14:06I'm happy to help you set it up. Just because someone disagrees with my opinion doesn't mean I think you're a bad person. I'm happy to help people do things that are contrary to my opinions. But also, if you agree with me, then you can run software that does block those things. And Knots does a better job of it than Bitcoin Core does, from what I can see. So, consider Knots.

1:14:30Vlad CosteaI do have to say at this point that I wish more of the conversation happened like this. Like, you know, where you respect the other side and you agree to disagree, as opposed to just using labels or blaming each other of something or having some sort of insults that eventually led to this label of the plebslop, which basically every time someone makes an argument which is considered to be maybe incorrect from a technical point of view or just irrelevant for the context, it's plebslop. And it seems like both sides of this debate have labels for each other.

1:15:09The Knots people are Knotzis, the others, like, Coretards. I've seen Nick Szabo use this and I'm so disappointed. This guy used to be like the one who was helping us understand and find consensus. He's a different person than he was during the block size wars.

1:15:30Super TestnetI oppose the use of insults as substitutes for arguments, as well as insulting in general, I think is a bad idea. I do make an exception if it is teasing. If someone uses an insult as a way to tease someone and they don't mean it in bad faith, then I think it's acceptable to do that. And I think, at least when I first heard the term Knotzis, K-N-O with a K, used to describe my camp, I thought it was good-natured teasing, and I still think most of the people who use it mean it that way.

1:16:01They don't actually think we're Nazis. I don't think anyone on that side thinks we're Nazis, or at least none of the serious people. I think it's a teasing name, and so I don't mind such a thing when used for that purpose as good-natured fun. But yeah, if it is being used as a substitute for an argument and to say you don't have to listen to him because he's a Knotzi with a K, that is a fallacy called ad hominem and don't commit fallacies. It makes your arguments look bad, and be bad.

1:16:35It is a bad argument. That is no merit. So don't do it.

1:16:42Vlad CosteaYeah, I agree. There's also someone in the chat who says, where do I start? Okay, so do you want me to use your coin or not? If you want me to use your coin, then don't tell me what I should be using it for. It's none of your business. It's not like you don't have an army of competition out there to eat your lunch. So seriously, you want my money or not?

1:17:08Super TestnetI don't think this gentleman is paying me, so let me try and phrase it. I hope I'm not making a strawman here by converting it into an argument that I understand better. But I'm going to answer an argument that I understand better, and hopefully it has some overlap with the argument of the gentleman who I'm responding to. So I have heard someone say that spam is good, or at least you should be neutral about it, because it pays a fee. Spam pays a fee just like your transactions pay a fee, and as long as it's paying a fee, who cares what it's doing?

1:17:43And my response to that argument, which I hope has some overlap with the argument you're... this gentleman is making, my response to that argument is I don't get that fee. If I was running a general purpose storage system and received payment for people storing stuff on my server, then I think that argument has more merit. What do you care what this content is that you're storing, that I'm storing on my server, if you're taking payment for it, you shouldn't care. That is an argument, I would have a different response to an argument if that's what I was doing.

1:18:18But I have a reason for running a Bitcoin node, and it is that I want to see Bitcoin become the money of the world. And spam does not, I don't think, help to do that. In fact, I think spam hinders the ability of Bitcoin to become the world's money. And so especially when I don't see the fee that you're paying, rather, miners see... miners get that fee and then store the data on my server, that's a different situation. And I don't think it is reasonable to ask me to store your data because you paid someone else to put it there.

1:18:52I don't think that's reasonable. There is certain data that I want to store, which is monetary transactions, because those actually help Bitcoin become the world's money. And spam transactions, I think, hinder that. So yeah, I don't want to store them and saying that you paid someone, therefore it's good, it would be a bad argument. Again, I don't think the person I'm responding to now makes that argument. But I don't understand your argument, so I'm responding to a different one that I do understand. So there you go.

1:19:25That has some words in common.

1:19:28Vlad CosteaSo for the record, I am pro-choice, meaning that everyone can choose to have their own relay policy and storage policy for their nodes. But at the same time, when you create something which generates a universal policy for all nodes, and then you promote that without even letting the users have their own choices. Like, do you want this type of transaction, do you want that? It just has a default for what's not allowed. I think that's not really fine, because maybe that they're against something but they like something else, and there's not really a middle ground.

1:20:04And maybe that most users are not... This is the next argument, that they're not technical enough to make their own choices. And it's going to take a lot of effort to set the right node policy. And I'm not sure if either camp is going to compromise and say, well, how about we let you prune this or remove this or not relay this or whatever. I think both sides are a bit dogmatic right now about what they're doing. And none of them accepts that maybe that there is a subset of users that is maybe not technical enough to pursue and go all the way with all of their desires.

1:20:40Or maybe that there's a subset of users that has no idea what's really going on and need someone to explain to them what every type of filtering actually does.

1:20:52Super TestnetSo both Knots and Core have optional policies that have a default setting but that is also user configurable. And one thing that I think neither one does a really good job of is giving users the option to change those before they start the node. So I shouldn't say not giving them the option, I should say making it easy. So if someone wants a cool hackathon project it would be cool to get to deploy or to create a deployment of Bitcoin Core or Bitcoin Knots or like a wizard where you choose one on the installation and where the wizard also guides you through setting up your mempool policy so that you don't start the node until you've decided do you want transactions that match this template or that template?

1:21:37What if they have inscription envelopes? Do you want to relay those? And then you could have little check boxes and say yeah I'm okay with that, I'm not okay with that. I think that would be a pretty cool hackathon project and might help people make better choices about what they want their node to do when they set it up because most people I think just run it and have the defaults and that's it. Another thing though is to create deployments that just have different defaults because I think that if you create a deployment of Bitcoin or a distribution, I said a deployment, I think the word I should have been using in the past paragraphs is distribution.

1:22:12If you create a distribution of Bitcoin that has a certain set of defaults and you give it a name, a name that people can call it by and debate about I think that's useful as a signalling mechanism. You can say things like look a thousand downloads for the version that implements these filters and I think stuff like that is useful as a signalling mechanism so that people can crowd around a certain distribution and say this one has settings that a lot of people like. Both of those would be cool hackathon projects.

1:22:51Make different distributions of Bitcoin Core and Bitcoin Knots that have different policies and also make a wizard where you can, for people who understand this stuff at a more advanced level, they can go through and check off which policies they want in their mempool. That would be cool. I mentioned that I get...

1:23:10Vlad CosteaA wizard means setup menu, not Taproot Wizards, right?

1:23:13Super TestnetYeah, I mean a setup wizard. I don't know if they still call this but back when I got into Windows computing, any time you installed an app, most of them had something called a setup wizard that would guide you through the installation process and settings and configuration options. But Bitcoin Core doesn't seem to really have one and neither does Knots. At least I don't think they do. I can't think of one and it would be cool if they did because at least have a distribution that does have one so that people who are advanced users can say before it starts, these are the settings I wanted to run it under.

1:23:48Sometimes I mention that I get like seven ideas a day. I think I've gotten four of them just talking to you. So you see how this process happens. For people who are interested in how that works, it's stuff like this. I just talk to people and things that they come up with and things that I come up with are interesting to me and often I write them down and then work on them later. I recommend, if you want a happy life, I recommend that. It's great.

1:24:16Vlad CosteaYeah, and you also sort of told me that you use Windows 98, I think. That's the one that had the wizards, or at least made them popular.

1:24:26Super TestnetMaybe, yeah. When my dad got a computer many years ago, I used whatever version he had. I think he started out with Windows 3. I think I remember having to go into the command line and boot up Windows, which I think Windows 95 at least did away with that. So it just boots straight into Windows. So I believe he had a version that was pre-Windows 95. And then through various upgrade cycles, at some point wizards became common. And I remember them.

1:24:54Vlad CosteaYeah, we have a lot of comments and a lot of questions. And before I get to them, let me present the last two ads of this episode and then we can get to them. So Bitcoin.com news is the competition for basically where this guy works who actually asked the question. Aaron van Wirdum. He's from Bitcoin Magazine. But what I do like about Bitcoin.com news is that they're not so centered around US politics. And they have a more balanced overview of what's happening around the world. And the difference between Bitcoin.com news and CoinDesk is that CoinDesk is more centered around institutions and banks and whatever.

1:25:35Whoever is getting into the space, dumping a lot of fiat money. And I think there is like a sweet middle ground that's to be found in here. Where you also find some news about gold and silver and other markets which are adjacent to Bitcoin. And I like it. It's no longer the website that tells you that Bitcoin Cash is faster and you should not be using BTC. Their logo is orange right now so you can assume that it's safe from the kind of messaging that people hate.

1:26:08Or what they used to describe as propaganda during the block size wars. Anyway, check it out. It changed a lot. It's not what you remember. And that's also why I promote them because people still haven't recovered from the block size wars for some reason. The market has moved on. Everyone has moved on. But some people are still stuck. They have their PTSD going on. And last but not least, there is Noones. If you know Ray Youssef, he's like this big, muscular, 6 foot 4 WWE character.

1:26:38He wants to save the world by enabling the global south to have access to permissionless, uncensorable and unconfiscatable money. And Noones is his peer-to-peer marketplace where you can trade and basically give liquidity to people from Nigeria, the Middle East and South America. Or primarily the users of this. And it uses a system that's called Everyone Gets a Seat at the Table and Everyone Eats. Which means that basically everyone who gets involved in a trade gets their cut. And it's pretty cool. It has this humanitarian side, but of course you can make a lot of money trading there.

1:27:19You have a peer-to-peer exchange, you have a spot exchange, and if you're fancy and sort of a fiat lover, you can get the debit card for spending your coins. Which I'm not a fan of, but you do whatever you like. N-O-O-N-E-S dot com is the URL, and thanks to all the sponsors for enabling this to happen without any kind of pressures or whatever. I can do whatever I want. So now let's pick some questions. There's Aaron van Wirdum, who's actually debating very intensely on Nostr.

1:27:54But there's also someone in the chat.

1:27:57Super TestnetThank you. Thank you, Aaron, for being a polite and respectful debater on Nostr, where we were talking recently.

1:28:03Vlad CosteaThere's also someone in the chat, and I'm going to favor the person who's here as opposed to the person who just left a comment. He said, "I appreciate your..."

1:28:12Super TestnetWeird Robot? Is that... Is it... Oh, no, we're looking at different people. Okay. But there's also a comment on YouTube from Weird Robot, but go with yours first.

1:28:20Vlad CosteaOkay, so SmartMark23 on Twitter says, I appreciate your honesty and willingness to have a real discussion. Sorry for calling you a moron. I didn't see that. But really, dude, there are legal reasons we don't want to filter one another's transactions. It turns us into money transmitters, and all kinds of federal agencies will require we get licensed by them, and others will use us as a tool for their oppression. I guess you didn't know what miners are supposed to be doing. They're not supposed to be censoring valid transactions.

1:28:53When they start doing that, they stop being miners and start becoming bankers and need to get licensed as such.

1:29:03Super TestnetI disagree with your legal analysis. I don't think that there is any law that says someone who filters transactions is a money transmitter. I don't think there's any law that says or implies that if a miner says no to a certain transaction, that makes them a money transmitter. That's not a thing. And if you think it is, maybe link me to a more complete legal analysis making that case. I'd like to examine it. But yeah, making up laws helps no one. So there's no such law. Okay, so there's that.

1:29:45One of the things you said in there is we. You said we don't want to filter other people's transactions. I don't think that's true because I do want to filter other people's transactions. And so your word we is first person plural, and I am not included in that. So you're wrong. I do want to filter other people's transactions. And apparently enough people agree with me that about 20% of nodes are running software that does filter people's transactions. So there's a lot of us who do want to do that.

1:30:24Vlad CosteaYeah, I hope that this answer is satisfactory for SmartMark23. Now let's get to what Aaron is saying. He said, I was told to post my questions here. And he says, I think your first answer is kind of changing the topic. This is basically the conclusion from a longer conversation. Is your concern node centralization or is it fee pressure or both?

1:30:51This needs context, but look at this. It's huge. Like, how am I supposed to read this?

1:30:59Super TestnetYou're not, but I will provide a link to that discussion and then people who are interested in my discussion with Aaron van Wirdum about this topic can look at it. So let me go get that link and then we will continue with me answering that specific query. He asked, is your concern node centralization or fee pressure or both? I think both of those are, I think both of those are valid concerns and worth addressing. So, yeah, that's that. Great. Any further? Yeah, I'm sure it'll continue. We're going to have more of this on Nostr.

1:31:37But yeah, I think both of those are worth addressing.

1:31:44Vlad CosteaYou got a question from Kyle Moore and you answered to it on Nostr, but I guess it's useful to also mention here. Is Spark spying on Lightning users?

1:31:54Super TestnetYes, they have published, I think it's then, published software that creates an explorer for Spark addresses. They have their own address format for their quasi layer two-ish system. I'm unwilling to call Spark a layer two with their current design, but it's close. It's similar to a layer two and worth talking about in that context. They've published a block explorer for it, but it doesn't have blocks. So it's more like an address explorer. You could type in a Spark address and view its history of transactions and stuff like that.

1:32:33So any any of these wallets that are coming out that use Spark as a back end, which they have a pretty cool user interface for them. Like they work really well. Good job on the software UX department guys at Spark. They've done really well with it. Anyone who uses it, you can plug in their address if they give it to you on the Spark Explorer. I think it's sparkscan.io and you can view their current balance, their history of transactions. And that's not good for your privacy that they are spying on you and they're letting everyone else see all of your transaction history.

1:33:09This is also not necessary. They don't need to do this. Spark is an example of a state chain. And I'm really excited, by the way, that there's finally a state chain out in the wild that has real world or that has real usage. It's got like thousands of users now. That's a success because state chains have been possible in Bitcoin since 2017. And no one ever used them until now. So great.

1:33:34Vlad CosteaWell, they were used. There was, what was it called? Mercury Wallet. Yeah. And Mercury Layer.

1:33:41Super TestnetI used Mercury once to participate in something called the state chain torch. And I don't think I've ever seen it used other than that. I think like a couple of people, enough people downloaded it to do a state chain torch, which had like a couple hundred people doing it. And I'm not aware of any other users. And then they ended up shutting down, which I don't think they would have done if it was a prof, if they were making money off of it. So, yeah, I think it was just not very much demand for it.

1:34:09But there is demand for the Spark thing. They seem to be doing really well with it. And I'm excited about that. But the Mercury one and I also have an implementation of state chains with one of my proof of concept apps. Both the Mercury one and mine were used something called a blinded server, which meant that the server did not know your balance. And he did not know your transaction history. And he didn't even know what your state chain address was. He didn't get to see it in my implementation.

1:34:39He got to see a hash of your transactions. He got to see the transaction hash. And that's what he signed. He signed the... He signed the sighash for your transactions, but he didn't get to see their contents unless and until you published it on chain. In the unilateral exit scenario, you would publish your transaction on chain and then he would get to see what he'd get to see a signature on there. And that's what he signed. But of course, by then, it's too late for him to do anything about it.

1:35:04So that was my implementation of a blinded server. I believe Mercury used a more robust design that also hid the SIG hash from them. I think they used some sort of multi-party computation thing to make it so that they signed a SIG hash without seeing the hash that they were signing. Which if that's what they were doing, that's really cool. I certainly didn't know how to implement that. So I just didn't. I just made it so they get they do get to see the hash and then said, well, but the hash doesn't reveal the underlying data.

1:35:31So it's fine. Still kind of just blinded in my in my definition. Yeah. So they don't need to do this. A state chain can be done in such a way that the server does not see your balance or your transaction history. They have opted not to do that. They've opted to actually see that data and publish it for everyone else to see. And I think that's a mistake. I like the blinded server design better. So, yeah, they're spying on you and and letting everyone else spy on you, too.

1:35:59That said, you can't there are things you can do to mitigate the spying on the Bitcoin white paper also points out and many have pointed out that on Bitcoin's layer one, everyone gets to see your public key, at least once you spend from a Bitcoin address, they can see your public key and sometimes even before then. And they can see the balances of all those public keys. But there are still things you can do for your privacy. You can not associate a public key with your real world identity.

1:36:25You can hide your IP address from things that you interact with by using services like Tor or VPN or what's the new stuff that's come out recently? Blinded transfer or whatever it's called, oblivious transfer. There's techniques for doing that as well. So you can do that. And then the other thing you can do is avoid public key reuse in Spark and on Bitcoin L1. If you don't have your real world identity attached to a public key, then it seems to me the best someone can do is start profiling a public key and say, here's the history of its transactions.

1:37:01You know, I don't I may not know who you are, but I know that you spend at these times and you have received at least this amount and they can start building up a profile on it. If you avoid public key reuse in both Spark and on Bitcoin L1, it gets harder for them to do that. They only get the information about when money enters an address and when it leaves and not necessarily anything else. That said, there are unsolved problems like linking two public keys together.

1:37:28If you do a co-spend, you say, I'm going to spend money from this address and that address at the same time. That can harm your privacy. Same thing applies to Spark. If you are trying to avoid public key reuse, then you have to manage that. And then something like coin joins or similar things are going to be important there. And I don't it's so new that no one's built any of this stuff out for it yet. But yeah, there are things you can do to mitigate their spying efforts and we'll see.

1:37:56We'll see if I would like to work on that. And I hope other people do, too, so that user privacy can be improved and still have a useful state chain system, despite the design decisions of the Spark operators. So that's the answer to that question. It was much more concise when I did it on Nostr. You know, I think I did one paragraph to say all that on Nostr and here it's three minutes. But sorry, that's the advantage of text mediums.

1:38:22Vlad CosteaThat was really good. And it's also useful, like you would not expect the people who were promoting Libra like six years ago to come to Bitcoin and build something which is privacy friendly.

1:38:35Super TestnetMaybe. I would not be surprised if they do. There are there are some countries where, like lots of countries in the European Union at least have made enough of a pretense about caring about privacy that they've passed laws saying to the extent possible, you have to avoid disclosing this information publicly. So maybe there's something you could maybe there are some I know that like Bull Bitcoin as an example, they're a Bitcoin exchange that cites GDPR compliance. GDPR is one of the laws in the European Union that requires these requires you to pretend to respect user privacy.

1:39:15Bull Bitcoin cites that as a reason for doing coin joins on all of their outgoing transactions. So they say, well, because in order to be compliant with GDPR and not disclose user balances to other people, we're going to coin join all of our outgoing transactions. At least they were doing that for a while. That's pretty cool. So like if they were able to think of a reason to do it in a in order to be legally compliant, maybe someone like Spark could be convinced to do the same thing.

1:39:40It's possible. I'm not holding my breath, but I think it's worth a shot. Try and try and convince them to do more coin joins and stuff and even build it into the protocol as a way of bolstering user privacy in places where taking steps toward that is a legal requirement. Also, because it's just the right thing to do.

1:39:59Here's project idea number four.

1:40:01Vlad CosteaYeah, yeah.

1:40:05Super TestnetNag... Nag them to... Nag Spark to add privacy things by default into their into their layer two. So I'm still looking. I can't find now the link to the thread in which Aaron van Wirdum and I were discussing this. It was just like a couple of days ago that I was adding to it, but I'm going through my history of posts on Nostr and not seeing it. There's another... You want to talk about Nostr problems? Finding stuff you posted a week ago is really difficult in Nostr land and sucks.

1:40:42Vlad CosteaThere's also a question by Roland, who says, or Roland, I'm not sure how you pronounce that, "What are some downsides of Arkash besides privacy? Is it possible for the sender to steal the money before the receiver comes back online? Or can it be locked to a receiver pubkey like eCash? Are payments economical? Why would this not compete with Cashu since Arkash does not have the custody issue?"

1:41:12Super TestnetOkay, I found the link that I wanted to share before I answer that question. I want to share a link with you. Can I do that inside of Google Chat or...

1:41:20Vlad CosteaYes, you can actually share your screen if you want.

1:41:24Super TestnetOkay, I posted an event, a Nostr event. And if you if you post that into various Nostr clients like Primal or Coracle or Jumble, you can pull up the thread in which Aaron van Wirdum and I were discussing that and your viewers can do that. So put that in the show notes or something, please. Arkash. So gentlemen asked about Arkash, which is one of my latest projects. Arkash is an attempt by me to recreate hedgehog on top of arc. So one of the things I've been trying to do with hedgehog for a long time is make it so that if I want to send you money, let's say I want to send you money, Vlad, I don't want to have to get something from you first.

1:42:06In Bitcoin, if I want to send you money, I have to ask you for a Bitcoin address, or like go to your website and find a Bitcoin address there. If I want to send you a lightning payment, I've got to ask you for a lightning invoice or like find a lightning address that you've created and send money to that. I think that's backwards. Because if you were standing in front of me, and we weren't on the internet, and I wanted to give you $5, I don't have to get anything from you, I can reach into my pocket, pull out $5 and just hand it to you.

1:42:32And now you have $5. Same with other monetary instruments like a check. If I want to write you a check, I don't need anything from you. Just write it and then hand it to you. And I think that's how digital money should work. I think I should be able to digitally send you something such as an email or a DM, without having to say like, download this wallet first, and then and then you can have the money. So with Hedgehog for a long time, I've been trying to create that experience.

1:43:03And that's a big reason why I made it asynchronous so that users can pay each other when the recipient is offline. And when the recipient does get online, they can import the money into their wallet, if they have one, or download one or whatever, without needing to interact with the sender. I wanted that for a long time in Hedgehog, I think I've taken a lot of steps toward getting there. But of course, as I mentioned earlier, I don't really care to commercialize it. And so no one really uses Hedgehog, no one really knows about it, other than, you know, people who listen to me a lot.

1:43:34But it occurred to me that the idea that I had also works on Ark. Ark can do this, if you if you if I put money, if I want to, what I can do is I can create an Ark private key and a private key on the Ark layer two protocol, or not really protocol at the various layer two applications that call themselves Ark. I can go and create a private key on them, send them money, send money to it, and then give you that private key, I can like email it to you.

1:44:02And I don't know, you don't have to have an Ark wallet to use Ark. You can like I made a little website called Arkash, one of my GitHub projects, it's not a real website, you can just go to my GitHub and look for Arkash, A-R-K-A-S-H. And it generates an Ark wallet in your browser when you visit this link and imports the string imports whatever string that I've sent you. And that string contains money. It's got it's got however much money I deposited into your Ark into that Ark private key.

1:44:31And once I've done that, then you can do whatever you want with it, you can hit the send over lightning button, you can receive it into an Ark wallet, you can receive it on the Bitcoin L1, you can convert it into another cryptocurrency if you want to. It's got a bunch of a bunch of things you can do with it. Some of which I haven't implemented yet. Yeah, so that's Arkash, which is just an attempt to recreate my desired goal with Hedgehog, but do it with a public server that someone's maintaining, which is, you know, Ark.

1:44:59It's not done yet. I don't even think it's really self custodial yet. So that was part of your question is it self, I think you asked is it self custodial? I don't think so. I think I'm like, not validating the data given me by the Ark server yet in that app. And so they could just give me fake data, and I would still send money to it or you if you use it would still send money to it, and they could run away with it. So I need to do more validation, I need to do stuff like, I think I have to rewrite their swap protocol, because while writing it, I found out that their swap protocol sucks, or does not sucks.

1:45:33It has features that I think are not ideal. So I want to like rewrite it and make my own swap protocol for it and then implement that. Anyway, yeah, there's a lot of stuff that I have to do with Arkash in order to make it work the way that I want Hedgehog to work. So it's going to be some work either way. But at least with Ark, someone's maintaining that server. Whereas with my hedgehog stuff, I don't even maintain those servers. I just write them and put them on my GitHub and then just leave them and no one, no one does anything with them.

1:46:01So I think doing it on Ark is probably more promising than doing it the way I think is ideal, because someone might actually maintain it. So yeah, that is, I think that answers at least some of your questions. One of them was, is there a way, can the sender come back and run off with the money? Yes, he can, because in the way I'm designing it, he creates the private key. And so he can import that private key into his own Ark wallet, or just use the website that I have him share to take the money.

1:46:32So yes, the sender can just come back and run off with the money. And I think that's, I think that's a good thing in certain scenarios. Like, often when I'm onboarding people to Bitcoin, I'll give them $5 in Bitcoin. And then I wonder later, did they ever spend it? Did they ever do anything with it? I would like to be able to check and if a year has gone by and they never did anything with it, I can tell them, hey, I took this $5 back because you didn't use it.

1:47:00I think that'd be good. So something like that, I think is probably good. But can you make it so that you can't, you can only do that if you knew their public key. If you knew their public key, you could, like from Nostr or from Bitcoin or from Ethereum or something, if you knew a public key that they had that's compatible with Bitcoin, you could make a Arkash thing where you paste in their public key and encode the money so that it gets sent to that.

1:47:26And then they would have to import their private key into an Ark wallet in order to unlock that money. I don't, maybe that could also be useful for some scenarios, like where you want final settlement and where you can't take the money back. But I'm less interested in that. I want, I kind of want the one where you can take it back if they don't do anything with the money. So, yeah, I would probably not implement that. I hope that answers your question. There's also some questions from Weird Robot on YouTube.

1:47:55I think we should get to those. Do you see those, Vlad?

1:48:00Vlad CosteaI do see a weird with a 3.

1:48:03Super TestnetYeah, weird. To me it says Weird Robot with a 3 where the weird is. So he has some questions.

1:48:12Vlad CosteaI don't see them for some reason. So I do see his comments from Twitter.

1:48:18Super TestnetOh, well, let me read them then. Do you mind if I read some of his... I guess they're not... They don't have question marks, so I guess technically they're not questions, but I think he wants me to comment on them anyway. His first thing that I see is spam is always going to be a subjective term because it implies undesired and what we desire and value is subjective. Do you see that comment on YouTube?

1:48:40Vlad CosteaMaybe I should refresh my page or something.

1:48:43Super TestnetMaybe. Maybe I should too. My answer to that is that everything in Bitcoin is subjective if that's your definition of subjective. For example, the consensus rules would be subjective by this definition because some people don't like them. And you said if something's undesired, then it's subjective. Well, some people don't like Bitcoin, don't like our consensus rules. They make other rules or they don't use cryptocurrency at all and therefore Bitcoin is subjective by this definition. But if your definition covers the consensus rules and says the mempool policy is subjective because some people don't like those mempool policies, and the consensus rules are also subjective because some people don't like those, then I don't think that's a very useful distinction in talking about whether something should be a consensus rule versus a mempool policy.

1:49:41It doesn't help if the point of distinction you're trying to make applies equally to both. So yeah, I think both of them are equally subjective by that definition and by another definition they're equally objective. As in the software will enforce the rules given it and it will enforce the mempool policies given it and it will treat them both as equally objective. The software treats them as rules to follow. So yeah, by a certain definition they're perfectly objective rules. They're given to it from a third party or from a first party, which is you, the user of the node, and your node just obeys them as things that it's been told to do.

1:50:24So yeah, I think the question isn't whether they are objective or subjective, but rather whether they're good or bad rules. And I think the mempool policies that I propose or use on my own node are good rules and I'm happy to share on podcasts like this why I think so, which we already did that part earlier, so I don't want to do it again. But yeah, rewind and listen to my reasons for thinking they're good and I think that's better than asking whether they're subjective or objective.

1:50:54Okay, so that's that. Another question, another comment he says, he says the off-chain solution is like, isn't spam. This other one, Citrea, is spam, cause reasons. I think he's mocking me. Are you mocking me, Weird Robot?

1:51:14Vlad CosteaI think that this was posted like longer than an hour ago and it sort of lacks context because it was a reaction to something that we were talking about at the time, but I do want to ask you since we came back to this topic, do you think there's going to be a hard fork with people who like the 20% who are running Knots today and they don't want to be in consensus with core anymore because of maybe ideological differences or technical disagreements? Do you think that there's going to be a separate chain for this?

1:51:45Super TestnetNo, I suppose I don't, I don't, I don't, I don't think BIP 444 is really going to go anywhere. I think it's possible. I expected what I expect is that about 10% of Knots nodes are going to actually run it, run BIP 444. I don't even think OCEAN pool is going to enforce it. If I'm, if I'm honest, if any pool is likely to enforce BIP 444, it would be OCEAN pool. And I don't think they're going to have the guts to go ahead and do it.

1:52:14So. No, I don't, I don't think any hash, I think maybe 10% of Bitcoin nodes will run this soft fork, but no hash rate is going to be behind it. And yeah, I don't, I don't think anything's going to really happen there. So no, I don't think it's going to go anywhere.

1:52:31Vlad CosteaDo you see a peaceful resolution for this cultural conflict that we have? Because I do believe that at this point, the issue that Bitcoin has is not technical, meaning that we do have a lot of proposals and a lot of solutions to the existing problems. The issue is cultural where we ended up in this spot where we disagree with each other and any change is regarded as some sort of attack. And we don't seem to agree on anything. Like at one point we agreed that CTV is good.

1:53:02And then we stalled the conversation for a couple of years and then we came back to it. And then we got this whole spam CSAM or whatever conversation, which seems to overshadow or outshine everything else. And until we're done with this, I don't think we're going to have any significant progress.

1:53:23Super TestnetI don't think we're going to ever see a soft fork again in Bitcoin. I think, I think it's ossified and I'm sad about that because it makes it really hard to improve software if it's ossified. But it seems to me that it is. I want to campaign for an ossification, de-ossification, but I don't have a whole lot of expectation or I don't foresee anything making Bitcoin de-ossify. Certainly not mine. I don't think that I'm going to have that much of an impact in my attempts.

1:54:02Also, I don't think we have, I don't think when you say we agreed on CTV for a while, I don't think the majority of influencers in Bitcoin ever agreed on CTV being a good idea. I don't think they do today.

1:54:16Vlad CosteaBut since when are the influencers the one that make up the consensus? Like it used to be just a bunch of technical people and developers and economical nodes. And I don't think that influencers are either of these, including myself. Like I'm not going to blow my own tooth and pretend that I'm more important than I actually am.

1:54:38Super TestnetWell, I will pretend for you. No, by influencers, I was including people who influenced the development of Bitcoin. As in the developers themselves, I consider influencers in this sentence. And yeah, I think when CTV first was proposed, there was a lot of pushback against it. Especially because, as I recall anyway, everyone said Taproot is a better idea or more of a priority. And there was like, wait till after Taproot to do anything with CTV. And once Taproot was finished, and he was like, okay, now let's do CTV.

1:55:15There was still pushback. It was like, a lot of developers to this day say there's no use cases for CTV. There's no, well, I don't know, there's no tests for it, they say or stuff like this. I can't remember all the things that I've read. Partly because I'm in favor of it. I want CTV. And so I think there are use cases, and there are tests, I've made some of them. But there are people who say things that don't make sense to me, like there are no use cases, there are no tests, there's no demand.

1:55:46And yeah, it seems to me that there's never been consensus among people who have influence in Bitcoin protocol development, that it's a good idea. And also not among podcasters and such, even if you use the definition of influencers that's just like people like you. Even those, I don't think the majority of them have ever been in favor of CTV. So yeah, I don't think it's going to happen. Which is sad, because I want it, and I consider myself an influencer. But not with enough influence to get it through.

1:56:22So we'll see.

1:56:24Vlad CosteaI think it was just before we got to this point where Luke started becoming very aggressive in his campaign to promote Knots and stop spam, that we, and by we I mean there was actual consensus, which is rare, that CTV and CSFS is the way to go. I remember there was a lot of signaling for this, and it seemed to be like the way to go. And for those who are not aware, like CTV, the best way that I describe it is that it's programming transactions so that you can broadcast and have them confirmed into blocks when the demand for block space is low.

1:57:01And that's the way in which it scales Bitcoin. It allows you, correct me if I'm wrong, this is my simplistic description of what it does. But it helps you program, or at least have your transactions confirmed when you condition them to. Not necessarily when you set this fee level.

1:57:25Super TestnetIt also makes it safe by making it so that it makes a certain class of transactions that use this can't be double spent. You can't go back on them. So that's my mom. Hi, Mom. Yeah, so that's one of the things it does. I forget... Now I've lost my train of thought.

1:57:48Vlad CosteaNow we're talking about what CTV does.

1:57:52Super TestnetYeah, so that's one of the things it does. But I had a point that I was going to make after that, and now I forget that, too.

1:58:04Great. Yeah, I don't think we're going to get CTV, sadly, but I'm certainly in favor of it, and I will campaign. I will continue to campaign for it being a good idea. Same thing with this BIP 444 thing. I think that's a good idea, or at least part of it is. I really don't like the emergency deployment part of the proposal. But the rest of it seems decent.

1:58:27Vlad CosteaI think there was also something in BIP 444 about automatic updates that was being discussed.

1:58:33Super TestnetWas there? I didn't see that. Let me go back... Let me go back to it.

1:58:41Censorship would be selectively blocking specific users based on their identity. The rules proposed in this BIP 444 do the opposite. They are applied universally, automatically, and impersonally to all transactions regardless of origin. That's the only time where the word automatic appears in this document. It's possible there's a synonym for it. Can you search for updates or something? Search for update. Before that word update does appear, it appears once. It says, each entity is responsible for monitoring the network and determining when it is safe to resume operations. Before resuming operations, be sure your own nodes are updated to enforce the software for your own security.

1:59:17I believe this is like an instruction for miners on how to do the, not miners, it says exchanges and other businesses on how they expect the software to be deployed. Yeah, this is the part that I don't like. But even this part doesn't talk about automatic updates. It says, be sure your node is updated. That doesn't sound automatic to me. But yeah, this is describing what to do if miners start to enforce this software using the emergency deployment method. That part I think is a bad idea of this BIP.

1:59:53But yeah, they're saying if that happens, then you should update your nodes to enforce this new rule. So that part I like. I would like it if exchanges and businesses update their nodes to support this BIP. I just hope it doesn't get deployed. I don't like the deployment method, the emergency deployment method it proposes. Yeah, but I don't see anything about automatic updates in the proposal. But I also read it before, I read it yesterday and didn't see anything. I don't see anything, I don't think it's in there.

2:00:28I don't think there's anything about automatic updates.

2:00:33Vlad CosteaIt's fine, I guess we can move on. On your request, which you made like 20 minutes ago about sending you the link to your conversation with Aaron van Wirdum on Nostr. I did send you that on Telegram and you can click the link.

2:00:51Super TestnetNo, I wanted you to share it with everyone. I wanted to put it in the show notes eventually.

2:00:55Vlad CosteaOkay.

2:00:57Super TestnetYeah, so that... Because he and I have had a great thread on that and right now I'm not replying to it because I'm on a podcast, but he is the most latest person to reply, so now it's my turn to reply. So it's ongoing.

2:01:14Vlad CosteaOn YouTube there's Frank-Wood3128, he says, "Most improvements were attacks on Bitcoin." And then he adds, "Nice, Satoshi invented banker coin. Emergency deployment." Like he's reacting to what we're saying.

2:01:31Super TestnetOh yeah, he wonders what the emergency deployment is, we should probably go over that. Most soft forks in Bitcoin's history have suggested a way of deploying them on the network and different soft forks have used different deployment methods. Usually the last one that I recall doing was Taproot and part of the procedure for Taproot was miner signaling. Miners would signal, we're going to start... Such and such a percentage of us are in favor of and ready for the new software, like they're running the new software that has the software and they had like a kind of a policy which said that if 90% of the miners in their blocks signal that they're ready to deploy this, to activate the software, I think it was 90%, then like 100 blocks later they were going to start actually enforcing it and any blocks disobeying the soft fork would then be invalid.

2:02:30And that was cool, I remember my friend Hampus Sjöberg made a website where you could count the number of blocks that came out and signaled support, and it was great. So I really liked that deployment method, that was really fun. It got Bitcoiners engaged, we could... We made hats and stuff about signaling, they were represented as like green block emojis or green square emojis and there were red squares and green squares and there were hats for them and it was fun, it was great. I would like to do it that way again, that's how I would like to see BIP 444 enforced.

2:03:03And it says in the BIP that something like that is a good way to enforce it. It doesn't say specifically how they want to enforce it or activate it rather, but it says something like, I think they use the term flag day, which is like miners using a flag, a bit flag to indicate that they support or are ready to enforce the BIP. So I support something like that, particularly I want to do it again with the green blocks and the red blocks and that stuff, that was fun.

2:03:30The same way we did it with Taproot, let's do it again with this. But they proposed an emergency deployment method, which is if somebody puts a terrible illegal image in a block after this BIP has been, now that it's been proposed, then they propose or at least my reading of the BIP is they propose that miners collectively run the, they basically run the invalidate block command on that block, say this block is invalid, and then start enforcing the software immediately without doing signaling and flags and stuff, they just start doing it immediately.

2:04:10And thus any transactions in that block, including the offensive one would then be invalid and because of the new rules, and then that's the new state of the network, then we move forward and you can only make transactions that follow the new rules. That sounds, well, it kind of sounds fun, but it's fun in a scary way. I like the fun I had with the, I like the fun that I had with the Taproot one where I didn't seem to me, anyone was scared of it. Having miners suddenly start enforcing new rules without signaling beforehand when they're going to do so sounds disruptive and bad to me, so I don't like that proposal.

2:04:50But yeah, we'll see, maybe miners will want to do it and they'll have, maybe it'll be fun. I guess if it happens, then in 10 years, looking back on it, I'll be able to say, I'll be able to tell funny stories about it. So we'll see. But that's what I mean by the emergency deployment.

2:05:11Vlad CosteaYeah, there's SmartMark23 who says he's gonna emergency deploy, quote unquote, some shit on the whole network at once.

2:05:19Super TestnetWell, that sounds like the status quo. Welcome to Inscriptions. That's already what they're doing.

2:05:30Vlad CosteaYou also mentioned something about prediction markets and the fact that you got into this and you suggested I should include this in the title, but before that, I got to make a confession to you. During this time when it seems like Bitcoiners fight a lot and they insult each other, I found some mental solace or, how should I put it, like some refuge from all of this craziness in Zcash and also got rich in the meantime for some reason, like it actually went up. I bought it last year, now it's like 400 something dollars and I promise that once it crosses $400 again, I'm gonna do the Zcash pump dance, which is this one.

2:06:13Okay, I've done this. Now let's move on.

2:06:16Super TestnetI hereby register a negative... A disapproval of this announcement. All right, then you've done your part and I've done my part.

2:06:28Vlad CosteaThat's fine. It's what I wish Bitcoin was like.

2:06:36Super TestnetWell, my prediction market proposal has nothing to do with that. It is not a privacy thing. I do have some recent privacy stuff I've been working on and if you're interested in talking about making Bitcoin more like Zcash, I have a proposal for doing something like range proofs or maybe they qualify as actual range proofs on Bitcoin and I think Zcash uses those, so maybe I should talk about that.

2:07:01Vlad CosteaNo, you should.

2:07:02Super TestnetOkay, great. So I've been researching range proofs recently and it occurred to me that they're probably possible on Bitcoin natively if you do my usual trick of redefining things and saying that now I'm gonna use this word to mean this other thing and it's close enough.

2:07:24So specifically, how I want to define it is, well, let me tell you about Payjoin first. So if you've ever used Payjoin in a Bitcoin wallet, a few wallets support it. More recently, I think Cake Wallet added support within the last year, maybe before that. I don't know. I started using Cake Wallet within the last year and it supports it. They have support for this thing where let's say I'm creating a Bitcoin transaction and sending it to you normally without Payjoin, I would do that by selecting coins that I own or a Bitcoin address that has some coins in it.

2:07:59That would become my from address and I would get an address from you. That would be the to address, right? And I would send money from my from addresses, one or more of them, to your to address. The Payjoin people realized that if you contribute an address to my from addresses, then we can make it look like you're receiving a different amount than you're really receiving. For example, if it looks like, if I want to send you five Bitcoins and you contribute an address that already has...

2:08:30Vlad CosteaPlease send me five Bitcoins.

2:08:32Super TestnetYeah. Well, if I want to, and you contribute an address to the from side of the transaction that already has two Bitcoins in it, then if we make it so that my Bitcoin transaction sends you seven Bitcoins, well, two of them already belong to you, so you're really only getting five. Does that make sense? And that's a Payjoin because it looks like I'm sending you one amount, but really you already owned part of that amount, so you're really receiving a different one.

2:08:59It occurred to me that the process by which those things work creates something that by at least a random definition I came up with counts as a range proof. Specifically, the range is the amount of Bitcoin I sent you is somewhere between zero and seven Bitcoins. It's actually five, but you have no way of knowing exactly what the amount is I send. It could be that all of the Bitcoins went back to me and so it's really I sent you zero. It could be that you owned two of them and so I sent you five.

2:09:28It could be that you owned all of them and so I sent you zero. It could be that I sent you seven. There's four possibilities there within that simple transaction. So that's a range. There's a range of possibilities. Zero, I guess it's three, zero, five, or seven are the possible options and it happens to be one of the ones in that range. So if you think of it as a range of three items and it's one of those, like a random one that you can't tell in advance, that's cool.

2:10:00That's a range proof. So then I started thinking, how do you increase the range? How do we make it so that there's a larger range so that it hides more data? And I thought, well, you could add more inputs and more outputs. So what if I have like 10 inputs from addresses in my transaction, how many of them belong to you? Maybe three of them, maybe five of them, maybe eight of them belong to you already. And how many outputs do we create? Well, let's say I make 10 outputs, 10 outputs for you. The amount that I'm sending you could be any combination of those output addresses, but also adding in zero as an option and the total sum.

2:10:35I could be sending you all of them. All those outputs could be yours. So now you've got a range of like the combinatorics of whatever 10 choose. I think it's 10 factorial, 10 factorial would be the number of the range there. And that's pretty, that's not that expensive to do. 10 inputs, 10 outputs, it's about three times the size of a regular transaction, and you could have a 10 factorial range, which is really good for hiding outputs in. Or hiding the amount sent. So I thought of this, and I thought, I should make an implementation of a wallet that does this, where it just sends you a bunch of different outputs, and you contribute one, zero or more inputs to the input side of the transaction.

2:11:17And then anyone analyzing this transaction has no idea what amount you received. It could be anything in the range from zero to the sum. That'd be cool. But the other thing I thought would be cool is, apart from doing it that way, it occurred to me that if you add in Lightning into the mix, it gets even better. So I thought of, since I came up with Papa Swaps, where, to get back to the original topic in this thing, in Papa Swaps, I made it so that you can receive money on L1, and atomically receive a similar amount on L2, so that the one doesn't happen unless the other one happens, like atomically.

2:12:00You could use that to receive your change on Lightning. So if I wanted to send you five Bitcoins, I could actually send you ten Bitcoins in an output, but receive the change, receive the remaining five, on Lightning from you in a Papa Swap. And so if you do that, then you can have the change be any amount. I could be even sending you one Satoshi. I could send you ten Bitcoins on L1, but you send me ten Bitcoins minus one Satoshi on L2, and so there's an actually complete range.

2:12:31The entire range from zero to the sum becomes a possibility in this idea. So yeah, I think Bitcoin has native support for range proofs, which is a Zcash, a thing they use in Zcash, but nobody's done it yet. Nobody's implemented it. I don't even think I've implemented it. I don't even think I've made a proof of concept of this yet. I just came up with the idea and was like, yeah, that could work, unless you count Payjoins. Payjoins technically do it, because that's what I was thinking about.

2:13:01When I came up with this idea, and they have a very small range of like three values are possible. So yeah, I think we have native range proofs on Bitcoin, and I think you could make a wallet that uses that to hide in every transaction the amount sent to the recipient. That'd be really cool.

2:13:17Vlad CosteaSure, but you still can't actually have any kind of privacy for the sender and the receiver. It's just like a deniability for the amount.

2:13:29Super TestnetWell, I think that's something. In the world of privacy, there's three. You want to hide the sender's public key, the recipient's public key, and the amount. So one out of three is something. It may not be very good, but it's something if we were able to hide the amount. And also, there are implications for receiver privacy there as well, because I don't think it would be easy to tell which of those addresses belongs to the recipient. It could be any of them. Would it have to be one of them?

2:14:07I don't know. Now I'm getting a new idea, as I'm speaking. There might be a way to make it so that his address isn't in there as well. Once you add in Lightning, that seems possible.

2:14:17Probably you'd need his address. Probably one of those addresses would be in there, but it would be like one of ten, and you wouldn't know which one it is, which is useful for receiver privacy as well. And would it have implications for sender privacy? I suppose it would have the same implications that Payjoins do, because you don't know how many inputs the recipient contributed, so not all of the sending addresses might really belong to the sender. My computer is going to turn off in 60 seconds.

2:14:41I have to go try and run to a charger. Do I? Yeah, I can do that. So, you talk.

2:14:50Vlad CosteaI'll talk. Okay, let me check the chat to see what else has been posted over the last ten minutes or so. There is SmartMark, who added that "Super Testnet is describing how miners are now going to be operating SWIFT and doesn't even miss a beat. Never ever mentions whose transactions will no longer be valid. As in, it will be your transactions." I think he dropped out, which is unfortunate. His laptop died, but he will come back. He does have the link for this. All he has to do is just plug his laptop to electricity.

2:15:27And then boot the system. And he's going to be back. In the meantime, I do hope that you guys enjoy this conversation. I think it's possibly the most civil debate I've ever had with someone who supports Bitcoin Knots. Usually it's just hostility and people being, I don't know, building straw men about each other and just assuming what the other one believes in and trying to create echo chambers. And in all honesty, it's horrible. And I think if we went back and we actually got people inside of a room to agree with each other, it would be much better.

2:16:09He's back.

2:16:16Super TestnetHi, I think I'm back.

2:16:21Vlad CosteaYes, you are.

2:16:23Super TestnetSorry about that. My computer ran out of batteries and I'm on my cell phone now.

2:16:27Vlad CosteaThat was a super risky move, by the way. Like just not charging your laptop when you got that warning.

2:16:36Super TestnetWell, when I got the warning, I ran out to charge it, but I was too late. I got to my charger, which is upstairs, a few seconds after it shut down. So sorry.

2:16:47Vlad CosteaMissed opportunity to ask your mom to bring the charger.

2:16:52Super TestnetYeah, I suppose so. So I missed your question. You said you were going to read a question and I didn't hear it because I was running.

2:17:01Vlad CosteaI don't think it's much of a question. It's just SmartMark being bitter about the situation, saying that "only Visa, MasterCard, and the banks governments say are OK will be able to do..." So basically, only these entities will be able to do transactions on chain. And he ironically says, "That's exactly what I signed up for." "Oh, yeah, let's just make up new definitions for words without bothering to tell people we're talking to what our definition really is. You just watch their public address to examine the outputs to their wallet that their wallet receives."

2:17:38And he adds, "He sounds like a banker to me, wants to censor valid transactions."

2:17:45Super TestnetOkay. Yeah, so I don't, I don't think that, or I think that the reasons why, the reasons for the proposal to censor invalid transactions are good. Like we've had it, we've had it. It used to be that in Bitcoin, there were transactions you could create, like the ones that we now use the encoding mechanism that encodes Taproot for. You used to be able to use them for other things that were not Taproot. You used to be able to use them for, well, for spam, for example, you could do that.

2:18:19And we repurposed the encoding scheme that we use for Taproot now to say you can no longer use that for spam. It has to be used, like if you post it, if you post anything that's not a valid Taproot transaction using that encoding format, it's going to be invalid. And I think it was a good reason, because Taproot does useful things, and I want that in Bitcoin. So like there are reasons why making something invalid, when it used to be valid, is good. And that's how we, for example, that's how we do upgrades in Bitcoin.

2:18:55And I think that the reasons why proposing to invalidate spam transactions is a good idea. If you invalidate, or at least if you invalidate large spam transactions, that makes it so that Bitcoin nodes are more efficient at the thing that I want them to do, which is make Bitcoin the world's money. So I'm in favor of that, because I think the reason for doing it is good. But if, let's say, the US government came down with a rule and said all nodes in the United States, or they'd probably say everywhere, they'd probably say all nodes everywhere have to enforce the OFAC list and not allow transactions to and from addresses on the OFAC list, I would say that's a bad rule.

2:19:49Because the OFAC list says things like anyone from Cuba, anyone from North Korea, anyone from Russia, you're just not allowed to send money to them at all. That's worse money. Money that you can't send to people in Russia or people in Cuba or people in North Korea is a worse money than a money where you can do that. And so if they proposed this, if they proposed adding the OFAC list to Bitcoin, I would look through the reasons. I would say these are terrible reasons. I'm not running that on my node.

2:20:20Yeah, I don't really think BIP 444 changes this in any way. It's just saying here's reasons for invalidating spam transactions, or at least the large ones in the specific formats that are popular right now. It says let's disable those, and I think the arguments are good ones, so I'm in favor of it. But yeah, if the government came out with the OFAC list and said you should censor these just because we are in like a non-war but semi-warlike situation with Russia, that's a bad reason to block those transactions.

2:20:55So I'm not going to do it, and I hope other Bitcoiners would not do it either. But yeah, I do think it's up to each Bitcoiner what filters they're going to run on their own node, so yeah, I hope that helps answer that criticism.

2:21:12Vlad CosteaHe says you did not define anything about like what parameters would be judged or what would be defined as spam, so all he's hearing is ability to render valid transactions as being invalid, i.e. You can make my transactions invalid.

2:21:29Super TestnetWell, the BIP does specify what transactions it wants to invalidate, so I made a partial list of them earlier in this podcast. You can go listen to that part or the BIP specifies it's seven different fields that it wants to disallow more than a certain amount of bytes in those, so yeah, I think it's pretty specific about what it wants to do. Yeah, go check that out for more details.

2:22:01Vlad CosteaI honestly think that a better use of your ability and intellect is to use the remaining time to talk about your ideas to make Bitcoin more like Zcash, which is really something that I'm interested in. I know that there is Shielded CSV by Liam Eagen and Robin Linus and Jonas Nick, and there's also ZKCoins, which is a proposal by Robin Linus. And once we're done with this, I also want you to mention prediction markets, because once again, we put this in the title, but we barely scratched the surface.

2:22:34Super TestnetYeah, well, we haven't yet. We just mentioned that it's something we want to talk about. Well, we should probably do that then, because I don't actually know anything about Shielded CSV, other than I think it's similar to ZKCoins. And the only thing I really know about ZKCoins is that that's similar to RGB, but without the ever-growing transaction thing. Like, now I'm introducing a whole new topic. RGB was a proposal for issuing altcoins on Bitcoin, on Bitcoin's, well, I want to say on Bitcoin's blockchain, but really, they were designed to do it on a layer 2.

2:23:14And a difficulty with them was that if you wanted to send somebody one of these altcoins that you issued, you had to send them a signature, proving a thing. And every time that, if they wanted to send it to their friend, they had to send them their own signature plus your previous one. And then the next person would have to send three signatures, and the next person would have to send four signatures, and so forth. You always had to include all prior signatures. And I think ZKCoins tried to make it so you can issue altcoins on Bitcoin without doing that, or without having that encumbrance.

2:23:46They would still be on a layer 2, but you would no longer have to send all prior signatures every time you send the coin. So that was an efficiency improvement. And that's really about the only thing I know about ZKCoins, is that it's like an improvement on RGB.

2:24:05And Shielded CSV, I don't even know what that is yet. I think it's something to do with, like, it's very similar to ZKCoins, but even better somehow. Yeah, so I have nothing further to say about that, because I just don't know enough about the proposals to say anything.

2:24:23Vlad CosteaYeah, but do you have like a general idea or impression about Zcash? This was supposed to be Zerocash, a soft fork that came to Bitcoin, or was proposed for Bitcoin in 2013. It came from Matthew D. Green, who is a cryptographer and researcher. And I think, so if you go back to the CoinJoin thread on BitcoinTalk, Greg Maxwell mentions there that this is like a short-term solution until Bitcoin gets, at the time it was Zerocoin. That was the first paper, and then it was refined into Zerocash.

2:25:00So this was part of the conversation for improving Bitcoin's privacy with zero knowledge proofs. We never actually got this. It could be implemented with a soft fork. It did not. I understand why it did not, because there were some flaws in there. There was this trusted setup, which got removed like three years ago in Zcash. And nowadays we can just take that and soft fork it onto Bitcoin and have possibly the best privacy we can actually have for the Bitcoin design. Do you have any opinions on it?

2:25:33Super TestnetNot really. I haven't looked into the Zcash whitepaper yet or how Zcash works. About the only thing I know is what's in the name uses some form of zero knowledge proof. That's the ZK part. Beyond that, I don't know how it works, because I haven't investigated it or looked into it. Sounds great.

2:25:53Vlad CosteaI can get you onboarded if you really want to look at transactions and understand how this works, just install a wallet. I'll send you some coins and you can take it from there.

2:26:04Super TestnetWell, if you send me any Zcash coins, I'm immediately converting them into Bitcoin.

2:26:08Vlad CosteaThat's fine. You can actually, so with this wallet that they have, and I'm not promoting it or anything, but they actually have this feature where you can scan a QR code from another coin like Bitcoin. And it's going to do the swap directly into Bitcoin, so you don't have to do anything. It works in the background.

2:26:26Super TestnetThat part sounds like a cool feature. I like it when someone can send me whatever thing they have and I get Bitcoin. But I usually use sites like FixedFloat and SideShift and stuff for that, because I never have to download anything. I go to the website and it does it for me. But yeah, we can talk about that afterwards. I really don't want to spend much time talking about how you're going to send me altcoins on this podcast.

2:26:53Vlad CosteaWell, it's going to be a super live net experiment. It's not a test net. But once again, this could have been Bitcoin and the drivechain for privacy for Bitcoin actually uses Zcash as opposed to Monero, which I know you spent a lot of time looking into. I wish you spent it looking into Zcash, because that's the one that's actually compatible with Bitcoin.

2:27:14Super TestnetCool. Yeah, but eventually maybe I'll get to it, but I haven't done it yet. So no pressure. Just keep on saying it. Maybe in two more podcasts, I'll be like, you know, maybe I should take a look into how Zcash works.

2:27:29Vlad CosteaActually, it's what gets me excited. It gives me hope that we can fix Bitcoin when I take a look at it. Anyway, prediction markets, tell me more about it.

2:27:38Super TestnetYeah, so I was trying to think recently of a way to do prediction markets in Bitcoin, and I think I came up with something.

2:27:50And let me think about how I don't have my laptop in front of me. I don't have my notes on what I wanted to say. So now I'm going to struggle. The general idea came from some improvements I thought of. Well, other people thought of some of them, and I finally implemented them for DLCs. So I should probably start with what DLCs are and how those work, because that's the thing I'm trying to improve upon. DLCs in Bitcoin are discrete log contracts, is what the term stands for.

2:28:22They're a way for two people to make a prediction about some future event and have a third party dictate where some money goes depending on the outcome of that event. So for example, if it's a sports game, we could say, again, I bet that the Atlanta soccer team is going to beat whoever they're playing against in an upcoming game, and you, Vlad, you want to bet that they're going to lose, that Atlanta will lose. So what we're going to do is we're going to have ESPN be our oracle.

2:28:56It's called an oracle, the third party who decides where the money goes, and we're going to create a Bitcoin address. There's a few different ways to do it, but with DLCs, it's like fancy cryptography that says if the oracle reveals a certain secret, that means I get the money, and if he doesn't reveal that secret, that means you get the money, and that's how DLCs work, broadly. Sometimes you see people use them on Twitter. They usually use an escrow for this, so it's technically not a DLC, but it's pretty similar, where they'll say, like, put your money where your mouth is.

2:29:33I'm going to, whoever, if such and such thing happens, you'll get some money, and if they don't, I'll get the money, and we'll have, you know, they'll pick someone on Twitter to be the escrow, and they'll give the money to him in the meantime, or they'll do a 2-of-3 multisig and just have him sign the transaction. So sometimes people do this on Twitter. I don't think these things, these DLCs or escrow solutions scale very well in terms of, like, the interface that I want to see for prediction markets, which is I want a prediction market to be like, I go to a website for will Atlanta win the soccer game, and I see a Bitcoin address that says yes, they'll win the soccer game, and a Bitcoin address that has a label on it that says no, they won't win the soccer game.

2:30:18And then I can send money to either of those Bitcoin addresses. I just put money in them, let's say $10, and near the end of the game, or when the game is finished, I get more money out if I sent money to the right Bitcoin address. I can, like, withdraw money from it, withdraw more than I put in. That's kind of the interface that I want in prediction markets. And so I started trying to think of ways... Why can't... Why do DLCs not really let you do that, or at least not without changes?

2:30:53And the big reason is because the DLC contract, you have to specify who your counterparty is when you make the address. The address typically for a DLC is a 2-of-2 multisig with the two counterparties, in this case me and you. And then it has another condition, which is the revelation of a secret. And they use magic, zero knowledge stuff to do that part without adding any on-chain footprint. Or you can just use a 2-of-3 multisig and say the third piece of data is a signature by the oracle or the escrow, saying the money should go to this person or that person.

2:31:32But because you need, in a DLC, regardless of how you do it, you always need both parties' keys in there, the two people to the bet. You can't set up a Bitcoin address ahead of time that encodes the script because you don't know who your counterparty is ahead of time. If I just go to a website and say I want to bet on Atlanta, I don't know who's taking the other side of that bet. So for a while, one of the proposals in the DLC space was an attempt to make them compatible with the Lightning Network.

2:32:08And one of the ideas for how to make them compatible with the Lightning Network was to use something called a proxy. And this is an idea that I finally implemented that allows you to not have to know your counterparty in advance. Are you still there? I don't have your visual on me anymore since I'm on my cell phone.

2:32:25Vlad CosteaYeah, I'm listening.

2:32:26Super TestnetOkay, cool. So I didn't get dropped or anything. So the way that the proxy proposal was to make them compatible with the Lightning Network was that you would be making this bet not with your real counterparty or someone else who wants to bet against Atlanta.

2:32:46You'd actually be making it with a Lightning node who is on the path between you and whoever you're betting with, whoever your counterparty is in this bet. So your Lightning node would take the yes side in one contract and the no side in the other. And thus, if Atlanta wins, then in his contract with me, who's betting that Atlanta will win, the Lightning node loses money in that contract. But simultaneously, he also has a contract with my real counterparty. And his contract is the reverse there. So if Atlanta wins, the proxy, who's the Lightning node in between us, gets money.

2:33:30He gets however much money was at stake. And thus, really, even though we're technically betting with the Lightning node in between us, he's just forwarding the money between us using the Lightning protocol. And so we're not really betting with him because it's a wash for him. He gets the same amount of money either way. We're really betting with one another, with me and whoever it is on the other side. So this has been proposed for, I don't know, several years now. But I don't think anybody implemented it.

2:34:01So I did. I actually made an implementation of that. And it's on my GitHub, github.com slash supertestnet slash Aggeus, A-G-G-E-U-S, Aggeus. And yeah, that's the primary difference with this one is that, well, one of the differences is that I implement this proxy thing. But the other one is that I make it so that you don't actually have to know who your counterparty is in advance. And the way I do that is I make it so I use a technique from the ordinals world.

2:34:33In ordinals marketplaces, they use partially signed Bitcoin transactions, which the seller of an ordinal creates a signed Bitcoin transaction that says, you can have the ordinal as long as you pay me $50 or whatever it costs for that ordinal, for that piece of data. So I use that idea to say, well, if you can set up a trade where you've already signed the transaction and someone else just has to complete it if they want to be the counterparty in that trade, then I think I can make that interface that I talked about where you just send to a Bitcoin address because that means you can sign a transaction without knowing who your counterparty is.

2:35:17You can sign a transaction that lets someone take the other side of the trade without you needing to do anything more. You've already signed your part, and it's just up to them if they want to finish it. So I also implemented this idea, this thing from ordinals marketplaces. They call them PSBT auctions, but I did it for a DLC or a less fancy DLC. I didn't do the zero knowledge stuff that they do. Mine's more like an escrow situation where the oracle who's deciding who won the game acts as the third key.

2:35:49So you create a signed transaction that says the proxy can at any moment that he wants to enter into this contract with me. He can move my money from the address I sent it to into the DLC where then he gets money if he wins, or I get money if he loses. But of course, he doesn't want to do that immediately because he doesn't actually want to be in the trade. He's just trying to act as a proxy and find a counterparty for me. So what he does is he announces on a website that my trade is available, and he waits for someone to come along who wants to take the other side of this trade.

2:36:32If he finds someone, if someone comes along and says, I want to bet that Atlanta will lose the football game or the soccer game, then he signs another transaction with them that creates the reverse contract, the one where the proxy wins if Atlanta wins and my counterparty wins if Atlanta loses. And once he's signed that transaction and they're in their contract with one another, now he broadcasts the partially signed Bitcoin transaction that I created that puts me in the same contract. And as a result of this, we're now in the situation where we have a proxy, just like in the Lightning Network proposal, but it was non-interactive.

2:37:13I didn't have to be online for it because I already signed my part whenever I sent money to that Bitcoin address that I spoke of in the beginning.

2:37:23So yeah, that's the most of it. That's two-thirds of the protocol for this prediction market right there is just making it so that you can create offers without needing to know who your counterparty is in advance because you're using a proxy. And then the last section of this protocol, which I actually have not implemented yet, but there's a protocol description for it, is non-interactively selling your position, which is in Polymarket, which is, I think, a really good UX for doing stuff. I don't have to wait until the Atlanta game to exit my position.

2:38:00If, let's say, that Atlanta had a 40% chance of winning according to polls and such, when I entered the contract, if they rise to 60%, I should be able, and on Polymarket, I can take my money out. I can say I put in $100 on Atlanta, they went up in chances, and so I can leave before the game even happens with $120 because they went up by 20%, and so I get 20% more than I started out with. So the third part of my protocol implements, or if I actually did it in software, it would implement that as well and make it so that you can leave your contract with more money than you started out with before the game even happens.

2:38:49And the way I do that is, once again, with partially signed Bitcoin transactions. You sign a transaction that says, for your, what's his name, for the proxy, that says, if you will send me 20% more than I started out with, then you get the rest. You get the rest of the money in our contract, and you don't have to wait for the game to finish. You can just take the money. I sign a transaction that lets him do that, and we can do that because it's a 2-of-2 multisig.

2:39:20So as long as he has my signature, he can sign the other half. But of course, he doesn't want to do that immediately because if he did, he's still on the hook for my counterparty, and if Atlanta loses the game, he would lose more money than he gains, which is not what he wants. He wants to be a neutral third party in this thing. But once I've signed this thing saying, as long as I get 20% more than I started with, you can take the rest of the money in the contract, he looks for someone who's willing to do that.

2:39:49He says, there's a contract for sale. Someone wants to exit from their position in this marketplace, and they're basically willing to put 100. They currently have $100 in this contract. But as long as they get 120, you get the opportunity to win the remainder in this bet with this other person. And that means that someone who wants to get into this bet only has to supply $20, 20 additional dollars on top of the regular cost to enter the contract. And that might be worth it to them because if they buy into the contract now when Atlanta has a higher chance of winning because they went up by 20%, it would cost them more to do that, and they'd have to wait.

2:40:37They'd have to wait for someone to take the other side of their bet, whereas my contract is for sale right now at the current market rate. So they can just pay the extra $20 that gets me my position, and now they've got a position in this marketplace. And thus, I was able to exit non-interactively. I just made an offer, and someone then took it, and I didn't have to be online to finish it because of the PSBT auction because of the way they work. So, yeah, that's basically all three parts of the proposal.

2:41:05It allows you to recreate the experience of something like Polymarket, but natively on Bitcoin, using PSBT auctions and DLCs and this proxy thing that was proposed for Lightning DLCs. And I've implemented two-thirds of it on my GitHub, and the other part makes sense theoretically. And all of this is done without introducing any third-party blockchain that you have to use that has more smart contracting features, and the proxy never holds custody of any user funds. You're just using standard DLCs, or well, actually, not standard. I kind of modified those, too.

2:41:44But it could work with standard DLCs, except I just don't like all the ZK. It's difficult to implement them because of all the zero-knowledge proof stuff. But you could do it with a regular DLC. And so I think it's really cool. It's a prediction market, or at least theoretically, if someone wants to actually build a real-world version that can work just fine natively on Bitcoin. So I presented this at one of the conferences recently. I forget which ones I present all these things at, but I presented it at one of the conferences, and the YouTube video should be going out soon.

2:42:16And Paul Sztorc was there. And I have a story to tell about him, but perhaps you have questions before we get to the Paul Sztorc story.

2:42:23Vlad CosteaThat was actually going to be my follow-up, because the idea of doing prediction markets on Bitcoin has been tried before. It goes back to at least a decade ago, and Paul Sztorc was maybe the first big advocate for it, and he was trying to build the Hivemind, which I think initially was called Truthcoin. And I wanted to ask you if you got any feedback from him, first of all, and secondly, how your proposal for prediction markets, which I'm not sure if it has a name yet, but maybe it should have some geeky name.

2:42:55But how is it different from Hivemind?

2:43:01Super TestnetWell, I haven't read... So I went to Paul Sztorc at this conference. He didn't see my talk, but he was at the conference doing his own presentation. I think his presentation was about how Lightning sucks.

2:43:13Vlad CosteaYeah, I watched that on YouTube.

2:43:15Super TestnetOh, cool. So I went to talk to him after his talk, and I said, I came up with a way to do prediction markets. And he was like, "You're like the hundredth person who's come up with a way to do prediction markets. Tell me how yours is different."

2:43:26Or, no, he didn't say tell me how yours is different. He said, tell me how you solved the oracle problem. Do you know what the... Well, I should go over what the oracle problem is. Do you want to say what it is? Actually, you might have a better way of putting the oracle problem than I do.

2:43:38Vlad CosteaYeah, so basically, when you make this kind of bet, you have to agree on a third party, which is going to give the outcome. That's the oracle. Basically, the oracle tells you the truth, what really happened. We can both gamble on this match or bet on what the price of Bitcoin is going to be next week or something. We do need to agree on a trusted third party that's going to give us the information.

2:44:06Super TestnetRight. And he has to be trusted because what if he just always reports that Atlanta wins the game? If we're betting on an Atlanta game, and I tell him, hey, I'm betting on this Atlanta game, just no matter what happens, report that I won. That way, I get the money out of the Bitcoin contract or sign for me, sign a transaction that says Atlanta won so that I get the money. You could do that. And so you have to trust the oracle not to do that. And then the other thing they can do is they can participate in the market.

2:44:35Instead of colluding with other people, they can just start buying... Even if Atlanta is about to lose, they can buy a bunch of shares, a bunch of predictions saying that Atlanta is going to win and then report that they won and thus get all that money. So the oracle can do these things, and it's called the oracle problem because it's an unsolved problem is how to... How to ensure that the oracle you trust doesn't do that and doesn't cheat, doesn't do something like that and ruin the marketplace.

2:45:05So he asked me, "Don't tell me about the rest of your prediction market. Tell me specifically how you solved the oracle problem." And my eyes lit up and I didn't solve the oracle problem. I didn't know you could solve the oracle problem. I just said you have to have an honest oracle. And then I figured out the rest of everything. And he was like, "Well, that's everyone's problem, is no one's... Everyone's overlooking the fact that with Hivemind, I solved..." Speaking as Paul Sztorc, "I solved the oracle problem."

2:45:32Well, I've never even read the Hivemind white paper, so I have no idea how he solves it or if he solves it. But he showed he linked me to it, and it's like 80 pages of a lot of it's like advanced mathematics that I don't understand yet. He was showing me graphs and charts and things like, oh, it uses matrix math and multiplications, I don't know, and eigenvectors or eigenvalues or something. I don't know what those things are. So I did all this work making a protocol that can work on Bitcoin, and it turns out I was solving the wrong problem.

2:46:04I wasn't solving the oracle problem because I didn't know it was possible to solve that. But yeah, now I've got to read that paper and figure that out and then see if I can make an implementation of that. But the rest of it, I think I figured out. I think the protocol I came up with, which I call Aggeus, I think that can work. I think you can do it on Bitcoin and it'll work. So if anyone wants to get rich, go make it. Go read my protocol to check out my demo code and make a real version.

2:46:34And go and make a hundred million dollars or however much money Polymarket is making. Get after it, guys. It's all open source. Public domain.

2:46:43Vlad CosteaI guess there's also what you call this, don't be a dick, this principle where if you're using somebody else's open source code to get rich, remember about them, give them a small percentage of what you actually made.

2:46:58Super TestnetI make no such stipulation. But if you do make a million dollars, I would not mind a percentage, but I make no such stipulation that you'd be a dick or such if you don't.

2:47:10Vlad CosteaThis way you don't have to be the one who theoretically sends other people 5 Bitcoin to present their case. You're actually gonna be the one who receives 5 Bitcoin from someone who built on top of your open source code.

2:47:24Super TestnetI don't know. Usually, most of the time, I don't receive anything, but we'll see. Maybe a couple times I have. Maybe this would be one of those times. Anyway, I built out the protocol, built out demo code for two thirds of it. I haven't actually implemented the third part yet, which is the part where you can transfer your position before the game has actually happened. So I haven't implemented that, but it's very similar to the second part, which is where you create the PSBT. So yeah, it should work.

2:47:52I just haven't done it yet. Anyway, someone else should work on it too, and then I won't be the only one working on this thing. To that end, later today, I'm supposed to talk to the guy from Predyx, P-R-E-D-Y-X. I have an appointment to talk with him. He wants to learn more about my protocol. He's looking for a way to make Predyx, which is a Bitcoin prediction market that's custodial. He wants to make it non-custodial, and I said I think my ideas can help him get there.

2:48:18So I'm gonna be talking to him about it later today. But now you've all heard the scoop. You learned about it before him.

2:48:24Vlad CosteaYeah, and I hope this was good practice for you, to be able to explain it better.

2:48:28Super TestnetYep. Have you seen any questions about it?

2:48:34Vlad CosteaNot directly. There's someone who wants to know if you have any favorite mathematicians, cryptographers, or thought leaders in general that you think people would find interesting, dead or alive.

2:48:48Super TestnetMathematicians who I think people would find interesting, dead or alive. Robin Linus is interesting, and I think he's a cryptographer or mathematician, something along those lines. Let's check out his work. He does good stuff. Liam Eagen is another one. He's alive, and he does bulletproofs and stuff. So check out his work. I think he works at Alpen Labs now. Dead ones? I don't know. I don't really know a lot about the history of cryptography, or at least nothing much is coming to mind in that department. So no, I can't think of anything relevant to say about historical ones.

2:49:34Vlad CosteaThose are pretty good examples. Robin is brilliant. He's the creator of BitVM. Liam is also responsible for creating a bunch of interesting and smart ways to fix existing stuff. He's sort of a hero in the Monero community for improving bulletproofs. And he also has some contributions to other projects.

2:49:58Super TestnetRegarding that Robin Linus created BitVM, I also helped.

2:50:02Vlad CosteaYes, you should get credit for that.

2:50:06Super TestnetI think so. And Robin thinks so. We all think so.

2:50:11Vlad CosteaI remember at one point two years ago when I met you for the first time, you were saying that some BSV people invited you as soon as BitVM came out. So that you could argue in favor of Bitcoin being Turing complete, which is something that Craig Wright has been saying for many years now.

2:50:29Super TestnetYeah, I got on some sort of BSV podcast and did a lengthy interview with them going over this. Including the fact that it was some of Craig Wright's work that inspired me to work on BitVM before it existed, to work in that direction. There was a really smart guy, I forget what his name is, in the BSV community who used the new opcodes available in BSV. I guess they're not really new opcodes. The old opcodes like OP_CAT and stuff that Satoshi had put in the original Bitcoin implementation.

2:51:04He used those to create something called a Turing machine. One of the precursors to BitVM was me trying to recreate that using the opcodes that are available in Bitcoin script today, like the ones we still have after all the old ones got disabled. I recreated a lot of the work that BSV people were doing, but directly on Bitcoin, trying to recreate Turing machines and virtual computers and stuff. It was my work on that stuff that got Robin's attention, and then he realized that you could do this in an extensible way.

2:51:40You could make it so that you could have arbitrarily long computer programs. The stuff that I was doing was limited. It was limited by the size of Bitcoin scripts. The precursors to BitVM came from me trying to recreate BSV's technology. They thought that was very funny and cool. I think that's a cool part of the history of BitVM. In one way, it goes back to Craig Wright.

2:52:11Vlad CosteaWhen you think about it, this was a 2015 Las Vegas conference where Craig Wright was still entering the scene. He had not claimed that he's Satoshi yet, he was just quietly trying to get acquainted to everyone in Bitcoin. He was on a panel with Nick Szabo and Trace Mayer. Craig Wright was on the screen like The Wizard of Oz, and Trace Mayer and Nick Szabo were there in person. Craig Wright made this claim that Bitcoin is Turing complete, and Nick Szabo said no it's not. And then Craig Wright said I'll prove it to you, and Nick Szabo said, okay, write a paper and I'll read it when it's ready.

2:52:51Craig Wright never published that paper as far as I know, but it seems like you guys made an effort to prove him right.

2:53:03Super TestnetThere was a guy on the BSV blockchain who did a lot of experiments trying to prove that you could make Turing machines in Bitcoin scripts. And I thought they were valid proofs. I thought he proved you could do it if you had the old opcodes that got removed, like OP_CAT. But I also thought you could do it without those, and so I made several proofs of concept showing that, well, I think they demonstrated that it is possible to do it. They're just very limited in size because Bitcoin scripts can't be very big.

2:53:34They can be like four megabytes maximum, and even there, like the specific way that I did it is really inefficient. But then Robin Linus saw my work, and he was like, I know how to make it so they can be arbitrarily long. And the Lamport signature stuff, he taught me. And so I made some apps using Lamport signatures in my precursors to BitVM. But then he wrote a paper about how you can use them for arbitrarily long stuff, and thus BitVM became a thing. But yeah, a lot of it came from me trying to recreate stuff they've been doing in BSV for a few years now.

2:54:16Vlad CosteaYeah, this is actually a pretty cool piece of history. I hope that everyone who stuck around up until this point has caught this, because it's something that gives you credit for possibly the most important discovery that we've had in Bitcoin over the last five, six years. Maybe it's going to be the most powerful tool that we're going to be using to build significant improvements on Bitcoin without asking for permission to activate soft forks.

2:54:45Super TestnetI'm sure you can find a post by Gregory Maxwell in 2013 outlining how you can do all this. It just got overlooked for a long time. Or Jeremy Rubin, he probably talked about it in one of his advent calendar posts.

2:55:01Vlad CosteaYeah, it's possible, but nobody actually took the time to code this. Ideas were floating around, you can find a lot of ideas on BitcoinTalk. So next week I'm going to invite Jonathan from BitMEX Research, and he's also the author of The Block Size Wars. He also pointed out in a recent article that this spam debate was being had back in 2010 or something, with Satoshi and Hal Finney and a bunch of OGs were there. And the exact same arguments about CP and whatever were being presented by some concerned users.

2:55:38And it seems like every cycle we get a new subset, a new category of users. Of course, unfortunately, part of the mass adoption process is that I guess the arguments get dumbed down every time. If you look at how they were discussing stuff like improvements during The Block Size Wars, it was very intellectual and it was more respectful than it is today. I mean, the outcome was unfortunate, but at least these people were meeting at actual conferences called Scaling Bitcoin and presenting their proposals. And there was a lot of mutual respect, even if the outcome was not obvious or certain.

2:56:20And yeah, I just... We wish we had more of this as opposed to... No, I mean, we had more of that as opposed to this, which we have today, where people block each other, even though they have been friends for many years. And they just find themselves at different sides or on different sides of this debate for various reasons.

2:56:44Super TestnetFor a respectful take on this debate, I recommend reading the post, the thread on Nostr between myself and Aaron van Wirdum. So check that out. It'll be... I think it'll be in the show notes, or hopefully. But I got to go. I got to prepare to talk to the guy from Predyx. I think my meeting with him is in about 15 minutes. So I got to get my slide show ready and check my demo code, make sure it works. And yeah, this is a good time to...

2:57:10Vlad CosteaIf there's any way for people to follow you or something, like just promote.

2:57:15Super TestnetCheck out my... Check out my website, supertestnet.org. View all my projects there as well as my social media handles on Twitter. I'm at supertestnet, all one word, no underscores or spaces or anything. Same on Telegram. That's also me on Telegram. And on Nostr, I am Super Testnet with a space between them. So you can check me out on there. Search for supertestnet. And on GitHub, I'm supertestnet one word with no underscores or spaces or anything. So you can follow my work on my GitHub as well.

2:57:49Vlad CosteaYeah, before I close this, I just want to read this one, you know, this one comment without actually commenting on what it means. But this guy says, if you ever wanted to know why altcoins exist, it's because of situations like this. We are free to decide whether or not we want to mine, develop or send transactions in whatever coin we want. We don't have to be subject to any one person's ideas of what money is, how it should work, who should be able to participate it, etc.

2:58:21So, yeah, I think the lesson that we need to learn is that every time we are having this sort of infighting, there is an altcoin that's rising. Last time it was Ethereum. This time it's probably Zcash. So it's just how markets work.

2:58:42Super TestnetThank you all. See you later. Bye-bye.

2:58:44Vlad CosteaBye. And thank you all for being here and subscribing and liking and whatever. And thanks to the sponsors. I'll see you in the next one.

2:59:07[The published audio repeats the closing segment ("...every time we are having this sort of infighting" through "I'll see you in the next one") after a few seconds of silence; the repeat runs to 02:59:33 and is not transcribed again.]

← Back to the episode · All transcripts · Ask the Archive

0:000:00