TFTC: A Bitcoin Podcast - Tales from the Crypt #130: Jeremy Rubin

Episode Date: January 24, 2020

Join Marty as he sits down with Bitcoin Core contributor Jeremy Rubin to discuss: - MIT Digital Currency Initiative - Airdrops - OP_CHECKTEMPLATEVERIFY (BIP 119) - POWSWAP - Dev funding - Scaling - mu...ch more Follow Jeremy on Twitter Check out BIP 119 Shoutout to our sponsor: Cash App. Head over to the App Store or Google Play Store, download cash.app and start #stackingsats today. Use the promo code: "stackingsats" to receive $10 and contribute $10 to OWLS Lacrosse you download the app. Subscribe to our YouTube channel: tftc.tv Contribute to the show: https://tftc.io/contribute/

Transcript
Discussion (0)
Starting point is 00:00:00 Well, hey there, you beautiful freaks. What's going on this morning? I hope you're all having a great Friday or whatever day it is that you're listening to this podcast. It's your boy Marty Benk here to introduce this week's episode. Had the immense pleasure of sitting down with Jeremy Rubin, a Bitcoin core contributor who's been doing a massive amount of work in the Bitcoin space for quite a while now. Most recently, a few freaks have been paying attention, specifically in the last couple days, you'll notice that he officially got a BIP number for his Op Check Template Verify BIP, BIP number 119. When we recorded this last week, the number had not been assigned yet.
Starting point is 00:00:41 So when we're referring to Op CTV, this BIP wasn't created yet. So we talk a lot about BIP 119, which is out there now. We talk about Jeremy's past contributions to the Bitcoin core repository. He's a gentleman who likes to jump around from different areas of the code base. And he's not focused on one area, whether it be the Wallet GUI or P2P network or something like that. He likes to jump around. And to me, that's very fascinating. Somebody who is multifaceted and able to contribute to Bitcoin in many ways.
Starting point is 00:01:18 So we talked about, again, BIP-119, which just got assigned its number yesterday, I believe. We talked about PAL swap, POW swap, the on-chain hash rate derivatives. And we talked about dev incentives and funding devs and a bunch of other stuff. I think you guys are really going to enjoy this. I'm very, very happy that I was able to get Jeremy in the studio and have a conversation with him about all this stuff. You're going to learn a lot about BIP-119, which is hot in the news today. so very timely episode this episode of tales from the crypt is brought to you by the cash app all right freaks i hope you saw the new logo we collabed with the cash app design team uh to to
Starting point is 00:01:58 revamp the brand a little bit we're going to do that every six months uh they were really cool uh helping us and uh giving us some resources to be creative we like creativity here at tales from the crypt and as you know cash app is the simplest way to send and save money it's the simplest way to stack sats, and now it's the simplest way to grow your money. Introducing Cash App Investing. I like investing tools that only let you buy entire shares of stock. Cash App's going to let you... Did I say stock? I meant to say stonk. I'm sorry. Cash App's going to let you instantly invest as little or as much as you want into any stonk that you want. If you've got a favorite stonk out there and it's just a little too expensive, you can buy as little as $1,
Starting point is 00:02:35 right? You can stack slivers of stonks, slivers of shares, slivers of stonks, whatever tickles your fancy, all right? And because Cash App is directly connected to your bank account, there are no four to five day waiting periods all right you're going to be able to do that right away you can start investing today broker services are provided by cash app investing a subsidiary of square and member sipc and always remember you don't have to stack stonks if you don't want to it's just an option it's there stacking sats is still there too as well and it's still very easy and i bet they're going to make it even easier going forward as always when you sign up and use the code stacking sats that's one word s-t-a-c-k-i-n-g-s-a-t-s you're going to
Starting point is 00:03:11 get ten dollars and cash app is going to send ten dollars to our good friends at owls lacrosse owls lacrosse so download the cash app from the app store the google play store today enjoy this episode with jeremy rubin a lot of good things happening in bitcoin right now and jeremy is uh is one of the good things happening is uh op check template verify enjoy it freaks what is up freaks welcome back to tales from the crypt here third interview of the week it's been a big week for us i'm very excited for this one um i've been very excited for all my interviews this week but especially excited for this one because this is a man uh who's been contributing to the bitcoin core for
Starting point is 00:04:04 quite a while now and i've been watching from afar on twitter i've written about a lot of the stuff that he's been working on in the bent we've talked about some of it here on the podcast as well i'd like to introduce you freaks to jeremy room and jeremy welcome to the podcast yeah thanks for having me on really glad to be here thanks for coming man um again like i said i've been watching from afar for for years now it feels like on twitter uh i feel like i remember the early days of the mit digital currency initiative and you helped start that so i guess let's start there like how'd you get into bitcoin you've been contributing for quite a while now uh yeah i first heard about bitcoin back in 2011 i was uh doing an internship while i was in high school and doing
Starting point is 00:04:46 what interns sometimes do which is read hacker news i heard about bitcoin and you know i was like oh that's neat and then uh didn't pay too much attention until i got back to school you know the next fall and people were kind of using bitcoin to buy stuff online i was like oh that's actually cool people kind of use this stuff mind a little bit on my laptop and then like shut it off because it was running too hot and then ignored it until after my freshman year of college i kind of picked up again 2013 started looking at stuff and going this is actually cool yeah i imagine mit was a very interesting place to be at when uh when people were discovering bitcoin it had to be a cool scene yes and no uh so i got pretty into it i was pretty excited i had a few friends who
Starting point is 00:05:30 also thought it was kind of cool but at the institution level there really wasn't that excitement and across campus a lot of people just kind of ignored it and so i actually started a project to give all mit undergrads a hundred dollars a bitcoin i remember this and so uh you know it wasn't my bitcoin it was you know with the help of sponsors and stuff uh so we did that and then things got like a little bit more exciting and then that's where the dci came in as we were saying okay we've got all these people who are excited and fired up but then there's no classes and there's no research lab so the dci kind of served to be a common focal point for the community to go and you know do bitcoin research yeah then uh i forget i forget thank
Starting point is 00:06:10 god you mentioned the airdrop i forgot about that a little bit um what uh what do we learn from that airdrop how did the students end up using that um so there's a few papers that you can go check out from uh christian catalini who's one of the professors who we uh roped in to help this you understand what happened we did like a full-fledged uh you know irb approved study of what went on uh some of the results that we were able to show were kind of about how much people care about privacy and you know not that much but also uh we were able to show effects around like early adopters and systems that uh sort of uh delay early adopters from getting access uh those early adopters who get delayed just never want to adopt that you know sort of like hipster
Starting point is 00:06:55 if they only want to get in before it's cool once it's cool they're not going to get in yeah even if it's a good thing that they otherwise would have been interested in yeah that's the uh the funny thing about bitcoin everybody's like it's too late it's too late it's too late are we too late uh well depends on what that means uh it's uh i mean if you're expecting a thousand x return on you know bitcoin at this point i'm not a you know financial forecaster but that seems like a little bit aggressive uh i think if you're expecting bitcoin to do something useful for you it's better than ever you know it's more usable more liquidity on exchanges things like that more reliable so i think that bitcoin is maturing and growing into itself um so it's not too late
Starting point is 00:07:42 to become a bitcoin user but maybe it's too late to become a bitcoin billionaire or something like that yes i did very happy so that because uh it it does seem like everything is is getting more efficient more robust if you don't pay attention to the price it's something i try not to do and on this podcast and the newsletter i write just focus on the stuff that's being built and it seems like um there's some incredible stuff being built right now i saw peter will uh put something on the mailing list today about like an updated uh bip after all the reviews for bip taproot and all that yeah so there's been a lot of progress on various bips going on um and uh at a certain point when you feel like a bip is kind of mature enough and it's got enough general acknowledgement
Starting point is 00:08:28 you apply for a number so that the bip is kind of like okay here's like a reference that this is actually you know assigned but then that doesn't mean anything about you know if people have actually reviewed it it's just kind of a signifier that like hey people are actually legitimately thinking about adding this to bitcoin like it's kind of your social responsibility now to actually review this if you're a company relying on bitcoin at that point you kind of have to look um and that's the uh the message peterson today or the pr i made today uh well i can't speak for him you know what message he's sending um when it's still a draft that they're still opening for comments so it's not like you're saying prepare for this okay you're saying like hey we really
Starting point is 00:09:08 want to get feedback on this because most people have looked at this already so if you have you know any qualms or gripes um or things that you come up and review they're going to break an application for you uh this is a pretty important time to give that feedback because we're not it's not yet able to activate we haven't yet merged into core but or other implementations but that might happen um you know after this period people are pretty excited about it yeah for sure yeah so That's another thing you've been working on, scaling Bitcoin, trying to organize conferences and meetings for people to come and talk about how we can scale this technology. So how is, go back a little bit to your days at MIT, how much has it, like what was Bitcoin like back then where we're the clunkiest parts? Yeah, so the original scaling Bitcoin conference was September 2015 in Montreal, kind of like at the height of the block size wars or whatever you want to call them.
Starting point is 00:10:06 there was a lot of tension. Just getting people into the same room to have a conversation was an achievement in and of itself because that hadn't really happened before and we waited kind of too late until the point where people were really upset. So those days were pretty high pressure.
Starting point is 00:10:25 This past year, we had Scaling Bitcoin, I think the fifth or sixth one in Tel Aviv and it was a pretty nice time. There was a lot of really great work presented. there wasn't really this like controversy or pressure because i don't think that people were feeling the uh you know sort of like we have to act sort of thing it's like okay well what are the things that are in the pipeline that people are coming up with that we're going to be able to bring to the community it's like a little bit more of the vibe i think these days yeah i was
Starting point is 00:10:52 having a conversation yesterday i was like we almost needed to go through that tumultuous quote-unquote fork war or whatever block size war battle whatever people want to call it to sort of realize how one consensus is made and two it's probably makes sense to go slow um in my opinion yeah it's hard to say i think that there are still sort of like negative consequences that uh have ramifications today for what the culture looks like that are sort of uh scars and it's unclear that those scars are you know healthy but it's uh at least impressive for somebody looking in to see these scars and to see that Bitcoin can survive that sort of intense community drama. Yeah. So what do you want to jump into that a little further? What anything particularly,
Starting point is 00:11:39 any particular scars that you think? So generally, I think that I want Bitcoin to be able to support anyone who wants to use it and to support a wide and diverse sort of set of views and opinions. And I think Bitcoin, for the most part, can support that and can work in a framework where people really disagree. It's sort of like the, what's the famous quote that's like, to build a tolerant society, you can't tolerate intolerant people. And I forget who says that, but it's sort of a big philosophical debate of if you have to tolerate intolerant people. People certainly have that debate right now. it seems kind of uh you know important people argue about you know the left versus the right donald trump whatever um but in in bitcoin the the parallel would be uh do we tolerate people who
Starting point is 00:12:36 don't want to get full community consensus and what does it mean to have full community consensus and that's something that we talk about all the time there's you know mailing list posts of how should we know if enough people have agreed who can we ignore if one person says hey i want to keep on doing what i'm doing should the rest of the network grind to a halt for that person so i think i tweeted recently a good one that sometimes it feels like you have uh you know developers users miners and raspberry pi the raspberry pi foundation because it's sort of this straw man that everybody brings up of like can i run bitcoin core in sync to the network on a raspberry pi why is that a straw man it's sort of a straw man because raspberry pi is like
Starting point is 00:13:18 get better over time it's just sort of like what's the minimum hardware cost that you need to run a bitcoin node and it sort of uh you know begs the question of like well like why is why is this an important thing you just kind of arbitrarily pick something i can pick a laptop from like 10 years ago uh which is actually my like personal computer that's what i use uh and i can say i want to be able to run bitcoin core on this i think that there's some some value in that um but if somebody shows up with like something even worse than a raspberry pi we don't have a framework for saying like well we don't we don't really care so one of the things that happened recently is uh no one really uses like a 32-bit build of bitcoin we don't know any single person who's like actually
Starting point is 00:14:00 using this 32-bit build but we're spending all this developer effort to maintain 32-bit compatibility and to release these binaries so we stopped releasing the binaries for 32-bit builds because we figure nobody actually needs or uses them and we're just waiting to see if somebody shows up saying wait where's my updated build i don't have it i need it for this thing and it's like i kind of personally feel like if you have a 32-bit computer and you're trying to run bitcoin core you probably don't even have enough memory so like you you need a lot of ram to run like a real node saying that uh i think what you're limited to like four gigs of memory on a 32-bit computer saying that you're going to run bitcoin core in under four gigs of memory seems like a
Starting point is 00:14:42 little bit dicey yeah it seems uh well i'm not a hardware expert but it sounds four gigabytes of ram seems a little low yeah like people's cell phones have more ram than that so i mean i don't want to exclude somebody if they want to run in that environment and there's definitely use cases where it's like oh well actually the reason why we need to run in four gigs of ram is we're launching a satellite and we're using uh you know like tenfold redundant you know memory okay you know you have error correcting codes we need okay i can understand why you'd want to support that but still i think that uh this 32-bit support type thing it's not like that's not the set of people who i think matter too much um but it's not my job to say it's just like if you do actually
Starting point is 00:15:25 care that much then you can maintain the 32-bit stuff like it's not my job to do it yeah figure it out and so yeah i guess that's an interesting question i asked you since you've been around the uh the code base for so long like what do you feel responsible to to look at or review or comment on I don't know I think that the general philosophy of the project is scratch your own itch so it's like whatever is bothering me recently I've been looking a lot at the mempool if you're not familiar the mempool is the data structure in bitcoin that stores unconfirmed transactions and it helped miners figure out which transactions are profitable to include in the block so when you are trying to figure out like okay which block should I mine you go and consult the
Starting point is 00:16:08 mempool and it tells you things that are generally a high fee and then you include them and then you start mining on that block there are a lot of complexities in the mempool that i personally want to kind of fix and make it a little bit simpler a little bit more performant and remove some sort of denial of service measures over time if i can like fix some of these algorithmic quirks and are we segueing an object template verify here that could be a segue i can talk about you know other modules too this is just what i've been spending the last like couple weeks on um in terms of like core module okay but you know there's other things that that are you know fascinating topics too and rpc support um and uh uh general performance uh validation
Starting point is 00:16:56 all these modules are kind of important i would say the one thing that i don't really look at is like the graphical user interface because i don't really i don't know it's not it's not been something i've ever really used well that's why it's it's crazy that you're working on all these i'm always fascinated when i find uh the bitcoin developers i've spoken to over the years uh some are very focused on one part of the code base and others like hop around and the ones that hop around which seems to be uh your prerogative or not prerogative your uh modus operandi um it always fascinates me you can be focused on these different areas and switch mental frameworks to talk about this stuff yeah there's definitely um there's some people who you say like
Starting point is 00:17:38 hey what's going on in the mempool can you help me solve this problem they go oh i know nothing about that and you go well i thought you've been looking at this project for so long how do you you know how have you only looked at this part it's like well you you know this is what i'm interested in yeah no it's crazy and um so the one thing that i mentioned earlier op check template verify uh formerly known as op secure the bag um is an op code that you would uh like to get added to uh bitcoin and uh the way it's described is let me try and do this from memory a covenant template uh that does one very specific function or not one very specific function as a very specific template um that executes scripts within bitcoin transactions in a way um that is not
Starting point is 00:18:27 possible now um so before we get into object template verify um specifically i think we had to go uh go back a little bit in the history of bitcoin and talk about uh the op codes that existed in the past and why satoshi decided to uh moonlight a lot of them to disable a lot of them yeah so bitcoin transactions aren't just like 10 standard things that you can do there's actually an entire programming language inside of every Bitcoin output. And the script that you write determines who can spend the coin. A script is composed of a sequence of operations, and they manipulate some pieces of data that you've passed in and determine if the transaction that you're trying to get approved should
Starting point is 00:19:13 be approved and is authorized by that script. There previously were several opcodes that had essentially subtle behavior or bugs. And the combination of subtle behavior or bugs could actually grind the network to a halt and break Bitcoin. So one of them that was disabled early on was this one called OpVer. People don't talk about this one too much because it's kind of not even desirable to reintroduce, but Opver literally asked inside of a script, what version of a client am I running on?
Starting point is 00:19:50 So you could imagine that you write a script that says, if I'm running on version A, then it's Alice's coin, and if I'm running on version B, then it's Bob's coin. It's their key and it's their coin. And if you were to write that and then you were to spend on one side of the network with Alice's, and on the other side of the network with Bob's, then those transactions would be incompatible. So one would think that it's valid, the other would think it's invalid, because you have this commitment to the version, and the client version is not a consensus parameter.
Starting point is 00:20:20 So you'd split the network? You would split the network. Okay. So that one's kind of a no-brainer, that this is a problem. There are others that are a little bit more subtle of where there lies a problem, and there's not really necessarily a known problem, it just seems like maybe there's a bug. And then there are ones that there is a problem that we know about, like OpCat, which people actually really want to reintroduce for various reasons or reintroduce something similar. What OpCat does is it takes two pieces of data and it joins them together.
Starting point is 00:20:52 So you are taking, you know, let's say the piece of data that says ABC, the piece of data that says DEF, and then you add it to get one piece of data that says ABCDEF. the issue with that is that there also happened to be another op code called op dupe and that means duplicate so let's say you had a piece of data abc you call op dupe now you have a piece of data abc and another piece of data abc so what a crafty programmer could do was call a sequence of op dupe op cat op dupe op cat op dupe op cat and keep on doing that i think up to like 200 times in a script and it turns out if you start with a single byte and then you double it you get two bytes you double that you get four bytes eight bytes 16 bytes 32 bytes 64 bytes 128 bytes 256 and eventually this can grow actually to like requiring an unlimited amount basically of ram on
Starting point is 00:21:46 the computer to to process this transaction and that would also like shut down everyone's node if you put a transaction like that on the network yeah that would uh it would be a bad denial of service attack or yeah so it's actually it's not the worst i would in my personal opinion i would say that a hard fork is like maybe like worse because this is the network shuts down so it's a liveness issue rather than a consistency issue you kind of pick which properties you care about more i think if the network were to just shut down you could reboot it and then write a new rule but if the network were to fork and people couldn't agree on which one was the legitimate one that would be a bit more of a problem i think i agree with you there um it would be terrible if uh if
Starting point is 00:22:31 the uptime uh percentage fell below 99 but um i think that's definitely preferable to uh a hard fork and confusion that would that would cause much more confusion and going back to like opcat so i have no idea i'm just like so being able to add those two things those two pieces of data was that something like two people enter in a covenant and one wins like uh is it like a contract in which two people put money in and gets all of it so no you would you would actually just have uh like a output that you create that doesn't even necessarily have any keys attached to it it just says like okay you have to evaluate the script to see if you can spend it and then you would put that into a block they would be validating that that block was valid with that
Starting point is 00:23:17 output and then it would like concatenate all this stuff together and make this huge amount of memory and then your node would crash okay um so it doesn't it's not even like a coin that you would be able to spend interesting interesting what a coin that you'd be able to spend necessarily were um you know uh were there to be a key there that you could reach yeah yeah so this is again opcode scared the shit out of people at least from what i uh what i have observed um they're a bit taboo to to approach so when i saw people reacting to op check template verify very positively i piqued my interest a lot why do you think people are interested in a op called ctv now for simplicity so op ctv is a special type of op code that is called an op nop upgrade so in bitcoin
Starting point is 00:24:06 there are various operations that don't do anything at all and there is a paradigm that's been used in the past for check sequence verify or check lock time verify where what you say is we're a no op this no operation thing but now we're going to verify some additional property but to somebody who doesn't know about this additional check we the actual execution of the program looks the same and this works as a trick because if a transaction is invalid you can't include it in a block and so for the most part old clients will see these blocks that have things that look like they're not checking as much as they are but the block is still valid whereas new clients are enforcing some additional rule interesting so part of why
Starting point is 00:24:48 check template verify is less scary is because it's using this opnop verify semantics and so the result is that you can only ever unless there's like a fundamental bug you can only ever reject transactions that previously you would have accepted okay so that's why it's a little bit less scary whereas it's not like you've now created a transaction that will brick the network in some way okay um people are excited about it though not just because it's like okay it's not super dangerous but people are excited about it because of what's what it lets them do yes let's talk about uh how it's going to allow bigger economic users on the network to be more efficient uh congestion control is something that looks very fascinating to me yeah so right
Starting point is 00:25:34 now in bitcoin if you wanted to let's say do payroll for a company with 10 000 employees what sort of solutions might you look to which is what exists today well you can make 10 000 transactions that's going to cost you quite a lot and you might get into a weird state where you've paid half your employees and the other half are still waiting for their paycheck and that's not really quite great you could do batching which is where you make a single transaction that has all those outputs but now you have the kind of problem that well now everyone gets paid or no one gets paid and because it's a big batch with 10 000 outputs it's kind of likely that nobody gets paid unless you're paying a really really high amount of fee um another thing
Starting point is 00:26:20 you could look to is like the lightning network but now we're talking about a paycheck and so we're talking about money that has been like kind of earned and needs to be remitted to somebody in their complete control uh and in the lightning network context that would impose that it a company trying to pay through like network you have to like have your whole salary collateralized and so i'm just not sure where that liquidity for that collateral and the lightning network would be coming from for things like a paycheck for things like coffee and and you know a bagel like i can understand how like these back and forths are going to balance out over time and you can top them up every now and again using loop or something like that but for something like a paycheck that
Starting point is 00:26:57 feels a little bit different. So this is where Check Template Verify I think can help. One thing that you can do is you can take a batch payment that has like 10,000 outputs and you can turn it into a tree of transactions, and then anyone can look at the original first transaction of that tree, kind of like the root transaction, and then they can verify that at some point they can pull out a UTXO for themselves. And what that lets you do is that lets you decongest the network. So if there's a lot of transactions in the mempool and it's high fee,
Starting point is 00:27:30 all you need to do is a transaction with a single output and then everybody can check that they actually got paid. And then at some time later when fees go down, you can actually pull out your money and get paid. Yeah, that's fascinating. So let's talk about the tree of transactions it creates. They're conditional, right? It's like if the fee market is what the conditions are,
Starting point is 00:27:52 if the mempool is. so there's no there's no condition or logic necessarily baked into this tree the idea would be that when you are ready to spend all these transactions have either like a minimal or zero fee in them you do child pays for parent which means that on your spending transaction you specify enough fee for the entire part of the tree that you're broadcasting and as uh you know the tree is structured that means that if there's n people it's only log n amount of data and so logarithms grow very very slowly so it's not that much data you can do out the you know sort of math and numbers and it's it's not very large yeah and so how hard uh would it like what what are the
Starting point is 00:28:36 processes of these big economic players going to be like if up ctv gets implemented and they're able to use it like is there going to be a gui we're going to be like so this this and that or yeah uh interestingly kind of a quirk of like how unconfirmed transactions work already i kind of suspect that a lot of wallets will be able to natively handle op ctv without any additional work it'll just be kind of like not a great user experience uh because it will show like you have all these things that are unconfirmed that you're depending on for this transaction and those unconfirmed things look like they're not having any script in them so they could just be replaced by somebody else but then if you make a small upgrade to the wallet to say okay well trace
Starting point is 00:29:20 through the parents of that unconfirmed transaction then you'd be able to see oh these ones are all op ctv op ctv op ctv which confirms that your payment is going to make its way through and so this simple covenant which says like yes pay these five people and then those five people expand to pay another five transactions and five transactions or however many until it gets to your node that will give your wallet the proof and so they need a small upgrade to make that work and then um to figure out how to pay fees appropriately um that that would make it a relatively good experience until that happens what i would expect is that exchanges would take the burden of responsibility for expanding these trees and they would use it as sort of opportunistic scheduling
Starting point is 00:30:03 where they would say we're willing to create all these outputs right now for uh this fee rate and for a higher fee rate we'll defer creating them but less overall fee so we'll give you this big transaction that is paying let's let's say like a hundred dollars and creating all of our all of our hundred outputs a dollar per output or we'll give you five dollars to create one output and if you're a miner and you're trying to fit in a lot of transactions the five dollars for one output it might be more appealing unless you run out of things that are you know competitive and then for the ones that are further down in the tree because you're willing to now wait for these ones a little bit more maybe you're only going to offer like 10 cents per output and so
Starting point is 00:30:53 your total spend in that case 10 cents per output for 100 outputs would be $10 plus $5 $15 rather than spending $100 up front those aren't exact numbers for what it would be but there is some evidence that suggests it's about savings like that that's pretty massive um if that's what it comes out to be and so focusing on these congestion uh control stuff so do would the workers within this covenant like sort of say hey i'm willing to wait longer or they have access right away but they can't move the coins uh yeah so every user could know that they have these coins and if they're willing to pay a high enough fee they could they could pull their money out okay that's what it is you pay you okay so child pays for parent yeah and then you can get it out faster
Starting point is 00:31:37 all right yeah so so fundamentally what opc tv is saying is you're fixing all the details of the transaction um so that you know that the outputs that you wanted will get created okay um and that's the only way that that coin can get spent is to create the outputs that you said that you wanted to create so it's kind of like if you imagine that you had a pre-signed transaction that you said okay i'm going to sign some transaction for my wallet but i'm not going to broadcast it yet and well you can you can always double spend that right but if you imagine that you had a way to say but now i can't double spend it because i deleted that key ctv is equivalent to that but you don't need a proof that you deleted that key because you can never prove
Starting point is 00:32:14 that you deleted something yeah no incredible i uh thank you for coming and explaining this to me i have a much better understanding though yeah of course and you know that's not all that happens with ctv i think it's something that this is sort of like the base case that kind of like explains the intuition but you can kind of put this inside of other protocols as well then you get benefits there as well like lightning and payment pool type things um various other smart contracts you can make wallet vaults and it just sort of opens the door but this is like the sort of uh base case to understand before the other stuff yeah let's jump into the wallet vaults that's something you you're saying the chainco guys are excited about uh yeah i mean i won't
Starting point is 00:32:55 you know speak for them but i was hanging out in their office this week um and they were saying why are you talking about all this batching stuff and congestion control we think vaults are cool and i go well yeah i mean i think they're cool too that's why i've been working on them but i thought this is like the kind of prime use case but maybe i'll talk more about vaults now um and so fundamentally a vault is like uh i i like the idea because it kind of respects the one of these phrases of bitcoin which is be your own bank which i take to mean provide yourself real financial services not just like oh you've you know like you no one's going to issue currency it's like no you're going to actually give yourself financial services you're going to run a lightning wallet
Starting point is 00:33:36 and you're going to be routing and you're going to be a payment provider and you're going to you know make your own vaults for like secure deposits and withdrawals and all this sort of stuff so that's kind of like one of these phrases i really like for bitcoin and vaults are something that you can build using ctv which let you structure sort of like uh allowances or like annuities where you say i've got my bitcoin in cold storage and i want to from cold storage which i like can't easily get to withdraw like uh one bitcoin a month let's say and then at any point if you're like my cell phone got stolen which is where i was putting my bitcoin onto every month and topping up what do i do you can actually stop that withdrawal program which is kind of cool so rather than
Starting point is 00:34:15 saying i want to access my cold storage once a year i'm going to put 12 bitcoin on my phone you say i'm going to access my uh or i'm going to access my cold storage 12 times a year what you say is i'm going to ask someone one time a year i'm going to set up a program which moves it onto my phone in one month increments and if i notice that my phone gets stolen then i will stop that program and i will send the funds back into my cold storage so using ctv you initiate the transaction and that has a bunch of other transactions below it that then say hey send it at this block send it at this block send it at this block exactly yeah and um and then so this and then vaults if somebody does get your phone and then they
Starting point is 00:34:59 do send a transaction from it a vault dictates that there's a a period with which that trend a block a time a period of blocks with which you have to initiate another transaction yeah you're using relative time locks so that you say any time an action is taken you have a timeout and there's a default action so before the actual action happens which is like them getting your funds you have to make it wait maybe like 10 blocks and you can sneak in a transaction that sends it back to your cold storage before that yeah so it kind of gives you this the one way of thinking of it is uh an undoable transaction which is kind of like why would you want that but imagine like undo send in gmail um when you send an email and you're like oh i've got a typo
Starting point is 00:35:42 or i accidentally you know called my boss a mean name and i should erase that um as we've all maybe done um and then what you could do is you could say oh wait take it back so like let's say that you send funds to an address that you're like i'm not sure if this is the right person and then they and say hey that was not the right address this is not one that we can spend from you can give yourself a limited amount of time to click okay broadcast a transaction that sends it back now you can't guarantee that that transaction goes through or claiming it but that's sort of like the intuition for what this vault mechanism is doing is it's giving you a pathway of saying undo this ongoing transfer to my phone which i think you know if you're going to be able to
Starting point is 00:36:23 securely access your cold storage and that's not a concern for you and you don't mind going to you know five safety deposit boxes and building one of these partially signed bitcoin transactions at each one then maybe that's better but if you kind of want to have like a nice user experience where you're like going once a year you want to live your life you want to live your life then you can kind of set this up and it's actually i think uh you know it respects like what are people actually going to do they're actually just going to have their allowance in its entirety on their phone but they'd be much better off setting it up as like a structure with their you know burn rate And this applies for like, you know, everyday users. It also applies for exchanges moving between cold and hot wallet. You can also imagine doing this for inheritance that you set up for your trust fund kids like, hey, I don't want this money to corrupt you. You are inheriting all my Bitcoin, but I'm only going to let you spend a tenth of a Bitcoin a month.
Starting point is 00:37:20 and this is going to make sure that you know you've got your rent taken care of uh but it's not going to uh you know let you drive around ferraris on the moon unless bitcoin goes up a lot and you're not blowing these sats on cocaine and booze children yeah hopefully hopefully we hope not i hope it's so i think that's where it's like kind of cool um it's very cool and that's not something that you can really do today in in bitcoin no um and it's it's like thinking of it So story time here, freaks. I believe it was like 2014, 2015. I accidentally was being a careless Bitcoin user,
Starting point is 00:37:57 and I accidentally pasted an address that I'd used before. I was trying to send a cold storage. I actually wound up sending to an address that belonged to a merchant that I'd used before that. And luckily, the merchant was so kind to send it back. i'd email and be like hey i just sent you a bitcoin accidentally that sounds like a scam like you like you would send them like hey i accidentally say there's bitcoin that's still in the mempool and then you've replaced by fiat and then like they sent you different coins back
Starting point is 00:38:27 or something like that yeah well this this got confirmed so i was asking back for like a confirmed transaction they had possession of at this point and luckily they sent it back but a vault would have been much more preferable than having to rely on the person the merchant responding to my email being kind enough to actually send me back the satoshis yeah definitely yeah and so like what what do you think a timeline for this would be if you had to put one on it well i'm having a workshop february 1st in san francisco so definitely uh you can find information on that workshop on my twitter or on utxos.org um so i'm hoping people will come to that and uh do a lot a review. It's feeling like general, you know, consensus among developers that this is an okay
Starting point is 00:39:13 design. There might be some tweaks that need to happen for people to be fully happy, but people are evaluating use cases that they're interested in and making sure that this, you know, does the job and that we're not introducing some other, you know, unintended behaviors. So I think we're getting to the point where you know maybe this year we can uh see it merge and available if miners signal for it activating if we use version bits as the activation mechanism i can't you know i don't have merge rights on bitcoin core so or any implementation for that matter um so i can't be like hey it's out there but i think that's where it's sort of a community thing is that people need to go and look and say if this is a good change like they should start vocalizing
Starting point is 00:39:57 that and that's going to drive adoption and sort of integration a little bit faster yeah no i agree and i think uh adding to uh the difference of bitcoin development back in the early days when you were at mit and now that's what's been very uh comforting to see is things like the the biptap review sessions that were going on and i'd never seen something like that uh around a bit until anthony towns took the reins there you throwing a workshop um uh for op ctv to get people interested in learning about it and uh it just seems like things are more organized for this distributed software project these days uh yeah i think one of the things that uh you know i've been thinking about is like where is like the like project management and like what does that mean
Starting point is 00:40:49 for bitcoin and i think one thing that's unique is it's really just the community it's like what is the community want where are people's priorities what's moving the needle for them um and as a result it's not like there's like a top-down decision on what's getting done and it's just like what do people care about yeah no and it's it's been beautiful to see uh everybody come together and uh just weirdly organized naturally again like i said i've been like watching you on twitter from far for like years now it's crazy to meet you in person and honestly like this op ctv and we'll definitely talk about pow swap these are pretty freaking crazy uh things if they get implemented and used by people yeah i'm a little stretched for time
Starting point is 00:41:34 there's like too much too much going on i need to find a way to scale myself a little bit i guess before i can scale all these projects yeah what uh how do you how do you search for help on this do you have uh like a a team of people that help review or go to uh i i wish i had a team of people to help review like that's part of why i'm out here at chain code is uh visiting to get them to take a look at my stuff and kind of pull their ears uh and they've been really gracious hosting me um the sort of general shape of the ecosystem i think uh it's difficult to get uh no strings funding for doing the work that you want to do um so i'm that's something that i'm actively you know exploring of right now i've got some research grants from some generous you know
Starting point is 00:42:23 individuals in the community that are helping me do this um but it doesn't necessarily feel like super sustainable for myself um i am also uh you know sort of saying okay well i'm working by myself on all these things i've got a lot of great stuff going on if i could work with other people and have the you know capital available to pay other people to work on this uh that would move this much faster and it's sort of a you know i think i've been speculating of like what would bitcoin look like if you know default wallets just said yeah you pay a tax to a you know development an organization once a year and you can opt it out if you want to it's not like a part of the protocol it's just like this is the expectation of the community that you should be investing one
Starting point is 00:43:08 percent it's sort of one of these weird you know you know nash problems where if everybody else is donating one percent you don't need to but if you think about what is one percent of bitcoin's market cap well the problem after that is how do you distribute that one percent distributing is hard so i think that you know ignoring ignoring those challenges what i'm just saying is like think about what it would mean for bitcoin if one percent of the market cap went to development every year what's one percent that's a billion dollars right so we're talking about a billion dollars going into it's probably more i don't know what's the market cap right now i don't follow that stuff um right now we're at like we've got to be around 160 bill i would say okay so we're
Starting point is 00:43:48 talking about one to two billion dollars that would just be funding protocol research and development like that maybe is even too aggressive what if we did a tenth of a percent right okay now we're talking about like 100 to 200 million dollars just to fund protocol development and that doesn't really even exist right now it's kind of crazy we're talking about a minuscule amount of burn that people will be having and if you hold bitcoin and let's imagine that you know we don't have this nash equilibrium selfishness to worry about like how much more valuable do you think bitcoin would be if we had 200 million dollars a year going into bitcoin research and development and hiring developers i think it's coming though are you not uh encouraged by like
Starting point is 00:44:29 chain codes of the world uh square crypto uh digital garage it seems like more popping up and i think uh those guys do have to leave because again i think the distribution problem is just a whole governance social scalability headache that's not worth it but i do think the funding needs to be there and i think hopefully more people follow and square and chain codes yes i think that this comes down to the uh sort of like distribution issue that you're looking at is that we have a couple organizations but it's still relatively centralized and i think that i just want to see a lot more of it a lot more development foundations things like that um rich bitcoiners get on it well that's one thing actually we're we're trying to do here we're 25 of the sales
Starting point is 00:45:15 and some of our merch is going to BTC Pay's server. Hopefully, I mean, we're a small, humble little operation now. I would like to contribute more, but no, I do feel that need as somebody who's been in Bitcoin for a while to definitely donate back. And BTC Pay is what we chose recently, but I would love to contribute to a fund helping core developers directly. Yeah, it's definitely something that I've been thinking of and toying with what's my plan for my future as a developer?
Starting point is 00:45:46 How is it going to be something that I keep on doing versus having to turn away to work on something profitable? Well, I will definitely hit the road campaigning for you. I'll let you know when something's happening. I can tell you that. I'm confident people would step up for you too. I think your review of the code and your attention to Bitcoin over the years
Starting point is 00:46:11 is uh is unmatched by a lot of people most people in the world obviously um and it would probably not be advantageous to lose your attention on the project i i would imagine thanks i appreciate that yeah um yeah but like so that's like yeah the funding problem i think it is getting better um what do you think about like the pace of bitcoin like so we've talked about it's definitely gotten better it's getting more efficient but like do you think uh the project's moving too slow too fast uh just right it feels like the project can be like a little bit fragmented um and it feels like there can be trouble sort of like prioritizing on um like big projects so taproot and like ctv these are the big like features development but this is
Starting point is 00:47:01 maybe more like the nitty-gritty of uh improving modules in the code that that aren't you know feature-oriented. An example is I was doing some work on the mempool before I came out for this trip, that I was trying to get reviewed on this trip, and somebody else opened a new pull request for something else in the mempool. And it was just kind of a refactoring, but it was going to make me have to spend several hours if it got merged right before I came out, and I was trying to get all this stuff done before I came out.
Starting point is 00:47:31 So I was like, hey, can you just not merge this before I come out, because I don't want to spend half a day like working on rebasing this because I'm trying to get these things together and they're like okay I'll try not to but then it got merged and then it's like okay well like I'm working on this thing which is like actually like a major performance improvement for the mempool which has implications not just in mining but also during like reorgs during block validation and now I'm wasting another half day to change the name of some variables like there's sort of like can be uh fragmentation because there's not like a project project manager who is looking down and saying what is every person working on what are their priorities what are
Starting point is 00:48:16 the overall sort of like movement of the project what things do we need to emphasize where should we be directing review it's very much decentralized scratch your own itch and i think that that's like a virtue you know people are always upset congress is so slow to pass bills but that's like by design so it's not necessarily bad that bitcoin is inefficient in this way but it does impose a very heavy burden on developers who just get frustrated everyone i talk to quits for several months at a time and then comes back they go yeah i just got so frustrated i couldn't work on it anymore and that's difficult because how do you support developers when their emotional state is such that like most of the developers i know take several month breaks
Starting point is 00:48:55 because they're so frustrated that they can't get progress on their things not only are you losing those couple months of time you're losing those developers and like people are like not happy so i think that that's like something that i that i really care to try and fix but it's hard to figure out how you can do that with respecting bitcoin's value system yeah no i can't i can't imagine how frustrating that must be to like work on something for so long and like somebody else working on it not even unbeknownst to you on another side of the planet merges it and fucks up all the work He just did. I'm not,
Starting point is 00:49:30 if you're listening, I'm not angry at you for making that, you know, I'm glad that like, it's also this happy thing where like, yes, things got merged, you know,
Starting point is 00:49:38 like things getting merged is like good, but it's just like helps if, you know, it doesn't feel like it invalidates what you're trying to do. Yeah. But are these just necessary, uh, growing pains?
Starting point is 00:49:49 Uh, maybe, you know, it'll get better. Um, so yeah. Well, well,
Starting point is 00:49:55 it also limits how quickly it can grow. That's the thing is that, i know some really brilliant developers who came in to try to work on bitcoin and they were really excited and their contributions day one were phenomenal and they left because they were like this is just too frustrating so if it's growing pains you know maybe but it's also the type of thing that i think we could be growing more efficiently yeah i totally agree i mean limit developer frustration should be a goal right common sense overall people are doing great work on this though like um i know uh jonathan newberry is doing a lot of really good work um
Starting point is 00:50:33 he just sent out a survey to some contributors kind of asking like what what's going on you were a good contributor like are you happy with how it's felt like what could change and i think that that's important work to kind of figure out what we can do to improve ourselves so it's not like people don't care about this it's just like the state of affairs right now is it's not you know not lots and lots of happy developers yeah well if you're a bitcoin developer listening out there thank you for what you do thank you for going through all that frustration and that hard work you you're working on something that i believe uh is extremely worthwhile potentially not potentially i think it is one of the most important technologies of our day so thank you
Starting point is 00:51:11 uh for fighting through that frustration and if you haven't been able to fight through that frustration you're sitting on the sidelines now enjoy your rest get that mental rest but another big contention not contention another big topic that causes contention which I was actually happy to see brought up this week too it's been a big week for development was activation routes and this is probably the best softball to start the activation conversation with is Matt Corallo's big consensus cleanup and so we were talking we touched on this earlier with how do you get things activated how do you do this right i think his proposal for this particular uh bit makes sense it's bit nine 95 uh threshold within a year if that fails you go back to six
Starting point is 00:52:00 months of review why it failed and then you do a bit eight uh yeah so i actually um 80 i've got some opinions here let's let's hear them uh so if you go in that post or search on youtube um like Stanford Blockchain Conference 19 or 18 or something, I have a talk called SPORK, and it stands for sort of probably a fork. It's a probabilistic forking mechanism for Bitcoin where you can change the rules only if a block passes an additional proof-of-work filter.
Starting point is 00:52:33 So if you make a valid block that passes proof-of-work, you'd have to grind for another six months of those blocks in order to find one that activates the new rule. This is a weird rule. But what's interesting is it has some properties that you can take a look at that are kind of cool in terms of who has influence when and where and what that means for mining. Now, that mechanism is not ready to roll out, and I'm not advocating for it. But why I think that talk is actually worth watching, and maybe just looking at the slides for everyone, is the analysis that I do of that mechanism is compelling in its favor, and it's really surprising. this is why I recommend that you watch the talk
Starting point is 00:53:14 because if you just look at the slides you're not going to get the nuance of how weird it is but if you imagine if I'm a miner and I'm going to see a small decrease in revenue after a change for some reason I'm going to see a small decrease in revenue
Starting point is 00:53:30 this is actually the case where I would be opposed to this change if the fork activates sooner I'm actually less opposed than if it activates later so if i can delay a fork for up to three years if you think about it i'm going to delay it for as long as i can that's kind of the intuition if it activates sooner it's actually a band-aid ripped and it's not as bad and so there can kind of be these counterintuitive uh you know facets of like minor behavior where yeah decreasing minor profitability is bad but
Starting point is 00:54:11 also it's bad if we can't get protocol changes through and what we're doing is we're essentially with the current structure that's kind of being proposed we are allowing miners to be sort of like personally selfish at cost to the entire ecosystem and you can model basically and i do this in spork and those sort of protocol models can be adapted to other activation mechanisms it actually ends up kind of being better for everyone if things just get activated and go through that um you know other miners may become even more profitable and if you think about what's good for the bitcoin ecosystem health having more miners become more profitable is actually good um even if maybe one miner gets slightly disadvantaged now there's sort of an issue around
Starting point is 00:54:59 like how do we pick winners and losers we don't want to do that but that's where in this model that I come up with which is there are opportunities to reject forks if they're seen as like obtrusive among the miners and miners generally would reject something that seems to be unfairly picking winners and losers if it's just like kind of a virtue of like yeah this is a protocol change that we need to do to fix a bug but for some miners it disadvantages them and we know of things that are like this like the time warp bug miners can exploit time warp bugs to make more profit but no miners doing it because it's bad for the ecosystem if somebody wanted to be doing it would we really delay activation of that soft fork
Starting point is 00:55:36 so that they can continue making money off of a bug? No, we would make the change and we'd rip the bandaid and get it done. And so I think that that's where modeling some of these things and actually thinking about what revenue are we protecting and which revenues do miners actually care about is kind of a worthwhile exercise.
Starting point is 00:55:52 Yeah, how much of it depends on the nuance of the particular merge, right? Like, so with the big consensus cleanup, Matt seems to think that it's pretty it's just taking away stuff it's not really contentious right so the miners have no reason delay it taking away stuff is more contentious yeah so I don't remember the exact rules but there are a couple of rules that I'm not super happy with yeah there's one there's one thing where there's an address structure that may become unspendable or something
Starting point is 00:56:22 like that or yeah with like code separators or yeah it's one of these things where like we don't really know but those things could be inside of pdshs that haven't been revealed and maybe somebody has some buggy wallet that they wrote maybe even satoshi's you know coins are i don't think they are but it's one of these things where i'm just kind of uncomfortable um with setting that precedent that we're like hey people don't really seem to be using segwit v0 anymore let's just disable it it's like well what if your funds are still there yeah uh and that's a very more aggressive example because this code separator thing people aren't really ever using but i think that it's just like i don't like the precedent that much
Starting point is 00:57:04 and i also i i think that there's this trade-off that matt's making which is we know that we want to do all these things kind of so why don't we just do them all at once and then there's the flip side of like let people pick and choose which things that they want independently don't make things that don't need to be correlated correlated right so like changing fixing the time warp attack has nothing to do with fixing the code separator stuff those are two independent things so why are we telling the community that they have to come at the same time um i i would like to see i think most of the consensus cleanup happen and i think that it really is a cleanup like it's not like you said it's taking stuff away but taking stuff away you know like that can you know like the
Starting point is 00:57:52 endowment effect so if I were to ask you if you wanted to buy my like pen how much would you buy it for as low as possible yeah like it's a big pen and I'm like hey like you want to buy my pen 50 cents 50 cents okay so now somebody walks through the room and gives you a pen a big pen and i say hey can i buy that pen from you how much does it cost at least 50 cents well no i mean like what people oh i know i have a pen you have a pen i already have a pen it's your pen and i'm like i want that pen give me a quarter a quarter okay well you're just a nice guy but what the literature shows is that generally like once people have something they really like don't want to give it away even if when they are asked if they want to purchase it they don't think it's they don't
Starting point is 00:58:47 think it's worth anything yeah so it's they've done you know psychologists and economists have done this experiment that like yeah things are kind of sticky like people just like the one that they have even if like conceivably they could buy another one or uh they wouldn't personally pay that much for it now that they have it it's an emotional attachment yeah and and it's one of like small like you know almost irrationalities that that that people look at and i think that's where uh these sort of things come from of like oh well you're taking away this thing that i used to be able to maybe do something with at one point if i came up with something clever enough yeah it was like asic boost right covert asic boost that was yeah oh we're gonna take away
Starting point is 00:59:29 asic boost but i have it yeah and we haven't yet maybe deploy it that widely but we were going to to make more money and you can't really take it away if we have it yeah interesting no it's a fascinating conversations i'm glad we're being critical of this stuff like so we'll see i mean i hope it goes through yeah no but i was again like back to the point of why i brought that like the activation method right like it's uh again is it nuanced depending on the merge so like it would bit uh the bit for op ctv getting merged uh would you uh so just you just explained the activation method you'd like the spork in the future but yeah so my general feeling and it's not my activation i can't really do anything about i can propose like if i had my you know like if i
Starting point is 01:00:16 were the you know semi dictator for bitcoin i would say yeah ctv is going to be a spork because i think this has better properties for bitcoin but that's not what everybody else has agreed to and kind of likes right now right now the standard is version bits and that's sort of the expectation so i would i would propose something that fits within most people's expectations matt's suggestions on how we might change this i think might apply to like maybe the next batch of soft forks because i don't know if we're going to get community consensus that this sort of set of parameters around aversion bits activation are what we actually want because it's kind of controversial like oh we're triggering in you know like a flag day at some period after like
Starting point is 01:01:01 is that actually what we want that's going to require a lot more conversation to get to that point it's almost one of these things that we can walk down that road if we ever have a soft work that fails but maybe it's good if we prepare ahead of time too no i agree that's why i liked the the six month discussion period where after which you can be like all right maybe it's not a good idea i think what's nice in particular about what matt said is that people don't know like what the process is they're like hey our soft work failed let's start it again right now it's like okay no if it just failed give it six months and then try again and i think what's nice is that it's just an answer the answer could be yeah start it immediately
Starting point is 01:01:44 again but start it with a uh like twice as long timeout period that's also maybe a reasonable policy because if you're going to have this discussion period you can say unless miners actually just like messed up and are ready to go like allow for a flexible amount of discussion um so you could have any of these things but um yeah no it's it's there is no uh direct way to do it yep um which i'm fascinated to see um if biptat if and when it gets a number uh how people present that should be activated yeah i mean you could also imagine a another form of version bits uh which has uh three states um one would be continue discussion the other would be activate and the last one would be fail interesting right now you only have once you know one bit and it's
Starting point is 01:02:41 either reject or accept and that doesn't really capture the full spirit of like if i'm not sick like i can signal that i'm not opposed which is a very different thing than i'm ready yeah so for any of you freaks that are listening that are completely lost about what we're talking about right now when the version bits that we're talking about miners can signal it's a binary right now it's binary you accept or you deny and to signal that they're ready for an upgrade or a particular bit they will flip the version bit uh one way or the other to signal to the rest of the market that they're ready or not um just a little uh version bit lesson there that you probably should have given but i i try to hop in there uh sorry about that no no i mean you did you did great i'm not
Starting point is 01:03:26 putting the pressure on you so one of the one of the key parts though is that you set a start time and an end time for collecting enough signals that that people are ready for it and i guess what i'm kind of saying is like why have an end time if people have signaled this middle unstable state which is let's keep on waiting to see if we get above this threshold that would be kind of like a flexible end time which might have some better properties for saying um uh we're not sure yet we want to keep discussion going it might also be worse as i said like you know if you're a minor and it's going to be less revenue you just want to keep discussion going for a long time filibuster right yep yeah exactly yeah interesting well while we're on minors too so we could talk about
Starting point is 01:04:05 fucking everything right now um but let's talk about pow swap this is fascinating on chain uh hash rate derivatives i'll let you explain i'm not even trying so i came up with a primitive which i call a block delta contract and a block delta contract essentially you are observing the number of blocks that got produced in a given period and if it is uh above your expectation um alice gets some money if it's below your expectation bob gets some money that's the basic building block there's a lot of like more nuanced versions that you can get into but using that you can imagine saying over the next six months if i see a hundred blocks less than i was expecting that means that we lost about like a day of hash rate over that period
Starting point is 01:04:56 so i will have a contract which pays out based on that the thing that's tricky is was on processes are pretty volatile so you have to think about these parameters kind of closely of like how much variance does there exist naturally but that sort of variance if you're trading over you know gamblers dilemma can you trade long enough to not go to business if you trade long enough they'll average out to the actual thing that happened so these can be used by various parties to either you know leverage or hedge or do other sort of fundamental market operations and so how are these constructed on on chain is it a certain op code a certain it's not
Starting point is 01:05:35 a certain op code it is a transaction uh set of transactions that uh observes both the uh block height and the uh time and so by observing both block height and time you're able to check the discrepancy essentially and decide one way or the other we can go into like the scripts but i think without like a picture and whiteboard it's a little bit hard to to write out but it works and there's a few different ways of doing it so choosing the obviously the chain as an oracle with the block height and then unix as an oracle for the time unix time um kind of so you have uh the uh check lock time verify op code which checks the timestamp which is kind of a unix timestamp but it's not like a local unix timestamp it's the global one implemented by the network
Starting point is 01:06:34 yes and so maybe this introduces an incentive to like try and shift that clock but the network would have problems if that drifts too far from like what the actual time is like it's generally intended that should be roughly what people know the time to be um and the and you'd have like problems like in difficulty adjustments and other things that people mess with that too much um so yeah you're able to observe both that and the number of blocks that passed from when you started the contract yeah fascinating and then we we were um and this could this could be could this be implemented uh today yeah there's no there's no changes it can be done today i actually uh wrote code that does it yeah you have a beta open uh no so it's this is a difficult project
Starting point is 01:07:20 to get off the ground if someone is really interested in it and is like this is awesome it probably needs like an upfront 100k of legal expenses to to go uh which i don't have so if somebody wants to like help get this off the ground it's definitely something that i think is is interesting but i think uh absent having that uh you know that seed sort of push on something that it's just like has to be released into the open which is uh you know like these contracts and uh this big legal expense to kind of like validate that this is an okay thing to release it's a little bit hard for me to get traction on hey rich bitcoiners listen up this is the first podcast you've ever been on uh no i've been on a couple yeah this is a great one and you know
Starting point is 01:08:10 this is a special thing between us but yeah there are other podcasts that i've no because i was doing i'm trying to do as much research as possible i didn't come as many podcasts came more um more blog posts and and tweets and pull requests yeah i've done i've done a couple um but i guess i haven't done as many that are like uh like industry podcasts like i've been on one or two that are maybe more broad yeah yeah no do the industry rounds man people more people should be hearing your thoughts thank you it's uh i'm very now i'm flattered to have you in and that's well back to the uh the derivatives the difficulty for derivatives we were having this discussion before we had recorded and it's one thing i've been thinking about a lot is why would you ever
Starting point is 01:08:55 short difficulty uh outside of a hedge against a big purchase of miners that haven't been released in the market yet and you made a very good point you don't even have to short difficulty really you can just short the pace of difficulty growth or hash rate growth yeah so i think that that's the thing is that who's taking these trades like who wants these contracts um that's sort of an open question i do fundamentally believe it's like a two-sided market because miners with different risks will want to hedge both ways and miners who are very confident may want to leverage their positions so you do kind of have this you know both sides but you have to keep in mind that like the default thing that happens in the network economically is that hash rate increases so no
Starting point is 01:09:36 one's actually trading hash rate goes down they're just trading hash rate doesn't go up as much as you expected it to or it goes down a little bit you could also write contracts for systematic collapse but that's like a little bit harder to do because if you have a systematic collapse in hash rate you're not even going to have blocks to put your transactions in yeah yeah how do you claim that yeah it's a little hard to claim so it doesn't work as well when there's sort of like unlimited downside and that makes sense because or unlimited downward movement in hash rate because you just won't have blocks so that's sort of outside the model of of when you would use these um but as a as a non-mining user there are also reasons that you might want to take these
Starting point is 01:10:18 positions one thing you might say is i want to get paid out if hash rate collapses and i'm going to need a lot of bitcoin if that happens so you make a bet that says hash rate goes down to 10 of what it is would that ever happen i don't know but how much bitcoin would you want to have if that went down because bitcoin's not going to be worth as much so if you want to have savings in bitcoin what this does is it turns bitcoin for you into kind of a stable coin where a stable coin i don't know if there's a banned word for here but no no stable coins are fine so it's a bitcoin we think they're inherently unstable but you can use them so so what's what's the key observation is bitcoin isn't the thing that's stable but it's the amount of dollars that you
Starting point is 01:10:58 could redeem the bitcoin that you have after you have one of these hash rate downside uh you know shorts open that's kind of like very wide it's like okay like i'm gonna lose uh up to uh let's say you do 50 hash rate down you think that there's a correlation linear correlation between hash rate and price you're like okay if it goes down 50 give me twice as much bitcoin as i have and if you enter that kind of contract you're going to be losing a little bit of overhead for premiums to buy them but on the other hand if it does if it does slip that that much you will now have a lot more bitcoin yeah you're made whole so so it kind of keeps you within a band um which is cool that's like a bitcoin savings contract yeah it's cool but it has
Starting point is 01:11:41 me thinking like what what happens in a world where like bitcoin is the unit of account like the people people aren't denominating their savings and uh so this is still useful like It would just be like, if you're long volatility, you would want these contracts. You would say, I'm long volatility. I think that Bitcoin's going to just have one of these big swings, and then it's going to pop back up. And it's a unit of account, but it still has purchasing power. So even the dollar, even though it's the unit of account for the world, things change prices. So that's not going to fundamentally change.
Starting point is 01:12:17 but you you would still be if you're like hey one bitcoin is one bitcoin and then this to you looks like a trade of like okay if the hash rate goes down i just get all this bitcoin yeah you're not really worried about if it's preserving your stability because you think bitcoin's already stable it's just like i am willing to pay a little bit on this bet that bitcoin goes down this much or bitcoin goes up you know more than you expected those kind of things yeah it's fascinating you can do this all on chain too all on chain is it defy it is uh you know it's i i've told some people who are like very into defy i'm like so i'm working on something defy and they get really excited and i tell them like what it is and they're like that's not defy i'm like what is defy
Starting point is 01:12:55 you know what is this decentralized finance so like well we have like uh you know this protocol i'm like okay well where's the oracle like uh yeah well you know we have this one oracle for price but it's like this decentralized you know it's like okay well in this the only thing is bitcoin it's crazy it's bitcoin you know there's no external third you know get rid of all that this is just bitcoin observing its own financial health and then trading contracts based on that health which is kind of mind-blowing it's crazy i feel like it should be talked about more uh yeah well i'm i'm working on it i'm trying to figure out if there's a way to drive it forward but it's kind of a difficult thing to make well certain kinds of progress on you've made my uh friday
Starting point is 01:13:35 morning easy i know what i'm going to write about already um because this definitely does need more attention that's the thing like that's the thing that blows my mind there's a lot of noise and bitcoin in the overarching cryptocurrency space and defy being one of the loudest uh noises in the space right now and um stuff like this is is very uh it's tangible and it actually seems like something that would use in the future instead of yeah one of the things i think that's sort of the case for DeFi is you are building crap on top of crap. That's kind of like the
Starting point is 01:14:07 general structure where it's like we have this DeFi thing and we're able to trade all these tokens in this like liquid market and Ethereum or whatever and it's like that's cool right so maybe that's okay but what are the tokens that you're trading? They're things
Starting point is 01:14:24 no one cares about necessarily and so just by virtue of what you built on top of like as soon as you have an asset that somebody actually cares about, then it will be interesting. But until then, it's kind of crap on top of crap. With this, it's Bitcoin, which people actually care about. And so it's kind of cool because like, okay, like now we have something to trade Bitcoin in these, you know, complicated derivatives contracts.
Starting point is 01:14:46 And I think that maybe is sort of like a meaningful use case. I also think the set of people who are hardcore Bitcoiners and the set of people who are into DeFi right now are like very separate sets. Maybe like Udi reads a lot about DeFi, but not too many other people. But this is like a concrete benefit for a lot of long-term Bitcoin holders that they can buy these contracts that will give them some downside protection. That's like a pretty compelling use case. Yeah, yeah. I mean, I'm just, again, I'm just a simple podcaster, hodler.
Starting point is 01:15:15 I just want sound money and more importantly, money that I control. and all the DeFi stuff. It seems cool, but it's like, who is really going to use that? Yeah, but I am worried. Like, okay, maybe you can build these contracts and then the market doesn't show up because it's easier to trade them on CME.
Starting point is 01:15:34 That's possible. And that's a real possibility. For a lot of people, you don't need this decentralized aspect. So it's possible that people don't want this. But I think it's important if Bitcoin is going to achieve its dreams and truly soar that hey we actually have left the existing system behind so that's a little bit of
Starting point is 01:15:53 why i like pow swap yeah because again yeah we actually closing the loop right like why why would you why would you want to expose yourself to the cme and that when you can just do it on chain well there are a lot of reasons uh i mean i'm always happy to be the devil's advocate against my work um you know sort of a you know scouts honor or whatever um part of it is that these decentralized exchanges work really well right you put an order it gets filled you have market makers you have fairness you have regulations you know that people are you know not allowed to be market making and also mining you know like they have like checks and balances these kind of things to make sure that there's not like weird market manipulations in a in a true d5 context that that
Starting point is 01:16:37 regulatory side doesn't doesn't exist and so a lot of people think that there's maybe like more safety in that um and so that that's I think why people might prefer to work with a centralized exchange rather than a decentralized one but one of the safety uh went to be more regulating like the actually like the heart like the stuff in meat space right like you can't really regulate well as if it's two consenting adults and entering in a contract on chain like so that's a nice you know like story right but it turns out that doesn't really matter where the contract is it just matters you know like that the contract is written and the regulators like have you know their finger in that pie so yeah so if a regulation like the regulations will apply
Starting point is 01:17:24 regardless it'll just be that like they're not like necessarily enforceable um and if they're not enforceable and people are cheating you'll be you'll feel safer trading on the centralized exchange because they'll do things like there's no actual bitcoin in these contracts they're all cash settled and so like okay you just get a dollar payout uh when this contract strikes in your favor um and people aren't worried about whatever random stuff happening you know they're just like okay i get my dollars and then if it comes out that like one miner shut their miners off in order to fraudulently manipulate the market then the cftc maybe rolls in and said no this is like the underlying commodities market was fraudulent we're going to roll back the trade
Starting point is 01:18:04 for the last day yeah and maybe that's what happens i don't know the exact particulars of how that would shake out between the cftc and sec if you have a fraudulent underlying market but you would have those protections because they're cash settled here you wouldn't have that protection if a miner is like you know what i'm gonna shut off my miners and i'm gonna collect all these you know like all this money um that's possible this is actually a good thing though and that's what's most interesting and do you want to know why it's a good thing of course i do what does the derivative do fundamentally hedge no like like think about for a commodity what does it do to the commodity it reacts to i mean it uh what does the why do we tolerate these
Starting point is 01:18:47 stupid you know like derivatives trading like crazy marketplaces like what are they what are they trying to accomplish for a society like why do we think this is like a good thing worth spending any time reduce risk increase confidence and yeah reduce risk increase confidence stabilize supply okay right so that's this is a key thing if you have all these derivatives in financialization of the base layer you stabilize block production so boom right right now we think blocks come every 10 minutes right but if the hash rate goes up or down that changes with financialization people may actually keep some latent hash power in order to stabilize the chain if hash rate drops off so that's actually the result is that if you believe in derivatives
Starting point is 01:19:34 as like an instrument that has social value then bitcoin would be more reliable as blocks would show up you know at 10 minutes you can't guarantee that because hey that's not how processes work yeah but the moves would be less dramatic yeah you would not see moves in the underlying as much as people would have incentive to smooth out that movement uh which could be a good thing for society like hey a lot of new hash rates going on so we're going to take off our older hash rate to keep that number of stables that we know how our contracts execute because that equilibrium derivative should keep the prices more stable yeah i mean that's one thing like the halving always drives home is like like two years ago the halving was supposed to be like memorial
Starting point is 01:20:14 day of this year but now no one knows what's going to happen to difficulty right but if you financialize the production of blocks around the halving you will say yes people have bet a lot of money that blocks will continue to be produced yeah and that that should be the thing that happens and like you know maybe miners are bought into that and that kind of is a coordinating function for keeping the the chain stable yeah so there was a difficulty adjustment two nights ago i was checking the blocks were coming in about like nine minutes and 10 seconds right now they're coming in 9 22 but yeah like we say i mean i say it all the time every 10 minutes there's a block but really up to this point it's been pacing ahead of that yeah well that's actually one of
Starting point is 01:20:52 things that's that people don't realize is that bitcoin targets 10 minutes which means that blocks should always come in if hash rate's growing faster than 10 minutes yeah yeah this hash rate grows comes in a little bit less every time yeah it's uh it's so much to take into consideration when approaching bitcoin and again going back to the fact that you're jumping around the code base and working on all these different areas blows my mind like i can barely try to articulate uh what bitcoin is and the different parts of it let alone make the code that makes it work well imagine how much my head is spinning like yeah how do you how do you take a break how do you how do you clear your mind stay sane so i have a dog um that is a pretty important part of my life
Starting point is 01:21:40 you know like make sure that i get outside get some fresh air every day um yeah i think you know I cook most of my meals, it's sort of like building these like healthy habits that I think are like almost self-regulating, where if you set yourself up in an environment where you kind of have these obligations to do things that are good, you kind of balance out your life, and then when you're focusing on your work, one thing that's important to me is that I have a laptop for traveling, but I work at a desktop, it's building that stability in so that when you have so much hectic going on elsewhere, you can lean on that as your routine.
Starting point is 01:22:13 I love that advice. Routine is important. Yeah. what's your dog's name asher asher yeah how old is he uh two and a half years two and a half years yeah so i've had him for uh most of that time what kind of dog is he australian cattle dog yeah he's a hyper from the shelter he's hyper uh he's a very uh you know he's a he's a you know kind of like those dogs are just like really smart and they have a lot of stuff going on and they're kind of like watching everything and hurting and uh i don't know i'm very happy it's
Starting point is 01:22:42 like you know i i would you know say good things in my life like asher ranks above bitcoin well that's wow that's true love yeah um i don't know i hope to meet only dog owners will understand well i uh no not in this apartment we're not allowed um uh but i think in our next place we're gonna get one nice i am the dog person i love what kind will you get i want a lab um all american chocolate lab um my wife would like an english bulldog though she would see uh but i think that's torture that's cruel yeah they they have some intense breathing problems yeah and it's like i want a dog i can take for a walk too like a long walk yeah my real thought is you kind of have to be able to like wrestle the dog yeah okay yeah my parents have a
Starting point is 01:23:33 an Orwellian bear dog. Not Orwellian. I'm kidding. It's like a bear dog. I forget the first name of it, but he's Dublin. That must be a gigantic dog. It's actually...
Starting point is 01:23:52 He's probably like 60 pounds. I'm thinking a bear dog. A wolfhound is big. He's like a shepherd dog. He herds bears. scares them away from from farmers and bear uh bear country if you will around the world um and that was dog talk and tells him the correct yeah you're talking about dogecoin uh doge what is
Starting point is 01:24:17 jackson palmer up to these days he completely left the space it seems i don't know yeah i haven't been following i don't know i think yeah i think he works at like lyft or something like that interesting um hated his own creation the man who created dogecoin that's who we're asking about doge is still around it's all still around what do you think going forward do you think we have maybe i should get ctv merged in dogecoin to prove is that the the lightning to bitcoin gold is actually dogecoin not litecoin or the uh silver to bitcoins gold i i have no idea i'm kidding what are your thoughts on the uh do you think uh we'll see uh explosion of all so we did in 2013 icos like we do in 2017 going forward do you think the market's learning uh consolidating so i have a
Starting point is 01:25:01 little bit of like a take that not everyone agrees with um more coins are great more money more whatever like issue whatever you want like i said earlier be your own bank right banks can issue you know bank issued currencies in america they're maybe illegal but in other countries banks have their own you know reserve notes or whatever so if you actually want to have your own like financially independent group like yeah it's fine if you issue your own currency i think that that looks different than a lot of what the icos are doing uh there's a lot of sort of like fraudulent promise on like what it means to be an ico like oh there's this decentralized ecosystem that emerges that you're going to be able to use these digital goods and it's like okay hold on a second
Starting point is 01:25:46 but just the idea of like hey we are this national you know nationality and we're trying to establish our own country and we are going to outsource our currency operation to like you know bitcoin or something like that and we're going to use this as our monetary platform that's actually kind of a powerful idea and i think that um i'm like perfectly okay if that's what's going on um and think that like we should hope to see more of that because that means that more people are getting fundamental freedom through bitcoin but when it's like hey we're a centralized group of developers issuing something to like make a big profit that's like a different yeah yeah at the end of the day at least the people that are in it for money so they usually trickle towards bitcoin
Starting point is 01:26:29 And again, the network effects take over. Do you think this is given the amount of energy and infrastructure needed to make these networks run? Do you think this is winner-take-most to all at the end of the day? No. So I think if you talk to some hardcore Bitcoiners, what you'll find is that they spend a lot of money
Starting point is 01:26:46 on their credit cards because if you spend on your credit card, you get to hold your Bitcoin for longer. And that's sort of like a fundamental thing is that the money that you're using to spend is generally credit because it's it's cheaper right and and spend the bad money first kind of right um so if you think if you're holding bitcoin you think it's going up well this is in a world in which good money doesn't exist right or credit will still exist yeah oh i agree yeah so so you
Starting point is 01:27:19 still need loans you still need all this stuff so credit is still going to exist i agree so if you have credit spend on your credit and hold on to your assets um and i think that that's also where you know maybe like other coins can exist and fulfill a need is like if i issue for my organization our own currency it's sort of like a line of credit for our company that's like traceable like how many of your own coin have you issued and then are you able to like buy them back at like some what's the price that you're buying them back at what's the price that anybody's buying them at having that market allows people to like issue credit sort of so i wouldn't exactly say that here's like a specification for how you issue credit on on a chain by issuing tokens but
Starting point is 01:28:01 i think that there's kind of like a mirror where those things look kind of the same yeah i mean i like what hal said right with the banks right you have like a quasi 18th 19th century canadian banking system when they had a free banking system where i think people can get bitcoin reserves and then uh build what you were describing earlier yeah um on top of that using with proof of using combination of proof of reserve and other stuff to create credit lines for people yeah that being that being said like i don't have a lot of credit i try to live like within my means and pay that so like in that future too well paying it down is fine yeah right it's just like you get that extra month of exposure yeah so you you know i'm not advocating that anybody don't pay off your
Starting point is 01:28:44 credit card yes absolutely pay it off because those interest rates you're probably not going to be with bitcoin but at least month to month like hold on to your bitcoin get the upward movement of bitcoin because you're trying to like you know like in if the bitcoin goes up let's say 20 this year it's going to happen most likely in the middle of one of those months and not on the day of your billing cycle or whatever and so if you're constantly selling bitcoin to make all these transactions you're going to miss the day that it goes up right uh on most of your bitcoin but if you wait for that month of spending like you'll get that appreciation for most of your and you know this is not financial advice this is sort of like a you know like if you had this
Starting point is 01:29:24 fundamental belief that bitcoin was going to go up a lot or stay about the same it's better for you to hold on if you think bitcoin is really volatile and about neutral then you wouldn't really care yeah like okay like i'm either gonna gain or i'm gonna lose like whatever but if you think that bitcoin has an upward direction then it makes sense to kind of play this game of like waiting to sell your bitcoin to pay your credit card yeah yeah the speculative attack yeah um it's leverage yeah right that's fundamentally it's just leverage holding on to a larger bitcoin position than you can afford yeah that's that's what's happening it's not what we advise here we're not giving out advice here okay we're just talking talking about ideas we're walking through
Starting point is 01:29:57 some thought experiments i definitely know people who have gotten like have do leverage by cash advances on their credit card which is an awful idea an awful idea terrible idea not me but not get payday loans to buy bitcoin um that's uh you can't stop people from shooting themselves in the foot no no you have to learn we all learned uh some faster than others um jeremy you have to to meet up with your family i don't want to take up too much of your time thank you um thanks for having me on it's been awesome i really appreciate it i really hope this isn't the only time this is the first time first of many i'm sure um i am too uh where can we find you where can we help you uh you can find me at jeremy rubin on twitter uh you can send me a
Starting point is 01:30:46 message shoot me a dm um and normally i'm in san francisco bitcoin devs meetups or whatever um if you're a bitcoin contributor uh happy to you know chat there come to the workshop if you're in the city bang bang jeremy thank you for all that you do thank you for your time peace and love freaks

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.