Good morning Miami. We've got a great house here today. Let's fucking go. So, I mean, I know a lot of you think I'm a natural at this, but I've never actually been on stage by myself, in person, in front of a great crowd, until yesterday. So this is my second attempt. I took some notes because I missed a bunch of things yesterday. First off, I want to thank the production crew. They did a fantastic job yesterday. They're filming with very high quality cameras. They're uploading everything after the fact. And we have a great crew backstage that nobody sees that makes this all happen. So a huge shout out to them. You might notice I'm wearing sunglasses. It's because these lights are very bright. Can I get a show of hands who was here last year? Okay, awesome. A lot of new faces. As you can see, we did it a lot bigger this year. We got a nice dedicated space, larger than most conferences, dedicated to open source contributors and projects. Extremely excited for it. We've been, you know, it's been six months in the making and I'm glad you're all here. Part of that program was we gave away 120 free tickets to open source contributors of 32 Bitcoin projects. A lot of them are here today. It's great to see those faces. We do appreciate you. You guys are what makes this movement possible and what makes Bitcoin robust. So let's go through what's going on here. First of all, we have workshop tables in the back. If you are over there, try and keep your voices to a minimum while the talks are going on. The talks will end at 3 with the live rabbit hole recap is going to end the day. And then at 3, everyone can use the workshop tables to their full effect. We can network. We can talk about open source. You can see all the great projects that are being displayed out there. We have teams from around the world who are participating in that. We structured the panels to be longer. They're 40 minutes each, so we can have proper discussion rather than just intros and outros and then get off the stage, which I'm pretty excited about. We had fantastic panels yesterday, so if you weren't here for it, make sure you go check out the video after the fact. They were really, really great. Today we are going to have an absolutely awesome lineup. We're going to have a Bitcoin core panel that I'm really excited about, Bitcoin development panel, decentralized exchanges, DLCs, nodes. It should be a very, very great day, and I'm really excited to share it with all of you. What else do we have here on my notes? So, open source. I'm sure most, I hope that most of you, I mean you're here today, know what open source is. You know, the power of open source is that the code can be verified, and so you don't have to trust any corporation with what is running it, and that you can build off that code, you can improve it, you can distribute it, and that that code is viral in nature. It lives forever. It'll live way past all of us, just like Bitcoin will, and that is extremely powerful, and that is why it is imperative for all of us to support these projects, support these contributors, use the tools, build the tools, test the tools. You don't have to be a developer to contribute to the open source ecosystem. They love getting feedback through testing. They love design help. Design help is huge, and of course, donations. So, most of our open source contributors have chosen not to work at very lucrative paying jobs, and instead have dedicated their time to working on these open source projects that are often, you know, their compensation isn't great. So, if you want to support them, it is really great to send them some sats. I have two projects that I've been working on, and to make that easier, you have BitcoinDevilist.com, where you can donate sats directly to open source contributors who choose to get listed on the site. That's powered by BTC Pay Server, so no middleman. Go straight to them. It's basically a directory, and then we also started OpenSats, which is a 501c3 tax-deductible foundation. You can donate to that with credit card or through Bitcoin. Very excited that after a year and a half, we publicly launched two days ago. So, if you go to opensats.org, you can donate today. Let's fucking go. OpenSats, part of the reason it took us so long is we take zero cut. So, most 501c3s will take 5% or 10% or 2%. We take 0%. We also, we have a great board. So, the way the OpenSats works is, you know, you donate to this general fund in our board. Basically, there's two things. There's a general fund where we choose which projects go, where the donations go for you, and then there's also the ability to donate directly to projects that have applied on the website. I don't think we have that part built out yet, but you can donate directly to the projects. If you donate with credit card, by the way, we automatically convert that into Bitcoin and hold Bitcoin only. And the credit card fees, the credit card fees, we don't even, that doesn't even come out of your donation because we got Ledger to sponsor the credit card fees. So, just no credit card fees either. So, it's just a hundred percent to devs and you can get a tax-deductible donation on it. Yeah, and just a huge thanks to, there was a massive team that worked with me to make this happen at Bitcoin Magazine. I really could not have done it without them. I couldn't have done it without a lot of people in this room today. It just inspires me, gives me a lot of hope for the future. You all are my people and I'm proud to be here today. I'm excited to be here today and, you know, we're gonna win together. We're gonna fucking do it. So, let's fucking go. Have a great time. Enjoy yourself. Good to see you. I didn't realize that Jackson 5 was the official music of core development, but okay with that, I guess. Thanks for getting up early and coming out. We're gonna be talking about the core development process. My name is James O'Byrne and we've got what is probably the biggest panel of the open-source stage, at least so far. Maybe that bodes well for increased developer participation. We'll see, but yeah, I'm really excited about the panelists that we have here. So, maybe we can get going. We've got a lot to cover and, yeah, let's start off with some intros. So, I'm Andrew Chow. I work on the Bitcoin Core Wallet. I'm the wallet maintainer and I'm at Blockstream. Hey, I'm Jeremy Rubin. I'm a Bitcoin contributor. I work on Sapio, a smart contract framework for Bitcoin. Hi, I'm Gloria Zhao or Glo Zhao. I work mostly on Mempool and P2P at Brink. I mainly try to focus on making full nodes easier for people to use, but I also like to practice. I'm Carl Dong. I work for Chancode Labs and I used to work on reproducible builds, but now modularizing the consensus engine. Very cool. So, let's start off by talking about some repository mechanics. So, as you all know, right now Bitcoin Core is hosted on github.com. It's a Git repository and there are a number of contributors, obviously, who work on Bitcoin Core in this venue, but there's a kind of special class of contributor, or maybe not so special as we'll find out, called maintainers. And Andrew is actually one of these maintainers and we hear a lot about them. There's kind of a mystique surrounding them. So, Andrew, maybe you can talk a little bit about who the maintainers are, what they do, and their roles. So, the maintainers are the people who have the ability to merge code into the Bitcoin Core codebase and it's actually largely a janitorial role. Maintainers look for other contributors to review code and agree with the changes before they merge them. They're not, like, unilaterally adding things. It's mostly just, like, you know, seeing that things that got reviewed make it in. Yeah. Yeah, that makes sense. So, Jeremy, what has your interaction been like with maintainers? How do you, you know? I think that what's difficult with maintainers is there's a lot of good, but I think what's difficult is that what the community sometimes expects from the maintainers is different from, like, what contributors expect, and then you have to tell maintainers sometimes, like, hey, the community is, you know, wanting you to do this. What do you think? And they're, like, oh, I don't want to be doing that. That's not what a maintainer does. And you're, like, you should probably, like, you know, like, there's some sort of miscommunication with what the expectations are. I think the expectations from maintainers are really clear, though, and I think they've been, like, really good at, you know, doing, you know, what it is they're supposed to be doing. Can you give an example of when those expectations differ? So in particular, like, I work on some consensus changes, and people want to know, like, oh, like, when are the maintainers going to merge it? And I can communicate to maintainers, like, people would like to know, like, you know, like this, like, you should communicate that, you know, formally that it's not something that you're doing. But I think it's hard to sometimes get these, you know, like, people don't really want to communicate some of those things sometimes. And I think there's, like, a difference between how Bitcoin Core treats maintainers versus other projects. Like, in a lot of other projects, you have kind of, like, the benevolent dictator for life, and they get to decide everything that's going on, what gets merged, where the roadmap is going, whatever. But Bitcoin Core doesn't have that, and we don't really want to. So it does lead to sometimes maintainers are just doing the work of clicking the button versus deciding the direction of the project, which we really want to leave up to the contributors and community for where Bitcoin is going to go. Yeah. So I think maybe when a lot of people hear Bitcoin Core, they're thinking about the rules of Bitcoin, how it functions, the consensus mechanism. Gloria, we know that there's a lot that happens in Bitcoin Core that isn't necessarily related to consensus, and a lot of the job of the repository is to manage details that aren't related to that. So how are the two different? Yeah, I think when people think about protocol, they often think about consensus rules, so, like, scripting rules, for example. And then the next most obvious thing would be the P2P protocol, like what messages are sent and understood by all Bitcoin nodes. But there's so much, that's only, like, a small fraction of what Bitcoin D is, which is also a small portion of, or a major, but not the full portion of what Bitcoin Core is. And people often say, like, oh, Bitcoin development's so slow. But there's, like, dozens of PRs merged every day. There's bugs fixed every day. And I just don't think it's true. I find it very hard to keep up with all the pull requests and issues that are open to the Bitcoin Core repo. So yeah, there's a lot, a lot more than consensus. And a lot of the biggest impacts that we can have at a protocol development level are not actually in consensus, right? Peter Wille is known for many consensus changes, but I would even say that his biggest contribution is Ultraprune, aka turning the state from, let's look at what outputs are available in the blockchain, and instead just keep a small UTXO set. And that, I think, did more for scalability than almost any, or more than any consensus change that we've had. Likewise, I guess I'm going to shill my own bags, package relay is not a consensus change. It does require a lot of community, like, consensus. Not consensus, consensus, but, like, you know, agreement. But it would also be a very impactful change. So hopefully my message is consensus is overrated, and there's a lot we can do without requiring a software. There's also a lot of things within Bitcoin Core that, like, so since I work most in the wallet, these are gonna be some wallet examples. But we do things in the wallet, some new innovation, and then other wallet software will, you know, pick them up, see that they're good ideas, and use them. And that's not, that's also not a consensus change. And in fact, it doesn't even really require agreements between different software. But, you know, there are, there's a large component of Bitcoin Core where we make changes that are basically local, and then other people also pick them up because they seem like good ideas. And, you know, vice versa. We've taken some ideas from other people as well. So Jeremy, I know you've spent a lot of time on OpsCTV, among many other things, but specifically OpsCTV in terms of consensus development. Can you just walk us through the process of how changes to consensus are proposed? Yeah, I would if I, like, knew what it was. I think that there, it's kind of funny because we have, like, this whole, like, you know, BIP process, and that's something that, you know, Luke knows a lot about because he's the BIP editor. But there's really no fixed set of things that you have to do, say, or talk about. It's sort of this, you know, maybe rough process where you just decide, you know, kind of like you're the, who's the gopher who comes out and looks at the shadow and is like, you know, is winter gonna keep on going? You just poke your head out and see if people shout at you and what they shout at you about. And then you're like, okay, like, it's gonna be in another six weeks. Or you're like, actually, maybe it's gonna be another six years or something like that. Does that make you Bill Murray? I definitely sometimes identify with the notion of doing the same thing every day and the same thing happens. So I would say maybe, yeah, I'll take it. That's funny. So, you know, as Gloria was talking about earlier, Bitcoin D is composed of a lot of different components. It does a lot of different things. It's the one piece of software that people participating in Bitcoin have to run. So I think it might be useful to go through and enumerate the different parts of Bitcoin D. So just in quick succession here, let's start with Carl and kind of go down the list and have each of you talk briefly about one component of Bitcoin. Well, yeah, so like, yeah, I can talk about the consensus engine, I guess, or what people would call validation. So you guys know how, like, Bitcoin has a blockchain. And so, you know, the blockchain has to be kept somewhere and basically it's kept in what we call validation code or what I like to call sort of the consensus engine. It keeps track of all of the blocks. It keeps track of all the, you know, UTXOs, which are basically, you know, the coins. And what it also does is it defines what it means to be Bitcoin, basically. It defines, it's the arbiter of truth of whether, you know, a transaction or a block or something is valid, which makes it a critical part of Bitcoin. And all of the consensus engines across all of the nodes on the network basically have to agree for, you know, consensus to be formed. And if they disagree, then, you know, that's what we call it sort of an unintentional fork and that's bad. So yeah, that's what the consensus engine or validation is. Just picking a random, the mining module essentially decides which transactions the miners will put into a block they might potentially find. So when a miner finds a block, it has a certain amount of transactions. The miners can put any transactions they want, but the mining module figures out what the best transactions are to make the miners follow. Cool. I'll talk about P2P, I guess, which is where I think a lot of the ideological values of Bitcoin kind of come to life in code form, which makes it very interesting. So this idea of like, oh, it should be permissionless, but not just that, it should be censorship resistant. Anyone should be able to join the P2P network and broadcast their transactions. But that also makes P2P's security model like extra hard mode, because we want anyone to be able to join and we don't want to be able to tell who's who, but also there are going to be bad guys. We have to expect that and that allows for very interesting, very anxiety-driven development sometimes. It makes review kind of spicier and yeah, we're always thinking about privacy and security and DOS attacks. So that's my pitch for P2P. I guess I'll go into the mempool, which is the list of transactions that are to be confirmed into a block. It sort of serves as the glue between the last three modules you heard about of consensus, the thing that gets finalized, mining, how we pick the things to finalize from the mempool, and then also P2P, like how we get things into the mempool to give to those other two modules and then use the mempool to also figure out what to put into the P2P network ourselves. And so the mempool is, at least I view it as sort of like this central plane for all of Bitcoin, where it sort of touches all the different parts and it stores all the transactions that you might ever do in Bitcoin and each node has their own mempool. There's no one global mempool, but there's also a philosophical mempool of all the transactions that somebody in the world somewhere knows about. And of course I'll talk about my favorite thing, the wallet. Of course everything else we've just talked about wouldn't matter if you didn't have a wallet to make transactions. Store of value. Well you still need a wallet. So the Bitcoin Core wallet, you know, it does things like manage your UTXOs, manage keys, figure out what addresses, what scripts to be watching for. And I find it to be actually very scary to be working on the wallet because it's like the one thing that users interact with a lot and then if you do it wrong you might actually end up losing people's money. And of course you never want to lose someone's money. So the wallet is a pretty big component and there's a lot of work going into making sure that things are secure, that funds are still available, and that we don't like do anything weird with it. And there are many other components that are fairly crucial to running Bitcoin, like the RPC interface, the graphic user interface, that maybe are sort of non-essential but niceties that help everything run. So let's turn now to the development process itself. Working on Bitcoin is, you know, notoriously, I don't want to say difficult, but it definitely has unique attributes that make it time consumptive to work on. So Carl, how have you found doing large projects on Bitcoin Core and why do you think the review process is so intense? Yeah, I mean, I think, you know, this is logic that I've heard from other people and I think I agree with sort of on the surface, it's sort of, you know, if we just sort of walk away from Bitcoin, you know, it still kind of works. You know, maybe default compilers would change and all that, but it still kind of works. And which is why I think that, you know, Bitcoin has such a conservative, you know, model of reviewing PRs and getting them through. Not to say that I fully agree with that or agree with the lean or anything. So I think that's what it is. I think personally when I'm trying to get across large changes, what has been really important is just like getting the rationale up, you know, writing a big document about the rationales, the FAQs, sort of socialize the change, breaking up into little reviewable pieces, which has been sort of like a culture that has developed over the years as review has become more and more stringent. And, well, one thing that I found to be really helpful is sort of dealing with and talking with people about, you know, potential flaws or potential downsides or potential alternative strategies sort of up front. I find that that really helps get people across the line after they've had a lot of context. Yeah. That's great. Gloria, a lot of your projects require coordination, deep thinking, you know, trying to sort of emulate how mempool policy changes and peer-to-peer policy changes will kind of ripple out through the network. You know, how do you feel that developing for that part of the system differs from, you know, other tasks in Bitcoin? Right, yeah. I think a lot of people underestimate the amount of advocacy work that you have to do, even just to change something that doesn't require anyone to coordinate, right? Like, I think it's kind of understated how bad it would be if we, you know, merged a change that had an assertion that is not supposed to be hit but could potentially be hit if, you know, a peer sends us something in particular, because then you have a crash bug where someone can attack the network and just shut down all of the nodes running that version with that bug in it, you know, and sometimes we change something here and something breaks over there, right? Like, it's pretty, I think we should, we should be careful about changing things. So I'm on the, I guess I'm more on the conservative side of development. But yeah, like, with policy and P2P, with, yeah, with policy changes, the, I guess policy exists in this gray area, and we can, we can both speak to this, where, like, there are no, there are no... What is policy? Okay, sure. So policy is the set of validation rules that we apply to unconfirmed transactions. So not transactions and blocks, but ones that we receive on P2P, or through the wallet, for example. And they're local to a node, usually the user is able to configure them, and we do hope that people... but, you know, if you're a miner, for example, and you have more resources, you can afford to, like, make your mempool have a higher maximum dynamic memory, like, limit, right? But yeah, that's why there's this kind of gray area, you cannot really expect people to adhere to a certain policy, and, for example, in Lightning, they might take some liberties in, like, using, you know, some of the, you know, some of the, you know, some of the, you know, they might take some liberties in, like, using, you know, a few bits of the nSequence field to communicate the ordering of transactions in their channel, for example, right? Or, I think, you know, we've tried to say, like, oh, maybe we should make this non-standard, but actually, you know, Colored Coins is using this to, like, flag certain transactions in a certain way. So this is kind of this, like, no-man's land, where people can use it for their purposes. And that's why it requires so much coordination when we try to change policy, because if we accidentally make something non-standard, and, like, 99% of nodes on the network are Bitcoin Core, and then 99% of those nodes are running default policy, well, you cannot really expect your transactions to propagate if you're relying on something that, you know, the Bitcoin Core developers unilaterally decided to make non-standard, right? Which is why we don't unilaterally decide that. But it, you know, I think it's good to have this, you know, usable space for people to develop applications, of course, and that's why it's so important to have a nice communication between, you know, protocol, or L1 and L2, because this is an interface that we rely on to make the ecosystem work. Obviously, we cannot scale to millions of transactions per block, so we rely on these applications, such as Lightning, to scale, but also, you know, if the first layer is broken, or if transaction propagation doesn't work the way it's supposed to, then maybe Lightning is vulnerable to ping attacks, for example. So, as time has gone on, I've seen for myself that it feels sometimes as though development in Bitcoin Core has become more arduous, and that sort of makes sense, that the process would get a little bit more heavy weighed as the value of the network grows, say, but I know there are a lot of early developers who feel that it's very difficult to work on the code now, and it continues to grow in difficulty. Jeremy, can you talk a little bit about whether there's good reason for that, and how we might be able to keep the development process safe, but also kind of nimble and approachable? Yeah, I think that I have a pretty specific take on currently a lot of Bitcoin Core development happens more as an artisan process than an engineering process, and I would delineate the two if you want to think about building a bridge, where an artisan process, you might be more concerned with the aesthetic detail of what is the color of the bridge, what's the molding on the bridge look like, are we using teak wood or something like that, and the engineering concerns would be asking questions of how many cars need to be going, what's the load, what's the peak load, how many lanes do we need, and those would be things that would be more concrete engineering constraints, and I think the reason why there's a difference in why Bitcoin ends up being a little bit more artisan and we could benefit by being more engineering-driven is in an engineering-driven process you can define some sort of objective criteria for is this bridge a satisfying bridge for our need, and if it is, you can proceed. I think Bitcoin, as a community, we've been very resistant to having standard processes required because people view a standard bar for something as something that an adversary might be able to say I've met the bar, and the bar that I met was for introducing a bug, and everybody can see it's a bug, but now there's a standard thing that was satisfied by it, and now we're screwed because we said we would accept anything that met that bar. I don't think we have to commit ourselves so strongly to that, but I do think that by having better standards, that means that you have things like a pre-flight checklist of one example of something I think is maybe a new idea would be any peer-to-peer or policy change that we implement, we should back test against every previous block that we would be able to relay all the transactions that come in the next block into the mempool, and there are obviously non-standard blocks that get mined, but what that would give us would be to say if we're introducing a new thing, anytime we introduce any policy, we should always have a back test that tells us if there are new transactions that previously would have been okay. That's the sort of thing where if you're in an engineering process, you can define more of these criteria, and the more criteria that you have, it's actually even though it's more arduous, because you're saying you've got to do this, you've got to do that, it's actually easier because you know exactly what you have to demonstrate, and you can work towards a concrete goal. I think as long as developers aren't trying to adversarially be like we're going to come up with a rule that's not going to trigger this test, and then I'm going I think you can actually get more confidence in the review process, and so I think that's something where the solution to make it less arduous is to make it more strenuous, if that makes sense. I don't think it's very safe to just have a checklist. I know that's not exactly what you're saying, but security is not a, oh, if we meet all these check boxes, it's secure. There's always... I think it's more about developing this adversarial thinking when reviewing code, and that's not something you can really just teach. Yeah, I absolutely agree with you that you can't just purely rely on your checklist. I think that we just have empirical evidence that things like checklists, and actually redundant checklists for mission critical things in aerospace do reduce critical failures, and they make sure that when you're doing something, you never let yourself rest on an assumption of like, oh, this is a small change. We don't need to audit it in this way. You always are saying, well, it might be a small change, but we still have to go through all of these steps, no matter how big or small we think it is, and so it doesn't let you skip any of the things in between, and in terms of code review, one thing that I've heard recently is that apparently a large number of developers maybe mostly review the tests when they're looking at a code change, rather than reviewing line by line every piece of the code, and that was really surprising to me, because I usually almost never look at the tests, and I always go line by line through the code, and I think that that's something where at least understanding, well, if you're acting, you actually should have gone through line by line of the code, and at least read every single line before you act, is something that maybe is a checklist type thing that would be an improvement. That seems pretty obvious. I guess people don't do it, so I don't know. So like a necessary but not sufficient checklist Yeah, I think that's something where, yeah, it's more annoying if any time you want to approve a pull request and you're saying it's an act, that you have like ten tick boxes that you have to do, and it's like did you review every line of the code? And if you didn't, it's fine, but it would get more information of have we actually satisfied the pre-flight checklist. Yeah, because there's a big space between what we can do with static analysis, so for example, for the CI system that's basically a checklist, right? It's an automated checklist versus, there's a big spectrum between that and what you have to think about on a design level when it comes to P2P and stuff, right? So you could have things in the middle which are not yet automatable, but is somewhat just, you can describe it, let's say, fully, and you can have a checklist. I would love to have that for bash scripts and things that shell tech can't catch, and modular dependencies and stuff which are not enforceable. Yeah, for example, when Jeremy was talking about the idea of backtesting transaction broadcast based on historical blocks, I think that's a great check, and you could probably write a functional test. Well, that's difficult because it's going to take a few hours, so there's almost this zone between functional tests and something that someone would do manually where you might have a simulation framework or something to check some of those things. So I think that could be a really valuable project for somebody looking to get involved with Bitcoin is to focus on the testing regime between those two. So, talking about the development process and maybe some of the difficulties associated with it, one of the ways that this could be resolved, and Luke, I think the route that you've taken is that you have your own implementation of Bitcoin, a fork of Bitcoin called Bitcoin Knots, and obviously you can make the argument against that, that having an implementation that's unilaterally controlled by a single person is risky, that having multiple implementations in the first place comes with some non-obvious risks, but how would you make the case that that's actually sort of a good thing to be doing? That basically gets all the everything that would be a good idea to merge. Probably safe is merging the Bitcoin Knots whereas Bitcoin Core releases take the more careful and extra careful review approach. And so the users have the options between do they want to have something that takes this extra careful approach or do they just want to have something that has all the latest and greatest and hopefully safe enough. Right, so it could function I guess as a good test bed maybe. Right, it can be used in a lot of ways, potentially as testing and other things. Great. Yeah, I would like to add on to that. The project that I've been working on is called LitBitcoin Kernel, and it's a project to extract sort of the consensus engine out of Bitcoin Core. And one of the rationales or one of the problems that we're sort of trying to solve is that people have different, and as Gloria has mentioned, people have different expectations for how they want their mempool or their validation or sorry, mempool and sort of the rest of the code, like wallet or GUI or RPC and all of that to act. And as Luke has said, perhaps they want to be more experimental or have features that perhaps can't get into Bitcoin Core. The options right now for experimenters like that are you either go through as I hope we've painted a picture of PR review being very stringent, let's say. You either go through with PR review and try to get it into Bitcoin Core, which is hard, but also is a burden on maintainers. This is not a piece of code that you write and then that's it. We have to maintain it throughout time. So you either do that, you either fork Bitcoin Core, which is what Luke does, and every release you have to rebase and perhaps Bitcoin Core structures it in a way that now makes it really hard for this critical feature that you have. And I think Luke has run into that problem before. And then the third way is just to re-implement Bitcoin Core. And if you re-implement Bitcoin, then you are sure to get, almost certain, to get sort of consensus incompatibilities, which as I described before, consensus incompatibilities is what leads to unforeseen or unexpected bugs, which is sort of what keeps all of us up at night, I would say. And so having this sort of extracting out sort of the part that defines consensus allows experimenters, and I think it speaks to the strength of our community that we have people who want to experiment, have people who want to implement features, have people who want to tweak parameters. It sort of allows people to experiment with that and not have to worry about the consensus compatibility part, not have to sort of try to cram it into Bitcoin Core and make it a burden on everybody else. Not have to do the forking. On a personal note, I'm very happy that there are experimenters out there, and I think we should encourage them. So I think your project, LitBitcoin Kernel, is one of the most exciting initiatives ongoing in Bitcoin Core now because you could really see the inner workings of consensus packaged up very nicely in a format that allows people to build a lot of the policy components or optional components of Bitcoin kind of in the way that they'd like to without risking some kind of major consensus fault. So with that under consideration, Carl, how do you see Bitcoin Core's scope kind of expanding or contracting over, say, the next five years? What do you think will ultimately be a part of the Bitcoin Core process? I, and this is just me speaking personally, is I would hope that sort of there is a the project is to basically delineate a clear boundary between what is consensus and what is not. Right? And, you know, the big problem right now is that when we make a change, because everything is all tangled up into this, like, spaghetti monster mess, when we make a change, we don't know if it will, you know, affect consensus. And sometimes, you know, to Jerry's point, we probably need a checklist for this. Sometimes we introduce, like, a block filter and then it becomes part of consensus and you're like, okay, what? So I think, you know, delineating that boundary means that it's a technical change, I think, to sort of a social problem where now we can have more eyes on the consensus critical part and, you know, and the sort of outside realm can be swapped out and, you know, we won't have to have, like, I mean, we just have too many flags right now. I mean, we don't have to have, like, you know, 100 flags just for, you know, all the use cases that people have. And that, I think, will be able to that will make the review process easier because people now know what is consensus critical and what is not. Right? And it'll make things a lot smoother in a social sense, I think. So, Andrew, you work a lot on the wallet. You're the wallet maintainer. You know, the wallet is one of those parts of Bitcoin that is not consensus critical but is still very crucial to using Bitcoin. And it's something where the design space is very open. So you obviously have a number of different wallet implementations. How do you see the repo evolving over, say, the next five years? What components do you think will be in there? What won't be, maybe? So, I think eventually what we want to have is to have the wallet be a separate repository and it uses the interface exposed by the Bitcoin kernel or whatever the node part stuff remains. And we've actually observed this with the GUI, kind of, where all the work on the GUI is actually occurring in a different repository where it has its own issues, has its own pull requests. And that also makes it easier to keep track of what's going on and makes it easier for people who care about the GUI to work on it. Same thing I expect to happen to the wallet and maybe some other components of Bitcoin Core as well. So as we break it up a little bit so that people can focus on the things that they care about without having things get lost in 100 PRs of something completely different. And yeah, so I expect that there will be a wallet repo in the future once we get libBitcoin kernel or multiprocess implemented. Do you mind if I try something? Absolutely, yeah. How many people here run a Bitcoin node? Great. How many people here use the Bitcoin GUI? Okay. How many people here use the Bitcoin wallet? Bitcoin Core wallet? Okay, good number. How many people here run a transaction index? Okay. What's another good optional thing? Block filter index? Yeah, who runs a block filter index? Okay, a few people. Sorry, does anyone configure their mempool differently from defaults? One, two. You all have to come talk to Gloria afterwards. We do not know anybody who does this and it would be really good to know what you're putting in and we'll talk about maybe why you really have introduced a vulnerability for yourself by doing so. I'd like to repurpose the remainder of this panel to just poll the audience about what features they actually use. To bring it back to what these guys are talking about and I think about this too, is that we are shipping a lot of code onto your computers that you're not running and we would like to give you the minimal possible thing that's going to do what you're actually using. Probably most of you said you were running a node, which is tremendous, but then all the other things were a little bit more specialized and what would be really good is if we could have this thing that's just a node that you can run and then these other things you actually can get maybe a more competition among service providers for that functionality, which if we're all capitalists who here is a capitalist? Okay, that's good, most of us. We think maybe that will get us a better end result eventually. I think that's sort of maybe the motivation for some of this. Yeah, and I also think then you can ship more versions of the GUI and wallet and not have to rely on Bitcoin core releases. Who here likes dark mode? Yeah, maybe dark mode faster. Luke, you look like you wanted to jump in there and say something. Yeah, I just wanted to point out that I disagree with Gloria and Jeremy in that I think it would be ideal if every user decided their own policies for themselves. We have defaults, but they really shouldn't be used as some kind of consensus rules. Relying on them to be identical across the network is insecure and really should be considered a security risk in general. So I think that there's like, you know, the difference of what we're saying would be like, imagine you have your wallet.dat file and the setting that you choose is to make it readable by anybody on the network. That would be, if you're selecting the folder for your wallet.dat as a shared open public file, that would be an insecure setting. And then for consensus, there are things that are similar where if you picked a really bad parameter, even for policy, that our implementations just can't handle those parameters. To a large extent we avoid policy settings like that. That's why it's configurable, right? We have startup options for you to change it, but yeah, you're right. Feel free to use your config options, but we try to make your wallet as safe as possible. Right now, though, it's kind of hard to change your own options. You have to make the bitcoin.com file and know how to format the lines and put all the right options there. At least, you know, if you're using the GUI, there's almost no way to change any of your relay options from within the GUI itself. So it's... Bitcoin.nuts does have several GUI options for that. Hopefully it'll eventually get into core. There's some work there that no one has reviewed. None of them are using the GUI, though. True. So with the remaining three minutes, I thought that maybe we could turn to ways that you guys think we might be able to grow the developer ecosystem in Bitcoin Core and just increase the health of the project. So I'll just open it up to the group if there's anything in particular you think we could do. Yeah, I have a few ideas. If there's anyone in the audience that's interested in contributing to Bitcoin Core and maybe doing it full-time in the future. There's this great thing called PR Review Club. It's bitcoincore.reviews. We do a weekly meeting where we pick a Bitcoin Core PR, and there's a host. It's not always me. There's a host that will come up with a list of notes as well as questions, so you kind of get an opinionated tour through this area of the code base and hopefully walk through some questions that start to build up your mental model of what adversarial thinking looks like when you're reviewing a PR in Bitcoin Core. And hopefully as you've done, maybe if you do five to ten of these review clubs, you've gotten a good breadth of different areas of the code base, and you find one that you want to dig into very deep, and maybe you write a functional test that tests something that is very specific that we don't have coverage for yet, or a unit test or whatever it is. And then you look through the issues and you find there are many features and bugs in that particular area of the code base that we don't have enough people to work on. Anyway, all I wanted to do was show PR review club, BitcoinCore.reviews. I guess I'll be annoying again and just say, who here, if there were not an obstacle to it, would like to be a Bitcoin Core developer? Okay. Come find us and tell us what the obstacle is that might be stopping you from doing that, and we'll try and find a pathway to making you do that thing. And for what it's worth, I think there's a lot of funding out there at this point. There's probably more funding out there than you think, and it's just been so fantastic to see companies in Bitcoin step up and provide those resources. So if you're kind of on the margin, if you want to get involved, really do consider it. Get into touch with any of us, and we can try and point you in the right directions. But it's a really great time to be a Bitcoin developer, so please consider it. And I would just say, you don't have to be smart, you just have to keep on trying. Absolutely. Persistence is totally underrated. We could always use more reviewers. Always use more reviewers. You don't necessarily need to be able to code, but if you can read code, reading code is very different from writing code. So more reviewers is great. I think it's worth mentioning, people don't often acknowledge that the main bottleneck in Bitcoin Core is getting suitable review, because nobody wants to merge code that hasn't been scrutinized, hasn't been analyzed by a lot of people working on the project. So get involved, and there are a number of ways you can review. You can just download the code and run it and build it. You don't even necessarily have to try and understand the code if you're doing something to add to the process. So great, we're out of time. Well, we've got... Oh yeah, now we're going up on the timer. Number go up. I want to thank all of our wonderful panelists. I want to thank you guys for coming to this. I hope it was enjoyable. Thank you. All right, let's go ahead and get started. So my name's D++, and the topic for today's panel is Decentralized Exchanges, or DEX for short. Now I'm thrilled to be here on stage at Bitcoin Miami 2022. Specifically, I'm thrilled to be on the best stage. This is the real Bitcoin stage. Just very quickly about me, I'm a Bitcoin educator. My aim is to bring simple education to the next billion folks. I have a background in computer engineering. I've worked as an entrepreneur and a coding professor before I devoted my life to Bitcoin. Now, before we dive into the questions on today's topic, I'd love it if our lovely panelists could quickly introduce themselves. Hi, I'm Chris Stewart. I'm the founder of a company called Shirtbits, and I'm here for Spicy Takes. Hey, I'm Josef Jetek, Seth Joseph on Twitter, and I'm an analyst and economist at Trezor. Hey, I'm Liz. I work on Mempool Space, BISC, Bitcoin. Hey, I'm Liz. I work on Mempool Space, BISC, Bitcoin TV, and a bunch of other projects. It's great to be here. Hey there, Daniel Buckner. I work at TBD at Block on decentralized identity and protocols. Awesome. So, speaking of Block and TBDEX, Daniel, this question is for you. I've gone through the white paper. I really think Satoshi was onto something with this whole six-page white paper thing. Can we make that a standard? Just generally? That'd be great. But that said, can you explain like I'm five? Distill it into something that, maybe explain like I'm four. What is TBDEX? Can you walk me through it? Yeah, absolutely. So, it's a decentralized value exchange protocol, a generalized protocol, where you can really exchange any things of value between participants who can locate each other using a protocol based on distributed systems and decentralized identity. The first type of value exchange we're focused on is fiat on and off ramps and being able to get people to exchange Bitcoin for dollars or whatever the local currency is. The interesting thing about the exchange itself is that it gives the ability to transfer reputation and trust in a way that's standards based. So, we use centralized identifiers, verifiable credentials. It doesn't mean that participants have to require reputation and trust if they don't want to. It's completely optional. But if they do require something, they can totally do so. If it's a bank, they probably will require some sort of credential. If it's not, if it's like peers, they might not. They might just require pure reputation. An interesting thing about the protocol is that it's actually useful even beyond the stage of fiat. So, imagine we're in a hyper-Bitcoinized world and you want to buy a car with Bitcoin. Well, it turns out that this value exchange protocol can cover that use case in the sense that you might be able to locate and find all the cars available out there. And then you want to know that the car that you're buying is backed by, you know, the pink slip is valid and the person has money in their account, right? So, these are things that you can exchange as reputational proofs in the process. And the last thing I'll note is that the protocol is built on a generalized, decentralized app platform. So, this is kind of the first app we're building on top of it. And we'll have more news about that platform in the coming months. Okay, let me say it back to you. So, TVDEX is a messaging protocol that I can use to discover people or financial institutions. So, if I'm using it to discover other people, could it be used in a peer-to-peer sort of local Bitcoin type of way? Absolutely, yeah. So, the protocol, the use of decentralized identifiers in the protocol enables you to find any participants in whatever type of value exchange you want to do, whether it's currency or just any other type of good, and then be able to communicate with them privately, securely, and encrypted, exchange reputational proofs, and sort of come to agreement about, you know, selling and buying of any type of goods. Okay, so I can discover other people. So, let's say Alice and Bob, our friends Alice and Bob, meet by way of the TVDEX protocol. So, they can transact Bitcoin, of course. What other types of things can Alice and Bob do now that they've found each other? It's so romantic. This question is for Chris. What else could they do now? Yeah, once they've found each other, they can build things like discrete log contracts. But what I would have to say to the audience is what I think Bitcoiners get right is they're really focused on censorship-resistant money. And I think we all in this room agree that that's kind of one of the core principles of Bitcoin. You can spend your Bitcoin how you want to. What I think Bitcoiners get wrong is they stop at censorship-resistant money and don't advocate for censorship-resistant financial markets. What my understanding of TVDEX and BISC, which Wiz works on, is that's what they're providing is censorship-resistant financial markets where people can trade different things. Bitcoiners sometimes get up in arms about what's being traded on these censorship-resistant financial markets because it's a token they don't like or it's economic activity that they aren't fans of. But if something's censorship-resistant, you can't pick and choose what you like and what you don't like. It's a platform either everybody can use for everything or nobody can use because it's going to get coerced and co-opted by a government or a large corporation. Okay, so then on that topic of censorship-resistance, I feel like we're all going to have something to say on this, and it's important to everyone here. But Wiz, how does censorship-resistance play into BISC? Yeah, that's a good question. BISC is basically a decentralized exchange platform, which means that it's a peer-to-peer network running over Tor where everyone running the BISC node software on their computer connects to each other and exchanges the order books. And this allows users to make offers or take offers and connect to each other. And because there is no centralized network with servers anywhere, it just achieves censorship-resistance by being decentralized in nature. There's no BISC office or BISC company to shut down. It's more of a trade protocol. Okay, so can it be stopped? Can it be shut down? I guess if Tor had some issues, which has happened in the past, sure. I mean, BISC is also governed by a DAO which manages the parameters of the network like what the trading fees are and like this and other limits or payment methods. These are all controlled by the DAO which has a kind of like a unique governance structure. Basically, they have their own shitcoin token where they do the voting. And the DAO stakeholders can vote to change certain parameters. But the DAO stakeholders are not known. And so because of their relative anonymity and the decentralized nature, it's not easily censorable. Okay. Do you think the shitcoin token is really necessary? No, personally, I don't. I don't use it. I'm a Bitcoiner, you know. And you don't need to use their shitcoin to use BISC. You can just pay the trade fees in good old SATs and it works great. It's only if you really want to participate in the network which is mostly just the contributors anyway at the end of the day. So I'm curious for the audience, how many of you are customers of BISC? How many of you are passionate about peer-to-peer Bitcoin exchange generally? How many of you find local Bitcoiners in your area and exchange cash for Bitcoin? And how many of you earn Bitcoin, get paid in Bitcoin which is one of the best ways of getting KYC-free Bitcoin? So, speaking of KYC, Wiz, I'm sure you're going to have a hot take on this as well. You know, there is illicit activity happening on Bitcoin and the illicit activity is KYC. Know your customer. Is KYC going to be necessary on decentralized exchanges? No, if it's a peer-to-peer exchange then the only two people who need to know about each other are the two counterparties of the transaction. Because it's purely decentralized in nature and there is no regulator enforcing any rules, it's purely peer-to-peer. So it's kind of like Craigslist if you post an ad to sell your sofa and someone buys it. The only two people who know about the details of that transaction are the buyer and the seller. And that's exactly how it works on BISC. The only person you send your bank details, for example, would be to the other guy. They're not supposed to snitch on each other. So it achieves a very nice level of privacy and also censorship resistance this way. I just want to chime in here because I think it's a really important point what Wiz is bringing up here. You can start with something that's censorship resistant and doesn't have AML KYC at the base layer and you can always add it on top if that's a feature that is required. And I think that's an acceptable trade-off. But if you bake in all these regulations at the base layer, you can never have something that's no AML KYC on top of that. So getting these levels of the stack engineered correctly are really important. And that's kind of one of the core innovations of Bitcoin in my opinion is we have this censorship resistant money, this strictly computer protocol, and we can build financial institutions on top of it. Many financial institutions have been super successful built on top of Bitcoin. But we can't go the opposite way. So when thinking about designing these things, you need to get the base level right without these things baked in. And if you want to add them on top, go for it. That's my two sads on that. All right. Why don't we back up? We've talked about TBDEX, but why don't we start with why? Why decentralized exchanges? Why does this matter and why should we care? Josef, I'd love to hear from you. Yeah, so decentralized exchanges for me are important for three reasons. First is, you are actually forced to self-custody your Bitcoin from the start because these exchanges never hold your keys for you. And unfortunately, the default setting for centralized exchanges is they are the custodians and people tend to not withdraw their coins. So that's the first one, self-custody. The second one is you actually get to use Bitcoin as a protocol because on centralized exchanges you usually just buy some kind of weird financial derivative that's maybe settlable in physical Bitcoin if you withdraw, but most people don't withdraw from these exchanges, so they don't actually get to use Bitcoin, whereas at BISC you use multisig, you are confronted with handling your private keys and with miner fees and stuff. And the third one is the privacy aspect. There is no KYC, everybody knows some of your details but there is no reason to snitch, as we said. And KYC is this whole, like you said, that's the elicit activity, that's the thing, because it stays with you and once you KYC yourself it's hard to get rid of because these exchanges employ the chain analytic companies and privacy in Bitcoin is hard and if you dox yourself at the start it's very hard to correct that. Yeah, that's a great topic actually of privacy in general. I'm curious for Wiz, what kind of privacy information would I be concerned about, say leaking to my counterparty if I'm exchanging peer-to-peer on BISC? Yeah, that's a good question. It really depends on the payment method. The most private might be meeting in person at the Starbucks and just handing cash to someone. There's also US Postal Money Order. You can physically mail a money order to someone for like a thousand bucks and the post office website allows you to verify that the money order serial number and the amount, everything was cashed or not cashed so you can verify without going through the banking system but also be able to send the money. Of course if you use a payment method like a bank transfer then you'll need to send the other guy's interest to save those or dox you for any reason. So there's different trade-offs with different payment methods. Some of them are faster or slower. Some of them are more expensive or cheaper. Some of them are more private or less private. And it also depends on the country. If you're in Japan for example you can actually do anonymous bank transfers. If you're in the US the Postal Money Order is excellent but every country has their own on your threat model I guess. So cash in the mail, cash in person. I mean I don't own any bitcoin but if I did... A lot of people in the crowd do though. If I did I would use the US Postal Money Order system on BISC. It's pretty cool because it's basically how people sent money to each other before banks were what they are today and because the post office has this really cool website where you can verify everything no one can claim that you didn't send them the money or everything. It shows what post office it was cashed at and everything so it's really well built for BISC users in the United States. I noticed that Strike is one option. What kind of privacy would I be expected to leak say if I were to use Strike to pay on BISC? I guess Strike is a newer payment option. I don't have a Strike account so I've never used it but if that's true then I would assume it works like any other payment method. I mean obviously Strike you need to connect to your bank account but the counterparty wouldn't be able to see that. Right. I believe they receive fiat on the other side of that trade so that's a great I think payment method that now exists on BISC. I've got like a thousand questions for Daniel and I think we're probably not going to have enough time. We'll probably have to talk later but I'm curious to hear more about TBDEX. My understanding is that TBDEX cannot exist without some kind of verifiable credential some kind of system of trust. Right. And the reason for that is because Bitcoin of course is trustless but the fiat system when you're exchanging with another person there is some level of trust that's going to be required. Now my understanding is that TBDEX is predicated upon decentralized identity or DID for short. And again if you could explain like I'm five or preferably explain like I'm four what is DID and how is it used by DEX? Yeah so DID is the standard that has gone through international standardization at W3C. It allows you to create identifiers that are wholly yours that you can rotate keys under and you can prove so unlike an email address you actually own your identifier and can have the full routability to like to send messages to someone. You can have multiple identifiers and we encourage that. It's not like one identifier and you keep using it everywhere to correlate yourself. Like you want to retain privacy. And then the other big component is you don't need proofs of anything. You can prove a diploma or whatever. In this case you might prove KYC details or reputational proofs if it's like peer-to-peer and you don't need like a KYC component. It's just modeling it with a standard. So whatever your form of reputation or proof is we're trying to use these standardized forms for it. That's really interesting because in BISC there is no identity system. There is no reputation system. Your security deposit system is financially disincentivized. So in BISC there is no identity system because we want privacy. We want anonymity. You could create a new BISC account for every trade or you could use the same one. There is no identity. Yeah I think there's a misnomer with identity. You hear the word identity people get really scared. Identity just means an identifier you use you don't have a reputation you're just using it to do the messaging exchange and that's kind of how we work it. And so identity you have an identity but you may have many facets of your identity you may have millions of identifiers every website you go to you use a new one. So we believe in exactly the same thing it's just a standardized means of locating people if you needed to in a recurring fashion. The other thing is we want to make on and off ramping to existing financial institutions easier Bitcoin for 10 years I want that as much as anyone but the reality on the ground is that we need to get more people into Bitcoin so we have to bring the world with us and that's part of the reason why we added these features that are totally optional so that those institutions can start helping by participating in the system and increasing the number of people who have Bitcoin. So my question is would TBD DID be compatible with FIDO too? There's this open standard for online identification I believe FI's Fast Identification Online and Trezor supports that so I could prove my identity like credentials not my real identity but I'm the same person like the last time with signing some kind of cryptographic message. Yeah so I actually worked on some FIDO stuff while I was at Microsoft I was on the identity security team where we were looking at towards the end of my tenure they're doing extensions so that your DID's are backed by keys you own can go through that same existing standard FIDO right now the way it's designed it sort of assumes that you're using a single key just a non-rollable key and the PKI source is like a centralized entity so you have like a key with a website and you have to go register it with them so it's kind of not designed to be decentralized you can extend it though so that it uses DID's instead of centralized accounts so there's ways that we can uplift these things into more decentralized forms I wanted to ask if BISC sort of uses reputation because there's the account age is that right? and number of trades I believe and do you tend to choose these accounts first? It depends on the payment method so I think in the US there's a payment method called Zelle which is I guess the common way to quickly send money to your account and because there is a very small amount of chargeback risk it's not zero they implemented a small limit for new accounts and once you trade a few times with other counterparties who are signed then they'll sign your account to build this decentralized level of trust they're not signing your identity so much as they are the hash of your payment account so I guess you could consider that a pseudonymous identity I would call that a pseudonymous identity any identifier you have in the world if it's a point of reference when we talk about identifiers like email or even your at name on twitter it's a point of reference so if someone is able to accrue reputation or use it in any way it forms an identity now let's not confuse personal identity like you as a person with that identity identity just means I could be a dog on the internet it's a little overblown piggybacking off that I think maybe one of the ways you can think about identity is simply a public key a public key is an identity on the lightning network for instance our identity is our public key with an IP address and that's how you connect a question I have for you to make this a little bit more concrete would you say that if DIDs should be included in the lightning spec to be that form of identity would DIDs compare and contrast to the current form of identity on the lightning network which is the public key and IP address yeah so I do I think it would be great if lightning did embrace the DID spec the spec is not actually prescriptive in terms of how you would implement a decentralized identity network like when I was at microsoft and now block working with ion which is like a layer 2 on bitcoin to do DIDs it's mostly a data model so anyone in a standard way can find the keys and routing endpoints how much data? not much, it's not personal identity the DIDs themselves don't have any so a 33 byte public key is what we have on lightning today I'm guessing it's more than that we're talking kilobytes, megabytes maybe 2 kilobytes at max it's just public keys and routing references it could be decentralized URIs to how I message you so it's really important because I think it gives efficient lookups and locational finding that could be even better potentially than some of the constructs in lightning that are required because they're doing pathfinding for liquidity and stuff it kind of feels like the more modern way to do decentralized web of trust like back in the day we would have key signing parties where you would meet in person and sign each other's PGP key but now it seems like maybe the entry of corporations that will basically KYC people and sign their key for them so you'll have like at wiz at twitter for example or maybe some block or square you could be at wiz at square and that's KYC'd but if you're at wiz at bisc or something, maybe it's not KYC'd and depending on who signed what keys you might want to trade with this person based on those things so let's say in one context of your life you use a given identifier and you accrue reputational trust like I get a degree from an institution or something like that those are all verifiable credentials like LinkedIn may soon accept these and say oh I can verify that this institution that has a DID signed this proof and it is you who's with zero knowledge proving that you actually are the holder of the keys that back it so absolutely but what about ZKP cryptography? Oh no, I mean so some of the credentials definitely will use ZKP stuff I worked on a snark construction with MSR colleagues when I was at Microsoft that we are looking to implement in the community and it is a zero knowledge credential that you could say let's say a credential had like 10 things you can prove in it you could do selective disclosure where you only want to disclose a few of them or advanced construction credentials well like I said Daniel I'm going to have a thousand more questions for you after so I hope you have some time later this week and I want to say thank you so much to all of the panelists unfortunately that's all the time we have for today I'm very excited for the future of the re-decentralization of the web which will hopefully be using some of these exciting technologies that we discussed today and which definitely will not be some kind of web 3 like Dino decentralized and name only blockchain it's going to be the real decentralized web and it's going to use Bitcoin and Bitcoin only yeah absolutely they weren't joking they really should have brought the sunglasses how's it going guys so just a quick shot up to the guys doing the workshops at the back it is a little bit noisy so if you want to have conversations please go on the outside because you are you really are going to want to you you really are going to want to hear what these these incredible people have to say today I think you can come back in at 3 o'clock and use the tables to do your your workshops and your and your hacky stuff after so I'm just just a note on that so yeah welcome everyone thank you for for joining us today so we're going to be talking about improving and 10x in the Bitcoin development experience I've got some amazing panelists with me today so my name is Connor I work at spiral we're focused on improving the Bitcoin open source ecosystem via a number of different initiatives some of which will kind of go into detail today so we'll start by just getting to know our panelists a little bit today so Steve if you want to start sure yeah so I'm Steve Myers and I'm a contributor art contributor on the Bitcoin dev kit project and my work is sponsored by spiral as are a bunch of other developers on our project so and yeah we'll talk about what PDK is in a bit hey I'm a Stephen Delorme I hang out in the Bitcoin design community I guess I spent a lot of my time contributing to the Bitcoin design guide and other open source design related projects in Bitcoin hey I'm Matt Corallo I work on the lightning dev kit project sponsored by spiral as well or I guess work for spiral so our goal being to allow people to build custom lightning nodes and lightning integrations super easy and we take all the hard work out of that okay okay awesome just just another note again if you're if you want to have a conversation please please leave the room and you can come back in about three o'clock to to use to do the works and stuff but so again so we're gonna talk about like improving the Bitcoin development experience but before we talk about some of the projects that are aimed at doing that let's talk about what the experience has been like over the past couple of years and trying to build Bitcoin wallets and other types of applications maybe Steve if you wanna yeah sure so the way I came to the BDK project was that I wanted I had a solo project I was working on I wanted to do something on mobile with a Bitcoin on chain multi-sig and there's just not a lot of great options you know like there was some stuff in Java but it doesn't work on iOS and then of course a lot of them didn't have the latest modern features that you would want in a in a Bitcoin wallet teamed up with Alekos Fellini and he's got you know there's this great library that uses another library set of projects called rust Bitcoin which provide you know all the primitives you need and then you know put together with another rust Bitcoin project for many scripts you get descriptor support and of course SegWit and all you know talking to different Bitcoin backends it just you know basically gives you all the features so then one of the things I focus on is making that available on mobile so you know with Kotlin and Swift so you can just you know as a developer you just can pick up this library now and build a Bitcoin wallet for a desktop or mobile okay also and so some of some of these libraries that existed over the last couple years I'm assuming they haven't been as well maintained and it requires like developers to operate at a very like low level when they're trying to integrate Bitcoin online is that yeah I mean it's kind of the other thing about having a library like BDK and LDK is that it's got sort of the best the best practices built in implemented in a way that a lot of people have looked at and you know you can you know you don't have to necessarily be a bits and bytes Bitcoin developer you can understand the API and you know and just use it with a whole community kind of supporting you behind it okay awesome and Matt you've been around in Bitcoin development for some time like how do you kind of see how Bitcoin development has kind of us yeah yeah so I mean I came at this from from I worked on Bitcoin core for many many years and have now kind of moved over the lightning space you know historically when I when I started working on Bitcoin many 11 years ago or something there weren't any funding for Bitcoin core developers there weren't even any full-time Bitcoin core developers now that you know obviously Bitcoin core can always use more resources probably but but that's kind of a soft problem you know you there's there's a ton of people working on Bitcoin core Bitcoin core has a lot of a lot of really smart people working on it you know there's there's room to grow but but everything further up the stack doesn't right and so BDK has been been really awesome you know Steve talked about all these like libraries that have been kind of one-offs that people have thrown out in various languages and they're not well maintained and they're not really all that usable and so you know having a common base for for on chain stuff is awesome but you know we looked at it as the spiral team and we also and we also concluded like there needs to be something like this for lightning to write is that the lightning is is even more complicated than the on chain stuff there's even more to get right there's even more to to do and and we've seen several kind of mobile lightning wallets we've seen several lightning wallets come around and it's a full-time job for a team of three or four people to not only build a lightning implementation but actually keep up with all of the changes happening in lightning and everything going on in lightning and so our goal is to kind of abstract that out right and there's make it so that you don't need a team of four full-time engineers to build a great Bitcoin wallet where you know there's there's frankly some some work to be done right there's there's some good wallets out there that need to grow need to add lightning support need a little better UX here there need a little better design help design community folks and and you know we want to see a lot more especially things like Bitcoin beach wallet things like where there's like a localized community that that has some local features they might need or where you know integration with some local services makes more sense and really enable people to build good user experiences around Bitcoin that you know that it's just currently you have to be a great low-level engineer to do that and finding a great low-level engineer who is also good at building you UX and good design is not I mean basically it doesn't exist right and so trying to abstract away that low-level stuff so that we can do all that work for you and then you can focus on how do you build a great user experience okay okay amazing amazing and so it's yeah it's like it's this idea of like allowing people who operate at different levels in this in the stack to really specialize in specific areas so like you say if you're a protocol engineer you can operate and build the tools that make it easy for application developers to build front ends and and who work with more UI and UX focus people they can really hone in in those areas so we've kind of identified that the developer experience is something that is pivotal to 10x in the Bitcoin development experience Steve Myers and Macquarie you're working on some projects to do that one being the BDK and the LDK so do you want to explain to the people what what the BDK actually is right so a BDK stands for Bitcoin dev kit the name inspired by LDK which had the similar name and the idea that we're focused is on building descriptor based wallets so these are on-chain wallets and you basically get all the modern features you know you have like I said so descriptors are a way of defining the spending conditions for a wallet but it's you know it provides you a way to create those scripts in a way that's portable between different wallet implementations as well as well reviewed and audited like you can easily look at a descriptor and figure out what it does for some more complicated spending conditions and as Matt was saying you know people might want to build applications for specific you know specific communities but it could also be like you're a company and you want to build something in-house that uses Bitcoin you can now you know you don't need to have a bunch of Bitcoin protocol engineers in-house you can take this library it's gonna be reviewed by you know the Bitcoin community you can contribute back to it if you have no features we had one one person that was contributing back to our project and he had a use where he wanted to do proof of reserves so he could easily within his company create a proof of reserve library using BDK and then you know release it both open-source and now any company that has that need can can use these two libraries together it's just like an example of somebody that you know didn't have to start from scratch and it's it's a really important thing to that a lot of things are changing on LDK but things are still changing on BDK to you know taproot is coming out you know it's gonna be it's gonna be difficult for somebody to you know implement a taproot wallet from scratch but you start with BDK and BDK is gonna be supporting taproot now you can just immediately get that feature in whatever application you're building so that's part of the power. Fantastic and on the LDK side? Yeah I mean so basically the same thing right yeah but but on the lightning side right so the lightning protocol like I mentioned it is it's complicated and it's really hard to get right and it's really important you get right you get it wrong you're you or your customers lose money and that's not experience so so we try to you know do something similar where we do all of the lightning state machine we do all of the the logic around how you how you route payments and how you how you even forward payments if you're running a non kind of mobile node and do all of that stuff and then we expose it as kind of the individual building blocks and they all work well together and it's easy to hook them up together or you can separate them out you can say I'm gonna run the routing part on a server and I'm gonna query that from the client and then I'm gonna do my backups by doing live updates against you know iCloud or whatever you want to do you know we give just neat little interfaces for all of the different pieces that aren't kind of cordal lightning but like how do you store your data how do you where do you get your private keys from how do you sync the chain all these kinds of things that you could have many different ways you want to do it we provide just interfaces for that and you have to go kind of hook it up to the right places but you don't have to do all of the kind of hard work of building a lightning state machine and so we we do that in rust as well and then have like BDK language bindings and in a number of different languages and more continuing to come so the developers can kind of focus on how they want to build a Bitcoin application and now they want to have the UX work and we can just kind of make it easy to hook it up and have lightning suddenly running okay amazing and you have a developers working across various different stacks whether it be on desktop on mobile on embedded devices whatever it might be also working in different programming languages as well so how do you approach trying to accommodate for all of those different types of users yeah I mean that's a good point that it's one thing to have a nice well-reviewed you know feature rich Bitcoin and lightning stack but then it's a whole nother thing to support that ecosystem around it for mobile so you have to have you know you have to support Android you have to support iOS and in those environments you want to support those languages so you need to support Kotlin or Java on Android and you want to support Swift you know that's sort of like just you know the you know that's sort of the you know the price of admission as you just need to support that and to do that as well as supporting the core library gives you that just kind of you know easy pick it up off the shelf and you can start building your app whatever environment you want which is hard for you know hard it's it's it's it's a just sort of building that ecosystem just opens it up for everybody cool and I think like the technical term we kind of use is like language bindings and like Matt what would be somebody around yeah I would say you know supporting different environments and thinking hard about different deployment scenarios is like 60% of the work we do the other 40 is actually doing lightning stuff yeah I mean we built a language bindings framework from scratch we we sat down and said like all of these existing line you know we have a rich object-oriented interface with different classes and different interfaces that you have to plug into and use and we want to support that in different languages turns out there are no language bindings frameworks to support it just doesn't exist you know all the all the existing language bindings frameworks are for people who are saying like well I've got my my app and it's written in Java or Swift or whatever and then this this one function is too slow and I have an implementation and see I want to call and it's like one function and it's a pure function and it doesn't have all of these interdependencies or whatever and there's a ton of frameworks for that and they're really great and then you want to have like well I have these classes and I want native you know I want wanted to feel like a native interface where you're like instantiating these classes that are secretly written in rust but they're actually you know exposed to you in Java or Swift and then you have interfaces that you want to write an implementation of in Java that like the rust code is actually calling all the way into yet turns out that didn't exist so we had to we spent about two years of engineering time a little more actually building that from scratch and yeah I mean an insane amount of work but it ended up working really well and so you know cash up shipped with with LDK powering their lightning node and they didn't write a single line of rust they didn't look at a single line of rust they wrote it all in Java or I guess they wrote it all in Kotlin but so that that turned out to be a good investment it worked incredibly well at the end of the day but but that ends up being almost all of our work is is a combination of that and also just thinking about how do we design an interface that is hard to misuse how do we design an interface that's either gonna like immediately spontaneously combust and the application won't even run or it works right and you can't lose money and the you know the payments go through reliably and it all works right so you want to trying to design interfaces is hard art form right and so that that ends up being the other half of our work is is just how do we make sure that this interface is going to be robust and users are going to know how to use this correctly just by looking at it and and they can't screw it up right yeah actually LDK also provides great documentation you know API documentation as well as examples that's the other thing BDK also tries to provide is examples documentation which is another big piece of work it's not you know you can't take it for granted that every library would have that yeah awesome okay so Steven we've not heard from you just yet but you come from a slightly different perspective being a designer so do you want to talk to us a little bit about the Bitcoin design community what that is what that effort is what type of things are involved and on that side of things and then we'll dive into a bit of how we tie the fact that we have these awesome SDKs and with the UI expertise that comes from that community as well yeah so the Bitcoin design community is just kind of a decentralized community of designers and creatives who are interested in working on open source Bitcoin you know I guess the kind of central thesis of would be thesis of it would be that you know Bitcoin is the best money so it should have the best user experience and you know I think a lot of people would agree that it's you know it's currently lacking a lot of people find Bitcoin difficult to use there's a lot of uncertainty for people about how to you know self custody their own Bitcoin so you know kind of the flagship product of the the design community is this a project called the Bitcoin design guide and the Bitcoin design guide is you can think of it kind of is like human interface guidelines for Bitcoin products if you're building a non custodial Bitcoin product you know this you can turn to this guide to look for principles and techniques that you can employ to build a better experience for your users and like it might be good to differentiate a little bit like you meant you said the word UI like you know it's also I think important to differentiate between like UI like just the the thing that the user sees on screen like the the specific color of the button or the font choice right that that I consider to be more UI but like UX I consider to be a little bit more broader than that like we're trying to think about like the whole experience the user has to go through you know is the application you're building let's just say it's a wallet for example do when they turn it on for the first time do they know what they're supposed to do when they receive their first Bitcoin you know is there a backup facilitated how is the user still using it a year down the road are they still using it a five years down the road and is the way that they're using it changing so these are kind of like all you know things that I would consider kind of under the umbrella of user experience and I guess kind of like similar to LDK or like BDK and LDK is that um you know if you think about like why should every single developer have to repeat the same work over and over again like let's find what works like let's you know build our goods you know lightning state machine and just put that into a toolkit and everybody can use that you know similar with design like we don't need everybody to come up with a new design solution every time like if some other wallet or Bitcoin service has come up with a good design solution that makes it really easy to use for people why don't we document that in an open source way and then other projects can take you know take advantage of that amazing and just to touch on a few things around like the design guide and kind of documenting patterns that work regardless of you know what what wallet you're trying to build or what Bitcoin application you're trying to build do you want to talk maybe about a concrete example and one that was you know announced earlier by myles and the cash up team the bit 21 URIs and like how that's an example of developers and designers who you know developers who have created this standard and getting some some some aid I guess from the UX side to kind of tie it together as like a concrete example yeah yeah that's a good one so for if if anyone didn't see the cash app talk this morning you know miles announced a lot of cool features but yeah one one of them in particular was this plan to kind of move to a new type of QR code or using an existing type of QR code but differently and this you know there's been this you know big conversation about it in the Bitcoin design community and other open source Bitcoin communities about this you know like just as a real-world example I think you know many of us witnessed this last year in El Salvador just the difference in payment formats you know for example you go into you know like a little bodega or pupus area and you want to order something and you know you ask to pay in Bitcoin and you know there's usually some kind of toggle that they have to switch between an on-chain address QR code or a bolt 11 invoice QR code or a proprietary Chivo QR code so you know and there's just not a lot of education people aren't sure what what what to do in many situations and you think about QR code it's kind of like an ugly human unreadable thing like you can't look at a QR code and just like know what's inside of it unless it tells you so there was a big problem and you know there's been many people have tried to come up with solutions for that like Galoy at Bitcoin Beach they had kind of a solution that they were experimenting with there with these kind of QR codes on these signs and they were they were trying to solve you know the same kind of problem like how do you make it easy on the user but I'm not sure exactly where the idea originated from I first I think heard it from you know Pavlonek's and you know John's Bahari and Steve Lee some combination of those three but basically this idea of you know just taking a bit 21 which is this it's this payment URI formats been around for about 10 years I think you weren't you involved I think I might have written the original yeah I think I saw your I think I saw your name on the paper but you know it's basically this idea we can use this existing spec we can put an optional parameter in there put a lightning invoice in there and I think the spec was very forward-looking like it you know you're kind of predicting that people would want to use it in different ways and we don't know how we're gonna want to use it in 10 years well this is an example of that so we're now able to use this existing open source standard and you know in the Bitcoin design community we started experimenting with it we built a website we started documenting which wallets could support the standard and which don't and we started reaching out the projects and this is just an example of like you know designers can get involved in open source and you can go on github and you can open an issue with a project and make a bug report or a feature request or suggestions for UI improvements and so we've gotten pretty positive feedback I mean there's it's an ongoing discussion but we've gotten very positive feedback and even cash app was able to get involved and have discussions with the Bitcoin design community about about this project so it's really cool thing if you think about like if you have the best UI the slickest UI the best UX in the world for your wallet if every other Bitcoin while out there has has is hard to use it hurts you too like we're kind of all in this together when it comes to Bitcoin UX so you know cash app I was really I thought was really great that they they got involved with the design community got involved in these discussions and now we basically seen in a very short period of time designers and developers collaborating together to you know improve improve the UX yeah and I want to zone in on that last little thing you said there around developers and designers coming together like sometimes we term it like bridging bridging the gap between designers and developers now that we have these development tools and and a design guide why why why is it important to kind of bridge that gap is it the fact that now we can get more experimentation happening quicker is it the fact that like those tools just naturally bring bring those two users together like what would you say about about that side of things I mean in terms of you know bridging the gap I'd say you know I think this is a running problem in you know software engineering and product development this idea that like if you're if you're trying to build something and you you spend you know six months planning it out and then three months building it and then you know two months testing it and then eventually by the time it gets to market it's like you you know the competitors beat you or users you know customers demands have changed so I think like what we've witnessed over you know the past several decades is just that you know development cycles for products are getting a lot you know I hate to use this word but I guess you'd say it's becoming more agile like we're figuring out how to we're figuring out how to like ship features quicker and so an important part of that is like you don't want a situation where like the designer is you know building this perfect you know layout and then I pass it over to the developer and then you know the developer you know kind of has their own interpretation of it and then you know by the time it hits the market it's you know something's been lost in translation I think like on the open-source side what's what I've witnessed just in the design community is that like some of the most successful Bitcoin open-source projects are one where the designers and the developers work very closely together and they have like kind of a constant feedback loop so like if you come in and you say you ask the designer like can you solve this problem for me what's the answer to my what's the answer to my question and then take it and run with it you know here's the thing this isn't like a perfect science like you know like there's not like one just answer to UI because it's gonna depend on like where you are in the world what kind of customer you're trying to serve like where you are in the world what kind of customer you're trying to serve you know what you're the needs of your community are and so there's not just like you know this isn't like you know physics or something where we can like you know absolutely define something down to a molecule so the ongoing collaboration between the designer and developer I think is so that you know you can test stuff see what works and just very quickly find what works for the the product or for the customer that you're trying to serve okay fantastic and so just to recap a little bit we have the BDK which is helping with on-chain Bitcoin functionality exposing all these high-level APIs similarly on the LDK side if you want to integrate instant lightning payments into into any wallet or application what what types of what types of applications and and are we seeing being built with like BDK and then we'll go into LDK in a second so yeah yeah yeah so I so right now you know we primarily have sort of example applications we we did I mentioned there was a bank looking to use you know looking at BDK for some proof of reserve stuff kind of our big focus now is just getting more you know more of the mobile stuff built out to support more mobile applications and you know that's part of you know what I'm doing here and the rest of the BDK team is doing is just finding open source developers or finding closed source developers anybody who wants to build something using on-chain Bitcoin and you know getting to know them and getting to solve their problems with BDK you know I don't think we have any big like commercial programs yet using BDK but the goal is we hope to soon yeah we're certainly that's our that's our goal is to make that happen yeah yeah okay yeah and on the LDK side we've been around for a little longer than the BDK side um and so we have so CashApp was our first uh user to go live in a big way um it was actually the the second uh user to start integrating uh over torments back here somewhere from BlueWallet uh suffered through a lot of the pain of some of our very early alpha language bindings um projects um and so they have they're they're more in flight as well um obviously uh you know building for mobile is is just a little harder in almost every way um not only on the language bindings end but but also especially on the lightning end there's just so many more things you want to get right to have a really great user experience especially as a non-custodial and user application um and so CashApp kind of beat them to the punch it's a little easier to build a a custom a custom lightning node that is just custodial than the non-custodial um but but it kind of highlights the the very different uses for LDK and projects like this um where you know CashApp is a large corporate they have a ton of back-end infrastructure that existed already for all of their existing you know obviously CashApp does a whole lot more than than Bitcoin um and they really wanted a lightning node that tightly integrated with all of that infrastructure right so uh using their own logging infrastructure their own database infrastructure their own uh node failover and and uh hosting infrastructure all of the stuff that they already had they wanted their lightning node to really integrate well with that um and just taking something like C Lightning or LND which which are great um but and running it off the shelf doesn't provide them that right and so they wanted to build something super custom and they were able to in in a number of months put together a full lightning node from scratch that uh used LDK to do all of the kind of lightning parts but then uh integrated and worked in exactly the way they wanted a lightning node to work for them on the other side you know BlueWallet um just completely different scenario but again where it's they already had an on-chain non-custodial wallet they already synced the blockchain they already had key derivation they already have had a backup system you know they already had all of these pieces and they didn't want to you know take something like LND and try to make it run on mobile and then uh sync the chain twice and have two separate key derivation systems and have so you know they wanted a lightning node that worked with their existing infrastructure and actually integrated into the app and not something that just was completely fresh from scratch um or was from scratch kind of for them and so there again you know this LDK where it's really just building blocks you know we provide a bunch of different building blocks and some sample implementations and you can take the pieces you want and hook them up in the way you want and end up with a lightning node that works in exactly the way you want um so so being able to build super tailored systems for exactly what you need um is really kind of the I would say the value of everyone standing on this stage is helping people build exactly what they need yes it's interesting because although like sometimes we talk about like LDK having the sweet spot of like non-custodial mobile where there are like constraints on memory storage background tasking all of these kind of things we are seeing something like uh Sensei which is a um I guess a lightning node implementation based off of LDK as well um which we hope might be in the in the umbral app store soon and you know there might be instances where although out of the box it's not really designed to be like an out-of-the-box node experience like you have the tools to to make a custom node yourself right so that's really cool and on on the Bitcoin design side although we talk about the user experience and getting developers to work with designers to build you know customer facing stuff like wallets and other types of applications what other things do we see from the Bitcoin design community around art and a narrative and and all of these kind of things yeah so I mean uh there's there's a lot a lot of different projects uh you know in the design community other than just the design guide um you know around art I'd say uh yeah I mean there's a whole channel in our uh our slack workspace where people post like art they're working on and stuff which is really cool um you know we've gotten involved with other you know there's a lot of um just kind of I guess like collaborations you'd say um you know which is basically somebody's doing a project on Bitcoin they come to us and you know they might need some help with something and you know we'll put together a call and people in the community who might want to help this project can jump in and help out and so you know like on the the narrative side you know there was this hello Bitcoin project that you were involved with and uh you know it's kind of a video series that kind of teaches people the fundamentals of Bitcoin and why it's valuable and several people in the community got involved with that and started working on the animation for that and also just like with like wallet projects and stuff I mean there's currently a collaboration with join market um I think there's some people there's a team working on uh trying to redesign the UI for Bitcoin core like the wallet um portion of it um there is uh there's the Zeus wallet which has been an incredible incredibly good collaboration um there's uh you know also just some some um kind of other flagship products next to the design guy would be like the UI kit and the Bitcoin icons kit um Christoph Ono and Bosch like those are basically kind of toolkits you can use so you can take the icons kit and install it as a viewer react module and just instantly have icons for your your Bitcoin product um you can use the the UI kit it's a Figma prototype um you know so you can basically rip screens from that and incorporate them into your project it's kind of like why and why reinvent the wheel not to limit your creativity in any way but it's a good starting point so you don't have to rebuild um everything from scratch so there's really just a ton of of projects going on in the community sometimes new initiatives just kind of spring up out of nowhere without any central authority which is cool yeah awesome and then just trying trying to tie things back to you know 10x in the development experience um what what advice would you give people who want to get involved in a space whether it be contributing directly to BDK LDK in the design community or taking these tools and and building applications themselves like any any advice for for these people I can say one thing that I know that on the design side I used to work in enterprise software and we basically never built anything until we had UX and UI primarily UX actually because you know that's like you want to developers sometimes aren't great talking to users and UX that's part of what they do to bridge the gap is they're basically collecting that user feedback about you know what does user want to do how do they want to use it you know maybe they don't know what they want um and maybe what they want isn't actually what they want what they think they want so that like that's obviously part of it part of it but on the BDK side or on the on-chain side just being able to take a library that's well reviewed has examples allows you to kind of bootstrap whatever project you have um and then I think it's also you know from the closed source world you might have all these companies replicating the exact same software and that's pretty inefficient you know with open source and you know projects like LDK and BDK you have all these people that want to do the same thing all these smart people that can just get together combine forces trade ideas back and forth people all over the world you're going to get a cross-section of developers that you could never as a company afford to buy like they're not for sale most of them so um you you get that for free and it's it's quite amazing you know it's it's you know it's a resource that you can only get in an open source project you're not going to get that on a closed source project so how about on the design side if you want to if you guys want to get involved yes on the design side I mean uh just from a you know a purely tactical perspective you go onto bitcoin.design our website go to the contribute page and follow what it says there you can join our slack channel you can add our calendar um to like your google or apple calendar and all of that um you know but just to dig into that a little bit more I mean you know we do calls you know talking about specific projects or issues and it's all pretty open so I mean I would really encourage you to just lurk um you know once you get on a call and you you know you can just hang out you don't have to ask questions or be involved if you don't want to and you can just kind of see how an open source community functions and then jump in and contribute uh when you feel comfortable and I'll just say that like I really encourage you to do it especially like especially if you're like starting out your career and you're thinking of doing an unpaid internship I'd say don't do that and I would say contribute to an open source project instead because you know like Steve said you're going to meet like people all around the world with different ideas you're gonna you're just you know kind of connected to this Hivemind of ideas um and and also like the open source contributions you make people are going to see them so it's not going to be like some proprietary thing that's hidden um and you have to kind of like hype yourself up like people can see when you're doing your work in the open um exactly what you're contributing and those open source contributions I think will follow you from one job to the next cool yeah definitely and maybe to summarize a little bit like you know there's a lot a lot a lot of focus in this space of like oh I want to contribute to bitcoin core I want to contribute to like the lowest levels of the protocol and and that's awesome you know those those spaces need as much contribute uh contribution as they can get as many eyes on it as they can get um but they also have over the last few years started getting a lot of eyes on it a lot of contributors a lot of a lot of great people working on those projects and further up the stack you know you see a lot of these you know awesome wallets that people have started building and that people use every day and the real touch points for users on bitcoin non-custodial have teams of two or three or four people right and and these projects you know they they often don't even have a ux or a designer they or they you know have have some contribution from the design community and and work or you know turning to that increasingly um and they you know they don't have the resources to to build out a lot of really awesome ux that they might want to build because they're too focused on some of these lower level things and so there's there's a lot more room to contribute to some of these projects further up the stack um and and make a much bigger impact on how people actually use and experience bitcoin um because these are the real touch points you know people actually are using an app to to receive their bitcoin and they're not they're not using bitcoin core on the regular basis um and so i think there's a lot of room to to contribute to these communities certainly especially the design community and going out and actually working with some of these wallets um and then there's also just a lot of room to to build great user experiences using bitcoin um you know there's only probably a handful of wallets that that people strongly recommend that have great ux um and you know go build another one you know go go build something that's that's unique and and has some other user experience that that you think might win yet more people over to bitcoin and give them really the the experience that they want um and there's there's a lot of room in the space for that kind of contribution awesome and then just a kind of final closing thoughts um from the from the three of you what are you kind of most excited to see in in bitcoin development this year and um then just tell people where they can like find your projects again the projects that you're working on again so maybe steve do you want to start sure well i mean as a an on-chain library i think taproot's probably the most exciting thing right now just from what you're going to be able to do with it and being able to support that in an open source you know easy to accept sort of way um if you want to go to bitcoindevkit.org that's our website you can get links there to the the github repository and also our discord community um if you have questions or have ideas for an app or you want to contribute to the project you know you can chat with us there we're we're around the we're around the globe so there's always somebody around online there awesome yeah and steven yeah i'm uh you know one kind of thing i mean obviously i'm excited about the unified qr code another thing i'm kind of excited is just like stabilized lightning channels i mean obviously bitcoin's the best money and it's what you want your savings in but one thing i've just kind of seen you know like with adoption and developing nations is that like you know there's obviously this need for like having a little bit that's stabilized you know for your weekly expenses and i think the overton window has kind of shifted around that conversation and we've seen this like kind of explosion of ideas over the past like two months here of just different ways of accomplishing that so i'm really curious to see how you know what what the engineers decide is the right approach but um you know after the the whole kind of rough consensus process but i'm also curious to see what the design uh around that how we solve those design problems um but yeah you can uh like i said you can follow what we're working on in bitcoin design just by going to bitcoin.design on the web perfect i'm about to finish this off yeah um oh man there's so many things going on in lightning um uh all of the things um so yeah on the ledk side let's see we're we're working on bolt 12 integration so so improving uh the the way people pay in lightning to add uh to address a number of shortcomings in the user experience and a number of different ways people expect to pay especially things like static invoices um so that's huge um shipping zero conf and other features that are kind of needed for first class good mobile user experience and what people expect from existing lightning wallets um that's going to be huge um and and just helping people start building a lot more lightning wallets and a lot better ux and helping people not have to spend four developers three developers full-time just to maintain stuff and actually enabling people to really start experimenting more with lightning start building more stuff start uh extending more stuff and and you know getting stuff getting to the point where we can start you know having people build good uh dollar denominated lightning channels um on on a mobile app you know that's that's gonna be awesome but man we've got a lot of work to do to get there um and yeah you see you can go to the lightningdevkit.org um if you want to check it out and we have a slack and a discord community because i don't know uh we like we like making sure we're available to anyone who has questions um so you can you can join one of those there's always someone around to answer questions and and you know like like all these great folks we try to be pretty hands-on and pretty uh available to to answer any questions and to help you figure out what's going on and how best to to build what you want to build hey you said it we got a lot of work to do back to work yeah back to work thank you for listening really appreciate it see you guys around oh my god why is it so bright i feel kind of far away from you guys but yeah uh i'll move in you you want to go on the couch it's uh sure yeah it's gonna be a little awkward actually it's better if we stay in order for them i think all right yeah we're all good i hope we don't yeah the camera people sorry i think they framed the shot with that last chair in mind so uh welcome everybody um my name is ben i'm host of the btc sessions on youtube uh i guess i'll just let you guys introduce yourselves we'll start with paul sure my name is Paul Sztorc um we're going to be talking about soft forks today so i have a soft fork proposal bib 300 um i've also written a lot about soft forks in the past so i guess that's my intro awesome jimmy i'm a bitcoin expert i guess or educator or something i i do a lot of stuff in bitcoin i write lots of books and yeah i'm up here mostly to look pretty i think uh hey i'm uh jeremy rubin i'm a bitcoin core rabble rouser and uh i also have a software proposal that i've been doing called bib 119 and happy to be here to talk about it with y'all awesome uh welcome guys let's give him a round of applause for being here and uh so i i want to start this talk out uh by making it accessible to to uh you know some people that may not be super familiar so we'll just set a few baseline things then we'll get into the weeds after that so uh i'll open it up to anybody here but let's just break down really really quickly briefly the difference between a hard and soft fork for whoever wants to take what i've just teed up i will do it because a fork is a very serious thing it is really how the protocol changes from one protocol to a different protocol which can cause people a little bit of consternation because they worry about oh am i going to lose the old the things i really like about the old protocol and that is the difference between the hard and soft fork which is that the hard fork is an absolute permanent split where the you've formed two networks and it's you you break up and you are never getting back together and then with the soft fork there's this theoretical compatibility where all all the these different these different protocols are nonetheless interoperable with each other so you can stay this idea of it being compatible and opt-in which is a nuanced point but the idea of the old node you can stay there you can stay with the old protocol and that is why that's what makes it soft and i could talk more about that if you want but i'm sure you i would say that it's soft forks are backwards compatible hard forks are not backwards compatible and you and the idea of a fork is that you have two blockchains or two ledgers that have some difference uh and that is terrible for any sort of consensus mechanism because they're not in consensus and that that's what we want to avoid generally and soft fork or hard fork that's um unless you are permanently wanting to split like bitcoin cash and and what precedent does that set for uh the rather for the user like in terms of a soft fork versus a hard fork if you're a user you're perhaps running a bitcoin node for instance um what responsibilities do you or don't you have in a soft fork versus a hard fork what do you have to do so i'll jump in there and just kind of with a more contrarian take riding off of this and tell people what their responsibilities actually are but uh ultimately like they're not really so different like both of them can result to a bad thing happening to your bitcoin and so from that perspective they're the same and i think ultimately what it comes down to is how do you participate and the choice of the soft fork is really something that allows people who are just kind of disinterested in what's happening with development to uh and disinterested in upgrading or whatever to just like continue to be a part of the network um the downside of that is is that like changes can happen to the bitcoin network even if you're not participating so in some senses soft forks are maybe bad because how do you oppose something that can happen if you're just not even aware that it's happening and then hard forks on the other hand it's like well if you don't want it to happen the rest of the network does it now you're off the network permanently and that's like not really great but on the other hand for a hard fork you have to have like much more overwhelming consensus to make it happen so each of them have trade-offs and ultimately like the end negative outcome is the same which is that like a bad thing could happen to you but we get to choose the trade-offs and right now in the community the dominant choice is that people prefer seemingly soft works but that is a preference it's not like a mathematical proof that one is superior to the other let's let's go a bit deeper into yes a very important point yeah so what what precedent does it set uh given that that bitcoin leans heavily the the community has leaned heavily towards keeping things backwards compatible versus protocols that have gone off and basically have regular hard forks what do we lose by normalizing regular hard forks versus what has been preserved with bitcoin well the main problem with hard forks is that you're forcing essentially everybody to upgrade and if you if they don't upgrade then they're no longer part of the consensus and that who's doing the forcing right if if if you're being forced by some central entity then you're clearly centralized because whoever made that hard fork is demanding it of you this is how ethereum works they demand you to upgrade if you're if you don't upgrade then you're no longer part of the consensus and your blockchain is essentially invalid whereas if you are part of the new you know hard fork that they the software that they tell you to run at uh then then you're part of that consensus in which case it's not really consensus as much as it is somebody from authority telling you what you have to run in order to be compatible with the rest of the network so hard forks for me are centralized and and it's it's an indication of centralization at least the way they've been used so for uh for coins to go do that it reveals their centralized single point of failure whereas you know with a soft work what you what you have is this ability to be backwards compatible you're not forcing anybody anything on anybody um hard forks like almost all rules are up for grabs including you know the supply limit and stuff like that which i find an anathema like part part of what you have that's very valuable about bitcoin is that you know certain things aren't going to change because of the way uh because it's uh backwards compatible and it enforces the rules that you all know including 21 million right like that's yeah sacred but of course he just said that uh but jeremy just said that soft and hard forks really aren't that different so i'd like to maybe and you're saying they're very very different of course and uh i agree with a lot of what you're saying but we have to now on maybe unpack this for the audience because this is where the rubber meets the road so to speak because this as i said the fork is a very serious matter of changing the protocol and it was thought that first of all the soft fork is clearly it's not only backwards but forwards compatible all the nodes share the same network um and it used to be thought that because they were all compatible you can just stay where you were and therefore the opt-in property was came from the the compatibility property but it was later uh the couple there were a couple sort of chinks in the armor of that uh argument where peter todd proposed the evil fork idea where you can change lots of things with the soft fork and then uh SegWit actually increased the block size uh with a soft fork which was sort of a very it was something that everyone had to experience there was there's another case actually that i think is a very good example which is the s value signature case where that is something that is very very soft and the very old definition of the soft fork was that if you got miners on your side any time there the two different blocks were mine following incompatible rules since the miners already always went with one everyone would end up going along that was the old old definition of the soft fork so this s value situation is where an example of something where it was 100 soft but it was zero percent opt-in you a normal layperson had no choice but to upgrade their software they could not send money yeah i think they're like break that down like a similar thing to this would be like if we decided p2sh was bad and then just like no more spending p2sh addresses like that would be a soft fork um possibly uh and that would be compensatory and that would steal people's money and that would be bad and i think overall it's one of these things where for uh hard forks i think it's like there there is a propensity to shove it down people's throat but it's more of a cultural value for what type of activity we want to do and soft forks generally align more with things we want to be more opt-in but you could do either on either an example this would be we could use all the same bip9 version bits we can talk about what those are and uh speedy trial and you know we have a delayed activation that would be like two years in the future for a hard fork and that would probably be pretty good uh in terms of not being something where we just like the devs decided there's a hard fork happening and but it still would be the old nodes at that two-year mark would fall off um there have been proposals previously like somebody said you know bitcoin core should i think luke jr made this point bitcoin core should just like have a fixed number of block headers it can consume by default and so it shuts off in 10 years so all nodes just have a shelf life and now every hard fork is a soft fork based on if you're running bitcoin core because we could deploy it and then the node automatically shuts off after some fixed deadline it's like well i don't love that but like yeah you can kind of map one on the other i think the thing that you know to wrap it up into a coherent point is uh hard or soft like you know feature or whatever what matters is that we do these things in a way that involves uh mass participation and consent of the i don't want to say the word governed but that's the phrase you know consent of the ungoverned well i would say that you can do evil things with a soft fork i think that's the point that you're making of course you can do that you can eliminate SegWit you can eliminate all all kinds of things by saying these are no longer allowed on the network i don't think we're denying that the the real question i think in in your sort of equivalence of hard fork and soft work is that okay is it possible to have sort of like a benevolent hard fork i suppose in some metaphysical way it can be somewhat benevolent but i i think what we're saying is uh with soft works at least the ones that bitcoin has done it's generally benevolent soft works not the evil soft works i think that you're talking about like eliminating pay to script hash or something like that uh and those are the ones that it's within the space of soft works that i think you know benevolent or good things for the network are because it once you change sort of like permanent rules or anything like that that that opens up a whole like can of worms that i don't think we want to go down so for me like soft works are very important to like stay within that area of soft works and not and you know obviously avoid the evil soft works but you know go go with this uh sort of subset that's actually benevolent okay let's let's go back historically um in terms of paul when i was speaking to you over email prior to this you you made reference to it's a question of of is it worth it in the instance of of a hard fork and and we saw historically like for 2017 when when uh there's this push to go from one megabyte to two megabytes i mean the the resounding answer from a lot of individuals was no we don't we don't want to set the precedent of changing for for small incremental uh increases in block size like that um but we bitcoin has hard fork before so i'm wondering if somebody wants to maybe touch on it has when it was um i'm not sure that it ever intentionally has because the only two that i'm it's like kind of like one and a half one was when satoshi added the op nops in 2010 or something and he's the creator so he sort of you know it's like creators right or whatever it's like doesn't really make it's not very very relevant consideration right since he created in the first place and then there was the other one was after the uh the summer 2015 database lock situation i'm not exactly sure what to call that but there was something where a database configuration rule had become a consensus rule without anyone knowing and then it had been changed and so it is possible to sync old nodes but you have to do this extra step and so that sort of makes it a hard fork and i don't know like no one has ever like intentionally done a hard fork like through the whole peer review slow process debated depending on how you interpret maybe i just drank too much last night but uh i don't think either of those are hard forks uh i actually can't think of any that because a soft fork is like sort of uh uh you know increasing the rules and like making it stricter um and i don't think either soft work is shrinking the rules yeah soft work is shrink you know well it's it's increasing the number of rules shrinking the set of things that are valid um but i i actually can't think of and maybe you know again the drinking thing um but i can't think of any that were actually a hard fork even like remove because you're talking about removing like OP_CAT and stuff like that no i'm talking does he added the opnops zero through whatever that's 20 they didn't exist and he added them for the specific purpose of later using them in software so he added like so like what what later became up uh check template verify or whatever or not excuse me now you've got me all confused i'm talking about um uh check check lock time verify uh that was added by satoshi as a blank thing that was like a blank check so when he added all the blank checks it was hard but then when we repurposed them individually that was soft but it doesn't make any difference because it was so long ago yeah and i think also just in terms of like this this notion of like time ago i think there's something you know to be said for like if you were considering a change and we knew two ways of accomplishing the identical goal in terms of the effect on the system except one had a lot more technical debt in how you might do it one of the things that bothers me sometimes about a software process is if you go through too much extra work to do the thing you're actually signing up the rest of the future of humanity to like maintain technical debt forever i'm like it actually might not be like we might be able to swallow a small amount of governance now for saving like a bunch of complexity and potential risk in the future well let's go down that road in in what instances would you see a hard fork as as not an absolute no like for each of you what well i agree with jimmy that the you don't want to do see the the way it kind of um played out was for a while i thought or and i guess people agreed with me also thought that the soft fork sort of protects us from arbitrary tyranny by the development process or something else because you can stay on your own node and then move to the new node if you want or stay but then now these things have been just these ways of discovery that equivocate the hard and soft work is these sort of modern uh things that are make it so that they're very similar in terms of what you can do and so the way i say we lose some of the protection and then what i my BIP300 is really about ending all soft and hard forks and putting them into to some extent uh so that the protocol can do an unlimited number of hard and soft works without actually without actually changing at all so the protocol can have a fixed amount of code you don't need to do any pull requests or write anything else and i kind of feel that we should move towards the direction of not uh changing layer one bitcoin code at all i'll give you a really concrete one where i think it's okay which is if we did a soft fork that turned out to be constitutory for a user who can demonstrate that you know that what they were doing their funds got stuck i would advocate for a hard fork to remove that rule and allow the user to get their funds out because it was the software community stole money from this person like to me that's a bad thing and they probably should have been more vocal in that process but if we have to patch in a hard fork to say we will allow this transaction to proceed to restore this person's funds i i think that that would at least from my perspective like i don't love the governance around it that would be in the shape of the right thing to do well that that would be interesting because you're kind of assuming that an evil software could go through and that you have to reverse not evil so for example if i wrote a smart contract that was like in early days of bitcoin using OP_CAT to do something and then cat got soft worked out which it did and then i demonstrated hey look like imagine like uh you know i don't know uh how finney comes back and he's like hey you know by the way like when and he was still you know around at this point but he's like by the way when you did this i couldn't advocate for myself but i got unfrozen and like i now i can't get to my coins because you thought and we talk about doing these things all the time um there's this thing called and i don't want to pick on anyone in particular but like the great consensus cleanup to clean up some of these really like edge condition things that we don't think anybody actually uses but if somebody relied on that i would want to honor the reliance interest so but to push back against that is in that setting the same kind of precedent that was set with the dow yeah i i i kind of agree with what you're saying here because i i i don't think you want a hard fork for any of that stuff if if like you should the time to speak up is at the heart uh at the soft fork hey you're going to confiscate some of my money if if you don't do that at that point now it's like oh you know what by the way i have this thing so i gotcha didn't we just say the whole point of the soft fork was that if you don't want to be a part of whatever these people are doing you can ignore what's going on yes but you were saying that before but that's also the the the feature of it that's now like the sort of fading away and doesn't it's not present i didn't say that i said it's backwards compatible well i think part of the point of the soft fork is that like a user who and these aren't things that are like necessarily like evil it's just like things that we do that have an unanticipated consequence but like if you are a you know relying on this thing and you're not paying attention to what's happening like this is a big deal for us developers is that we don't want to make it feel like the community has to pay attention to what we're doing we actually would prefer uh not for like reasons of like hiding stuff but we'd prefer if we operated in a way that most of bitcoin doesn't have to care if we're doing something to tinker with it but if that does happen like i i just don't you know like like i i would see if i were involved in such a thing i feel a personal responsibility to work on restoring funds and maybe if it's a small amount of money you would just pay it out as like a okay sure we'll make you whole but i i do think that it's that it's like sort of uh like it ruins part of the promise of softworks if somebody can come forward later and be like you did something that's incompatible with what i was doing and now my funds are frozen you know i think i can reply to that by answering your question about what kind of hard fork actually would work in practice maybe because it doesn't make any difference what i think might i might like or whatever but i think you'd really have to get buy-in from the most important group in bitcoin which is a bitcoin investor and they are probably not technical which is means that they the status quo will have an enormous amount of leverage for lack of a better word and they you also need to make it seem as though this is in their best interest which probably would it would be almost impossible if you were saying like well some people lost their money somehow and we need to get it back they i would imagine it would make a lot of people nervous and so i i'm not i share your suspicion that that would that type of a hard fork to reassign funds to people would be very would be viewed with that it would be very skeptical and also like we're we're presumed we're doing like a presumption on top of a presumption that there's a soft work that somehow confiscates someone's funds because it was used in this very weird way an example would be like before SegWit somebody used the you know particular form and it's okay now now you can't redeem it because you know SegWit rules make it so that you can't you can't redeem that like that's a very specific like you you almost have to be pathological to have done that and it's it and we try to sort of like make sure that doesn't happen and it's it's like such a corner case to me that i i don't see this as like a thing that would realistically happen there is something uh where like in bitcoin um we have something called like the like sequence field and usually well let me jump up for a second usually when we have one of these things like a SegWit version we try to reserve it make it so it's really hard to send to the network so we're kind of communicating very clearly like hey you shouldn't rely on using this thing because it's for an upgrade if you use it like we can't guarantee what will happen so it's kind of undefined behavior and programmers we all love undefined behavior right so that's kind of okay use undefined behavior get screwed like that that's that's a clear contract but what happened is we had for n sequence which is how you do a relative time lock in bitcoin we had something that was intended for future upgrades but we forgot to do this thing where we don't let you send it to the network and so people actually started using it and recently i i found this and i was like hey we actually kind of screwed up on this we don't prevent people from broadcasting this is anybody using this because you probably like undocumented unspecified behavior and then we're like okay no one's using it good maybe we can do a just not even a software just a policy change to make them unbroadcastable and then people from the light network were like no actually we decided to put some extra metadata in there because we need a memo field we're like why and they're like oh it's the cheapest place to put it and we're like okay so now we've like kind of and this is kind of still being debated and discussed but like now we've maybe like permanently burned n sequence for future upgrades and other people have been like no we haven't burned it we just need to do this trick and that trick and this other trick i'm like i personally like i'm not sure is it can uh can like a behavioral norm or a tradition become a mandatory soft fork or something yeah possible and we have a we have four bytes and every transaction has a version field that it's like what if people started using that or something does that just we kind of do right uh i'll check uh but we use like three of the of the four billion we use like yeah well i guess that that's where i was just saying you know in this example this is entirely something where i could imagine that if i had like and if i weren't you know maybe just like a very selfish developer i could have been like i noticed this thing but i want to propose something for n sequence and so i'm just not going to tell people about this issue and we might have gotten pretty far down the software path before anybody actually noticed that like hey actually we have a hard dependency on on using this and that's an example where i just think that these things are at the limits of our capabilities as like a software community well i i mean in a sense like the you you don't want to disenfranchise the people that are currently like kind of using it and you know like there's no permission required that's that's kind of the whole point so if some people are using it then you know i yeah it sucks as a developer because you don't have as much freedom to use certain fields or whatever but that's kind of the burden that you have as somebody that's trying to add features that you want to add that i think that's entirely fair it's it's it's okay that you know sequence of field is used in a way that maybe you don't like but you know it is what it is it's you can't force anybody on the network that's the five minutes so i want to we've been discussing a lot about things that can go wrong with soft forks implications for people uh despite it being a backwards compatible mechanism i'd like to talk a little bit about um right now we're talking about preventing bad things being put into the code but on the other side of things we also want to for the time that it's still malleable enough to introduce these types of things things that can uh give us huge improvements in bitcoin we still want to be able to do them and i want to maybe dive down the road of of activation methods and what we've gleaned from things like like SegWit uh because obviously there was we had some difficult time there uh things that should not have been maybe as contentious uh as they were uh became contentious so what do you guys feel that we learned about activation methods from SegWit to start with well i i i don't know if like we can assign moral value like saying we should have it should have been easier or whatever it was what it was right and there there's no sort of moral judgment that i i think we can really cast on it what what i will say though is that what we showed was that the corporations are were not in control and that was a major major event in bitcoin history and it's not a coincidence that bitcoin went up in price afterwards i at least i don't think so because we proved that the corporations don't control it uh now like like what what's what's the right way what i mean ultimately i i i'm not sure that it's like a permanent thing right like oh 90 is the right number and that's going to be the case for the rest of time or whatever i i think each software has its own sort of like sort of environment in which it has to activate and it you you have to get consensus whatever way you can for that particular software with each one um and that kind of sucks for people like like that are on stage with me because they want to get something on there and it's like well what's the process well i i hate to tell you but there there is no process and like you you just kind of have to go get consensus and i don't know exactly what that looks like but it's on it the burden is on you to prove to the rest of the community that this is something that's desirable yeah i can tell you and certainly i think jeremy will agree that it's very kafka-esque you're just sort of like i'll get consensus and it's like oh okay thanks earlier i said it's like kind of groundhog day you come out you see if you're there is there consensus today um i think just kind of adding on to that i think people really want to uh learn from anecdotes and i only care to learn from data uh is sort of my perspective on this and i don't think that there's any generalizable lesson out of what happened with SegWit other than maybe oh corporations like don't have this unilateral control like if they did we would have seen something else in this anecdote um but even that is not like the most useful thing is maybe for like a less controversial SegWit had controversy around it maybe it itself wasn't as controversial but hey it kind of was a little bit cautionatory to some miners who developed some ip around it right and that's like maybe something that we are like we fucked up like sorry for the live streamers or whatever but you know we messed up and uh you know we we don't want to uh uh we we really strive not to break anyone's mining hardware and that's something that like i think it's a big egg on the face of the you know development community that like okay like if i wanted to learn something it'd be like we should probably have much better integration testing that we have some way of making sure uh that you know every developer is like intimately familiar with how mining hardware works so that maybe we can you know avoid things like this in the future that said from my perspective we're probably not going to have a lot of forks that are like SegWit even softworks most of them are much simpler so that if you're trying to generalize a lesson from SegWit activation for check template verify which is you know what i work on it's like i think most of the learnings there just don't really map um you know there's some stuff that maps but like it's a very different thing it's a very different mining climate um and it's a change that is just like it's not coming in to solve something that's controversial it's something that every it's in a problem space that i think most people are like oh we're gonna make the uh i say that make the hardest money ever even harder yeah right it's like okay we can all agree on that um we can all agree on things like self-custody like i think that those are things that just like the the type of thing the lessons of like oh these things have to be really hard and we've got to really like be afraid of like pissing people off it's like yeah i'm not sure that everything goes through that same sort of gauntlet so i mean you know SegWit was controversial you're saying there's not a lot of those that are likely to we did just have a a large uh upgrade soft fork that was not uh especially controversial taproot um and so i'm wondering if if you guys just for people watching that are unfamiliar maybe just touch on what that enabled for us and uh and and where that can go and and things that are still needed beyond that that could uh be implemented later but start with what what did taproot do for us well for me i i think it gave us a lot more privacy uh so you you have this mass syntax tree and you have you you have the single key unlock on so you have the key spend and the um and the script spend and you you uh those were two different types of addresses all throughout bitcoin's history up until taproot so you had the pay to pubkey hash addresses the addresses that start with the one pay to script hash addresses which are the addresses that start with a three um even within SegWit there was the back 32 addresses that were shorter and then the back 32 addresses that were longer one was pay to witness pubkey hash the other one was pay to witness script hash you've combined those so essentially you can't tell which one is and in fact all taproot uh spends can can be uh one or the other and you have the option of both and there's no real penalty that you're paying for that um and that that gives you additional privacy but also you have this tap tree so you you can make some very very complicated scripts or like have many many different conditions under which you can unlock it and many of them can be hidden behind uh you know many um you know very deep in the mastery and so on so you know depending on the probability of their execution um and that this gives us a lot more flexibility and sort of how we spent uh you know have backups to our funds and stuff like that most of which hasn't really been you know adopted by wallets and so on so i i look forward to sort of seeing a lot of that um but i i would say that the main benefit is that we we've sort of upgraded the security for each user so you you have this ability to go and back up your wallet to you know two of three of this and four or five of this and you know even like um have you know public companies or something that you know publish their public key and have it possible for them to unlock it and they don't even know that they hold those keys right like those are some really cool things that we can have within taproot um you know so i i see it as like a beneficial software but to go back a little bit to you know you know what what what jeremy said and i think he's absolutely right on this you know the the process for SegWit and taproot i i really don't think you can have generalized lessons and i see that kind of as a feature not a bug right like it is frustrating for these guys obviously to you know have to go and try to find okay how do i get consensus and you know paul described it as kafka-esque or whatever it's like how do i convince well you know if we had like a strict process or something that i i think that would imply that we have a permanent governance model or something right like and that's exactly what we don't want this is a decentralized network and in a decentralized network what you need to do is convince the people that are part of that decentralized network and there are more people coming in and out of this decentralized network all the time so we should expect the sort of process by which we add softworks to be different each time because we have more constituents we have more use cases we have different features different thing things that are happening and in a sense like each each software has to be different because you have different people using it and that's a good thing i don't see that as a bad thing yeah i completely agree i don't think that the controversy about SegWit i think was almost zero percent about the actual SegWit part i don't i'm even skeptical that asic boost had anything to do with it um so i totally agree with that it's an extra layer of irony with BIP300 because what i'm sort of saying is that it should i can make it not if you just give me this one thing it won't be kafka-esque anymore because it will be uh there won't be any more changes to layer one bitcoin and if you want to do any hard or soft forks the process is now sort of inside the BIP300 activation which occurs without any anyone changing any lines so what's the pushback to that well i think it's just a very abstract idea i think there's a lot of um there's a lot of uh like so i should have directed this yeah i think part of it though is that BIP300 is about escaping a bitcoin core to go to a different piece of software and i think that's inherently that i think that baffles people actually people like that but don't we have everything perfect in bitcoin core i i really don't like that like lightning requires external software you know for example it's like yeah so i think that um so right it doesn't really it doesn't really apply but i think that's part of what people sort of stumble over it's also there's other features of it that are very different or maybe um like it alters who is the most important person i think to some extent so that i think may have something to do with it but i think it's also the the since it opens up this unlimited space of of of possibility uh people are the very conservative bitcoiner is sort of trying to wonder um well will one of those infinite things be really really bad and the answer is no because it's BIP300 is designed very cleverly so that your full node is totally ignoring everything that is happening on those other networks which is unlike the hard fork and unlike even the what we thought the soft fork had that property but it doesn't really have that property so this is a designed to be a big improvement on the process but it must go since it doesn't exist yet it must go through the process maybe instead of like soft work you should rename Drivechains to over easy forks yeah over easy fork i think people are saying like uh people have tried to change the terminology as i wrote a whole article about this at one point about people's changing the terminology and how the existing terminology doesn't really work because and then there's a very funny thread between i mean i don't know how far we should just throw this out into like other people but there's a reddit thread between adam back and Luke Dashjr where they're like they're going back and forth about whether or not something is a hard fork and it's very funny it's like they really don't agree but it's like it's because the the concepts have um they don't have the properties that people thought they had i think when it originally um well and that's that's something that we we really haven't defined in this talk right is is the definition of a soft work and you know like we've thrown around terms like evil soft work or whatever and there and this is a little bit of a problem because you know like for some uh developers like that's not a soft work that's actually a hard fork or something like that and it's like these are these are you know these things matter like they're they're technical minutiae that's not transparent to most users but they they matter um and you know this is where you know consensus building is especially hard again i feel for these guys right because it's not easy it's really not so we got about four minutes left um i think the last thing i'm going to love at you guys is what do you see as what's next coming down the pipeline and also at what point if ever does bitcoin just ossify and these conversations are moved i don't know uh so i guess like in ossification it's a popular topic people probably don't necessarily know what that means it means the the thing turns to bone it's like you can't change it anymore and so don't stop trying um and it also is kind of a pun because it's like open source software so the thing is if you look at like societies in general through history they have some amount of like technologically complicated product that they can produce and it's a curve and then when that curve starts turning the other way uh so the societies usually like imminently collapse it's just sort of a phenomenon of like okay there's some sort of you know the decline of the roman empire it's like okay well you look at the technologies they were producing and i think that for this ossification like maybe we can get bitcoin to the point but we if we get to a point where we don't have the type of developers available who could produce the same type of artifact i think we get ourselves into really hot water um just in terms of like bitcoin as a society um and that's something that really uh concerns me and i think one of the ways that you defray that is by keeping talent fresh that can actually work on these complicated topics and understands how bitcoin even works and that's something that that does concern me in terms of like is this ossification of bitcoin going to happen it's like i actually think it's sort of like the demise of bitcoin if it does even though i think the idea of we wouldn't have to change it is appealing yeah i'm gonna disagree with that because i really don't think of this as technology first i think of it as money first and money is better when it doesn't change and at some point yeah i think it'll ossify and i i don't think that's necessarily a bad thing because you have rules that are permanently in place and you know how to plan for the future as a result of money being permanent and and that ability to plan for the future is critical to entrepreneurship to civilization building and all that stuff and you know yeah there there are sort of like technological curves it's usually because of bad money that you get sort of like this uh technological fall off or something like that because you allow in a lot more rent seekers and so on so for me i don't see bitcoin that way that if we stop like soft working or something or adding features that it suddenly like means that we're on the decline or something like that money that stays that that's easy to predict is a very good feature of civilization i see that as like a stable foundation uh of uh having a civilization built on the stable foundation of money as a very good thing and allowing uh which allows civilization to thrive i i would say i know a real amount of time like i find bugs like relatively often and like to fix them like i have to have a lot of specialized knowledge and if we don't know have people who are understanding how these things work adversaries will continue to find them and then they can take out the system over time that's what scares me about it i'll see that i'll leave it to paul you got one minute left okay great i think it's a very nuanced point um i think there's some things that have ossified like you can argue different parts of like the network the uh infrastructure of the internet uh have sort of they're sort of here to stay forever or warts and all right uh i mean again obviously i'm a proponent of this BIP300 thing which and then ossifying so i i am concerned about the exactly what you're talking about which is that we want something reliable for the long term that that is not is tamper resistant basically but i also agree with jeremy because i do think that i don't you know i don't agree that money is actually very stable across time i mean after all moved from shells to gold and then it became bank no money you can say whether or not you you hate that but that and then it's sort of becoming bitcoin but these are those are all changes and i'm not sure that in the modern world people are very you know i think in a sense like what matters for bitcoin is the UTXO set yeah and that's like ultimately the thing that matters a lot and we can have any you know system that we devise around that but it's really the property right system that we have to maintain over time awesome i think we'll leave it there uh gentlemen thank you so much for being here let's give them a big round of applause hello how's everybody doing got that uh nice belly full of food hopefully and ready to listen to a talk about discrete log contracts and so let's just start off with a raise of hands how many people have heard of dlcs before okay quite a few people how many people have tried dlcs before quite a few less people so i you know i gotta start off the talk with a little bit of shilling we're doing some dlc demos right after this talk by the big moon in the expo hall in the esports gaming arena if this stuff interests you that we're talking about today um come get some hands-on experience with it bring some sats bring an address that we can send the payout to for a dlc and a fun bet idea and you know what we're going to talk about here today on this panel is kind of you know what dlcs are what problems do they solve and how they actually work so i'm kind of like kicking us off here i want to start with uh you know introductions uh taj do you want to start sure uh sorry i'm taj draja i've been working on bitcoin for a long time uh i invented the lightning network with joseph boone back in 2015 and similar like from that uh also wrote the paper discrete log contracts uh a couple years after that and sort of introduced this way to do smart contracts on bitcoin uh and i'm actually mostly working on u-tree xo a different new bitcoin thing um but today we're talking about dlcs and so i'm definitely really excited to see that like people are actually starting to use it and stuff so it's great cool hey everyone i'm tony uh i'm one of the co-founders and ceo of atomic finance so we're a toronto-based startup uh super early stage still but uh we're building a mobile app for folks to be able to put their bitcoin to work and earn a yield uh potentially on their bitcoin using options-based strategies that are built on top of dlcs which uh we're going to talk more about later today um i started in space uh 2017 actually started on the ethereum space and then decided to pivot and focus on the bitcoin side of things later on and you know found out that hey there's actually all this sort of cool functionality that we can build natively uh cool products cool uh applications that we can build natively on bitcoin so why not just do it natively on bitcoin and focus there and uh build build products for bitcoiners so yeah that's a quick intro for me hell yeah um i'm ben i worked with chris at shirt bits for about two years doing dlc stuff and i do a lot in my free time too and uh it helps like build the dlc wallet there like crystal ball or oracle software um me and justin moon are working on like a sdk for mobile wallet dlc stuff but um all work in progress stuff there um i'm gonna steal a line from ben on the end here and uh say uh uh taj is probably responsible for two inventions that employ a lot of people in this room lightning network and discrete log contracts can i get a raise of hands if you have employment because of this man here yeah the intent is not job creation ideally bitcoin would be like job destruction everyone would just hang out and not have to work but sorry about that yeah you trick so no there's like four people maybe in three or four years i guess yeah it takes a little while for it to catch on but yeah there's more people working on that now too so okay sorry um yeah back to like kind of discrete log contracts it's uh you know why is this an important problem to be solving in the first place you know we hear about like defi over in other blockchain ecosystems and like tony i'm gonna kick this over to you why this is you know a problem we should be solving in the bitcoin world yeah um the way we look at it um you know dlcs is a very interesting way to build some uh really cool products and primitives uh decentralized finance defi products for bitcoin um and the reason that uh our team thinks about it and why we think it's necessary to kind of explore ways to build bitcoin defi is twofold um well i'll break it down into like obviously defi consists of decentralized and finance so why is why are both of those parts necessary on bitcoin um the financial part i think is a bit more obvious um you know basically uh kind of like when you look at some of the greatest assets or currencies around the world um you know you notice that there's a very robust and uh ecosystem of financial tools around them and i think part of bitcoin's maturation uh process as a financial asset as a currency as a store of value is that there's going to be more and more financial tools uh that are built on top of bitcoin and i think that you know financial tools um you know are just going to be a large part of that maturation process in terms of decentralized part of things um i think that's where it starts to get a bit more interesting um right now uh the way that we look at it um there's kind of a big gap or dichotomy between bitcoin finance and uh bitcoin the asset today um bitcoin the asset as we all know you know censorship resistant verifiable transparent all that jazz um but the issue is you know when we look at a lot of bitcoin finance tools that are available today um you know it's kind of the opposite right you kind of hand over your coins to them then you don't know really what happens after the fact um you know you can't really verify much uh and even kind of removes the provable scarcity aspect of bitcoin to some degree because of potential uh you know of rehypothecation and all that kind of stuff and so that's why like we think that it's it's very necessary to build kind of sound financial tools or decentralized financial tools um that match a bit that you know for the most part match bitcoin's uh aspects in terms of you know provable scarcity in terms of verifiability transparency all that kind of stuff um and we think that that's uh you know we don't want to replicate some of the same issues that we see in the fiat world um you know uh happen on bitcoin and so why not build sound financial tools from the ground up that also carry most of bitcoin's best uh traits um that's kind of why we are really kind of strong believers in the need to build bitcoin defi the need to build sound financial tools for sound money um natively here on bitcoin so um i think that's like a good segue into um why we haven't seen like as much development for these tools on bitcoin and like a question i have for you taj is like kind of like you know what's the what why is it so hard to build things on bitcoin do you think it's a cultural issue that you know bitcoiners don't want this or do you think it's a technical issue of they want it but it's really freaking hard and you know it's not as easy as just deploying a smart contract right so yeah the sort of interesting thing is like the thing that eventually became discrete log contracts was one someone i knew uh joey zoo back in san francisco was like oh i'm working on ethereum like what's that like he explained the idea of a theory you know this is way before their whole crowd sale and i was like can you do that on bitcoin and it's like no you can't i'm like i wonder there's probably a way um and so yes it's one of the aspects is it's it's easier right the ethereum ecosystem has all these like tools and and you can just write whatever crazy thing you want and like lose 600 million dollars of other people's money and yeah theoretically yeah and and it is it is more difficult in bitcoin but i do think there are some technical things that like are funded quite different where if you actually look in ethereum what people are spending a lot of gas and using it for um a lot of its discovery and so what we have with discrete log contracts and like you know people have worked on it a lot it's it's contract execution and you have all this security it's like okay and we always talk about alice and bob's like okay alice and bob you know alice's long bitcoin bob is short bitcoin so bob has sort of something like a stable coin and alice has this like super volatile bitcoin because she thinks it's going to go up and that's like a good trade like they both want to do this and we have all these really secure ways to make that happen but we start with alice and bob yeah and really we need to start with alice doesn't know about like nobody knows anything and and it you need an order book you need a marketplace and i think that is what you sort of see being one of the use cases one of the things ethereum does have that is on the one hand horrible because it's enormous and enormously efficient for someone to say hey i'm interested in going long this asset anyone want or like i have an order i want to buy something for this amount i changed it my mind i cancel right because i know that in like wall street it's something like 100 to 1 like total number of orders that go into a market versus order execution right most people put in orders and then cancel them and and so you sort of see that recorded for all time in ethereum where it's all these orders and cancellations and it's very inefficient but people can find each other and that's one of the hard parts that is sort of still unsolved in bitcoin land where you're you know same with coin joins same with a lot of these other protocols it's like well yeah if you can find your counterparty we know how to do these things but finding each other in this like decentralized trustless way is still something of an open question so i think that's one of the big hurdles left and just to i mean i 100 agree with that and think that's kind of one of the big unknown problems that we need to solve in the bitcoin ecosystem is to make that work with the UTXO model and then you know what i call these things is censorship resistant financial markets rather than just kind of censorship resistant money that we have at the moment and that's something that i think other blockchain ecosystems are kicking our butt at just by the sheer fact that it's possible there and yeah it's not even possible the you can see why bitcoin people don't want it because it's like we don't want hundreds of gigabytes of people trying to find each other recorded for all time that you have about right it's like no don't that should be offline that doesn't need to be on the blockchain but it doesn't need to be somewhere that's decentralized and so you know i i sort of have actually this conference started saying we need a layer two mempool right like i don't know if that's the cool catchphrase but like yeah we have the mempool make it happen twitter yeah we have this mempool where things are sort of floating around and miners grab stuff and make blocks and make the blockchain and the mempool is a huge i mean people have been talking you know so other people today have been talking about you know the open source work on the mempool it's super important and difficult we don't really have a layer two mempool we don't you know if you're trying to find counterparties on lightning if you're trying to do these things it's there's all these sort of sporadic uh peer-to-peer interactions it's work but there isn't what's nice is like there's the mempool and we can sort of all put stuff together so we don't quite have that as like a layer two thing but that's sort of still an open question there's lots of cool ideas about that do you have anything in the works to solve that just ask i'm just kidding it's it's a question we keep talking about but we don't we don't like oh silver burl not yet yeah maybe um i think that's a really a fair characterization it's something i'd you know like to say to the audience it's a problem we're solving and you know where does liquidity aggregate and where can you go find you know alice and where can alice and bob go to match each other in a decentralized way so we don't have this like regulatory pressure of you know depositing your coins on a centralized exchange and then you know they of course are um you know subject to the whims of whatever jurisdiction they're in and um i i think you know i think bitcoiners should take the problem more seriously but uh you know in terms of like what we can do with dlcs assuming that alice and bob have found each other already can we just like enumerate some of the the use cases of uh you know what types of contracts we can do uh ben do you do maybe you want to take that i mean like it's cool you can do almost anything like they have the options contracts for your betting on the price of bitcoin you know i also build a game where you just bet on super smash bros games or you could bet you know you guys are doing the thing how long is justin moon's mullet like uh like you can you can do like anything it's super 230 be there how long is justin moon's mullet so like um because all you're doing is having oracle sign a message of what something is so it could be you know the bitcoin price it could be the length of a mullet it could be a smash bros game it could be like what's the coordination of the stars or something like it can be almost anything so it opens up like a million use cases and you can like with that you can make lots of cool stuff or like you know the design with the bitcoin price so you could say like what's the execution of this script and make a real like actual smart contract that way yeah i mean i think like one of the the most clever things about dlcs is like the scripting is very minimal and intentionally a lot of information is left off chain and maybe ben or taj you guys want to speak to kind of how that's advantageous from a privacy and scalability perspective but ben yeah i mean it's huge so like um you know today like if you're using ethereum you're saying like this is everything i'm doing here's the exact price i'm trying to buy at and like they have a huge problem where there's like a minor extracted value where they just front run all the orders clean up what everyone's trying to do and just make free money and bitcoin or at least in dlcs you can't do that because all my contract data is off chain just between me and my counterparty just like in a database that we own and the uh and the actual contract is just like negotiating between us and all results in is spending from a multi-state and then spending out of it that's all anyone can see so i don't know like what we're betting on if we are even betting and i'm even like your oracle doesn't know so they might like maybe they you know see your ip address ping the server i was like oh they got the bitcoin price but i don't know if you were short or long what the how big your bet was anything like that so it's extremely private that way and then since all this is all off chain and just like two transactions it's a lot more scalable yeah i mean you mentioned a i guess a word that we haven't actually defined yet on this talk but uh you know what is an oracle does anybody want to take that question sure it's you know some you need a bridge from the real world why can't bitcoin go and just know what the bitcoin price is why can't bitcoin know who won the superbowl like why don't we just embed a http client into bitcoin and have it reach out and consensus figure out how long justin moon's mullet is yeah no none of these chains like you know everything needs an oracle because you can't you can't assume consensus on this thing that fundamentally we don't have consensus on right like what's the temperature outside well we're outside you know and and so you need some kind of entity to just post and say here this is the score of the superbowl um and and you do have to trust that entity and this is like a problem um that i don't know there's like whole entire altcoins that are entirely devoted to oracles i don't know what they're doing but like to me to me it's always like well you want to minimize like here's this trust needed and so you want to minimize that right like we we can't really get around it but we want to reduce the power of the this oracle as much as possible so the goal is sort of like let's make the oracle as oblivious as possible to what's going on so they report this data but they don't see what people are doing with it or they don't see how many contracts are using this or anything like that um so to try to and also cryptographically they can't equivocate they can't um say oh the rams won the superbowl no the you know oilers are on the superbowl they can't they can't do both at the same time without losing their private keys which is sort of a nice extra thing but yeah it's it's you know some entity in the real world may be known may be anonymous that reports on real world data um and and that report doesn't have to go into the blockchain and ideally won't right so that that report influences the blockchain but can be on a website or something and so that's that's sort of the you know my goal is like limit the oracles yeah um and hopefully discrete law contracts can help do that and i think that's such a valuable point about how the data is not going into the blockchain itself and another you know property of this is that this the way the dlc specification works is this same oracle can be used across different blockchain ecosystems and you know we're at a bitcoin conference today but it's really nice not to have to have the oracle have you know a different reputation for you know the litecoin blockchain versus the Zcash blockchain versus the bitcoin blockchain the same oracle can be used across the entire dlc ecosystem and you kind of prevent this like fragmentation going on and also um you know an oracle can build a reputation that way we are like seeing that like the link guys announced they're trying to do dlc stuff so like it's kind of cool that like the shit coins are coming and trying to like adopt our stuff which rarely happens um yeah i mean it is really cool do you have any opinions on what oracles should report on versus not reporting on or uh you know what what is the limitations of an oracle like how i think about it is you know you should always make sure if you're going to be an oracle in the dlc ecosystem the event has to be very cut and dry of what happened and like taj was kind of hinting at this earlier of like you know if what what's the temperature outside you needed to define like what the thing that you're going to attest to is very um airtight as possible kind of almost like a legal agreement otherwise you can have ambiguity and uh your smart contract execution is only as good as the oracles input into the you know the smart contract itself um another thing that we've worked on in the dlc spec is uh multi oracle stuff i know ben you you've done a lot of work on that do you want to do you want to share yeah it's like what taj was saying was like you know you have to trust this one entity but it's nice in dlcs we can kind of actually just trust multiple entities and it's like you know have this like two of three like multi sig of oracles where you could do something like you know maybe i'm good friends with chris but maybe you know i don't totally trust him on reporting the weather but i trust all three of these guys together so say if two of the three say it's 60 degrees i get the money and if one lies then i'm okay and so it's a really nice property it scales pretty well or like your contracts on chain is the exact same still you just need more data off chain but um you're able to like you know abstract out all these things and kind of protect yourself there if you have multiple oracles yeah um another thing that comes up a lot is like should oracles be paid should they not be paid does anyone have any thoughts on on the panel about you know compensation for the services that oracles are providing i think that like it depends um basically it's it's an interesting it's an interesting like question because like oh there's an oracle being paid open up the door for potential collusion or whatever um but like it's it's also interesting because maybe oracle should be thought of as a public good or something like that um and so yeah it's an interesting kind of like discussion topic i think that um you know if if uh you know if if say i'm building a product and i need you know an oracle with uh you know a guaranteed amount of uptime or something like that or some some sort of kind of like um you know minimum level of service then you know maybe then it makes sense for me to pay a little bit more to like kind of guarantee that kind of like uh uptime and stuff like that but uh otherwise like um i mean it's it's certainly an open question curious to hear what uh todd and ben have to say yeah i mean i think like like the actually operational cost of running an oracle is like basically zero it's like you post 64 bytes like you know when an event happens that's about it right so like you know all you're doing is you know making http request probably like you know nfl.com to get the score and then posting it so it they don't totally need to be paid it is good like you know as an oracle you want to be paid because who doesn't like getting paid but um it is like i don't think it's a huge problem of like incentives like most likely like you know people just set up oracles and be like oh it just runs on aws now forever and they'll sign every game they don't need to worry about anymore and i think like doing things like open source oracles where like you open source like my nfl oracle that signs every nfl game then everyone can run this now and we can all see like oh this one's fucking up he's signing the wrong thing and then you know you just switch over to new oracles like you don't need to like have these all these like you know super like well you know define things like just let's just have an nfl oracle and everyone runs it i think one of like yeah i definitely agree it's it's not that hard right you just sign a message so it's not like you know you're a minor or anything um i think it's the the one use case i keep coming back to is like the price of bitcoin right people want to bet on that we see there's all these stable you know tether and usdc and it's just like i'm always very curious like why people use them because it seems like a horrible idea and one day it's just going to get like seized by some government and everyone loses everything but um or not but but yeah but it's like well you can sort of get that action with dlcs where it's like okay i want a constant dollar price contract and so the bitcoin price seems very important and it does feel like oracles possibly in that case would be incentivized from non without getting paid so if you're in exchange you're you know gemini kraken you say well i want if there are people making derivatives contracts based on the price of bitcoin i want their price to be our price and most of the exchanges are very you know very close in price but not always you know there there can be a little bit of a divergence here and there and they can say well if you are doing these derivatives contracts we want you to use you know kraken's price and then that'll make more people want to trade on kraken because you can sort of net it out um and and you know you're already trusting these exchanges to like hold gazillions of bitcoin so trusting them to like say what the last trade price is seems like a much lower ask than that so that does seem like you know it's not happening now but it could in the future where where exchanges want uh to be oracles and want to get that it does happen now they like coinbase i think they do like a oracle for like aetherium and stuff so it's not a part of them do it for bitcoin yeah and that would that would be a fun you know so you have the sort of bitcoin fix where everyone's like you know trading on this like very important auction price and like okay here's the price of bitcoin for the day or something that'd be cool and we're starting to see that maybe yeah i mean i think another like interesting topic here is like um whether going back to how do alice and bob find each other in a decentralized fashion is very very hard in the UTXO world and it can be done in other blockchains although really inefficiently and with no privacy basically so um another like idea that i guess i've been thinking about is like is it important that you retain custody of the bitcoin uh while the matching happens if the matching happens fast so like imagine i deposit money into kraken they do what they're really good at which is matching buyers and sellers and they print a bitcoin transaction that represents the dlc out the back does anyone have thoughts on that or why it's good why it might be bad any hot takes and it doesn't bring you the censorship resistant financial market still which kind of is the goal here but it is a i mean it is a like solution like um and honestly it should be a spectrum like you know we can have the most essentialized version where it's like i don't know like some like actual peer-to-peer network that we use to negotiate these offers and we have the like the centralized ones where you know deposit the kraken spit out a dlc and you can have things in the middle so they're all are viable we just kind of need to try them all out and see which one sticks yeah i mean i i i i think my my um thinking is like evolving on this about minimizing the amount of time that somebody else has custody of your bitcoin if that's 30 seconds to match a trade i think that's a pretty acceptable uh amount of time if you know the exchange in question uh is doing funky business people will stop depositing money into their exchange almost immediately and uh you just got to make sure you're not using that same exchange as the oracle and you do end up having some of the censorship resistance to uh at least how i've been thinking about of course that requires like a large amount of buy-in from the existing exchanges which are pretty uh vehemently against adopting any sort of bitcoin tooling it seems but uh maybe maybe someday another model would be sort of a broker model where you know there's one bob and lots of alices and so everyone's like yeah that's that's bob like everyone connects to this one broker and they're sort of a party to every trade and and bob doesn't necessarily have to take a position they can say well alice over here wants to go short bitcoin and also over here wants to go long bitcoin so i sort of net that out well and i think that's very similar to the atomic finance model if i'm not mistaken tony do you want to speak to that a little bit more yeah so basically like um uh how how for us how it works is like basically we do our matching like through an irc channel kind of similar to um lightning pool and stuff like that or joint markets right um and uh um basically like kind of just like you know users are coming on board on the app you know it's very seamless and on the front end for them just that tap button but in the back end what's happening is like you know generating an offer message on irc channel and then kind of like matching that up with a market maker on the other side so it's kind of like very simple stuff like that i think like uh remains to be seen kind of like what uh you know longer term what the matching stuff will look like and if we standardize on one thing it's like that but uh you know that's uh uh i guess an open question once again yeah yeah um another thing that i think is like really interesting about dlcs is like you know we've already talked about contract privacy so somebody that's a third party can't see what you're betting on um without having alice or bob reveal that information to them uh you know another interesting component of dlcs i think that's kind of underrated is how it's a dual funded protocol it requires alice and bob to uh put in some of their own bitcoin and ben do you want to speak to just kind of how that sometimes that can have a privacy impact at the transaction or blockchain level yeah so like um today like when chain analysis companies like try to figure out like what this transaction is they generally give the assumption all the inputs in the transaction belong to the same person so but with dlcs you're going to have you and your counterparty's inputs in there so you're going to break that heuristic and um if they don't know this is dlc then they might accidentally like you know link your two walls together and now you guys um you know screw the chain analysis so good job and um it's really nice and it's um great too because it just goes like you're sending bitcoin to a multi-segment out this is the exact same on-chain footprint as like a dual funded lighting channel and um so you get this really nice privacy where it doesn't even look like a dlc always you just be like and then once we have taproot as well it just looks like a normal payment so it has like really nice benefits there yeah i mean and i think any anytime you can obscure that transaction graph it again makes the analysis companies jobs harder and that should be any sort of dual funded protocol has that property as far as i'm aware yeah and so we should all be encouraging dual funded lighting channels things like dlcs especially if you're a privacy advocate and like really deeply care about that stuff so you uh you know make the heuristics that these companies use a little bit harder to analyze where coins are going and why they're going there um but ben you also brought up taproot you know the new uh upgrade to the bitcoin network that got shipped in november of uh 2021 or something like that uh could you speak to how dlcs might evolve or maybe taj you want to chime in there too how dlcs can evolve in a taproot world maybe start with taj sure yeah taproot i mean i can say taproot but then there's also a bunch of other changes people have been talking about especially in the last couple months on like mailing lists where uh taproot can help a bit with privacy and also the fact that taproot can sort of build these trees of uh potential spending paths in a single output script will let you you know have some more uh on-chain efficiency as well but there's also other things that we've been looking at that aren't something that you know bitcoin supports now it's like hey if you had something like sig hash uh any pre-vout which is something that people have been looking at for years and like hey you could do different lightning network style stuff like l2 with this you could also make uh dlcs more transferable so you could sort of pre-sign transfer uh one of the issues with dlcs is once you're in a contract if your counterparty's gone you're stuck in that contract right until it expires but if you had uh some other different op codes as well you could have it so that you could transfer it to someone else without your counterparty being online because basically your counterparty pre-signs off on any transfer uh also with OP_CTV there's ways to increase the efficiency as well and then there's also uh lewis fournier's post a few months ago about like changing the signature thing completely and i was like wow that's really really cool because i don't really know what we do with it it doesn't actually make it that much smaller but it just seems like a very powerful you know step towards something else so there's definitely lots of tools that aren't out yet but we're looking at and may someday in the future become it you know come into bitcoin that would allow uh even more powerful discrete log contracts kind of type of things i mean i think i think one of the big things is uh schnorr signatures included in the taproot upgrade too and ben do you want to speak to how uh you know schnorr changes uh dlc's on-chain and maybe off-chain as well yeah like um the beauty of like schnorr is it lets you do additive things and um so today when you're doing like a multi-sig on-chain it's very obviously like two of two multi-sig everyone can see it with tapper you can completely hide that and you just do like your multi-sig off-chain with these signatures so um today like when you do dlc you're funding this two of two multi-sigs everyone sees that like oh this is this is obviously the dlc output and these are the two change outputs with taproot they'd all look like the exact same address and so you couldn't tell what's going on and when you close it as well it's just gonna look like a normal spend not a multi-sig spend so it gives you this really nice um privacy of hiding exactly what's going on it's not like your dlc is gonna look the exact same as just a normal like spend from your blue wallet or something so you can't really tell anymore what's going on and it's gonna really hurt these like chain analysis companies they're trying to figure out like they'll see like a two of two multi-sig they're like okay this is a special transaction we can tag this like you know maybe this doesn't follow the common input here stick but now if they all look the same they can't do that they're like oh this is just a transaction we got to figure it out yeah to Taj's point um about ctv i think super exciting stuff potentially for dlcs just from a ui ux perspective um you know right now maybe it takes for a typical options contract and dlcs takes like i'll just sit around for about 60 seconds to generate all the signatures and all that kind of stuff you know we try to make it fun on the app but like you know it's you know who has time to wait 60 seconds right so like you know if uh if that comes into play uh ctv comes on board then you know we can shorten that time dramatically to say like a couple seconds or something like that right which would be amazing from a ui ux perspective and just make things simpler um moving forward and that that's a really good point and maybe you tag do you want to speak to like you know why why is there such a huge computational load that comes with dlc yeah so so the basic thing of you know the basic thing of how dlcs work which is kind of dumb is you pre compute every single possible thing that can happen so so for if it's you know who wins the super bowl well that's just you know one or the other but if it's what are what's the score of the super bowl there could be you know thousands of different possible scores and you know what's the price of bitcoin well how you know how much do you round it to so there's potentially many thousands of possible outcomes and instead of having the blockchain figure out what happens the idea is we figure out every possible thing that can happen store it between alice and bob and then only one thing goes on the blockchain so there's this trade-off of how much the alice and bob are doing work how much the sort of end users are are storing and doing work versus how much the blockchain stores and one of the things i sort of ask and it's kind of philosophical like if you can save one byte on the blockchain how many bytes would you be willing to store on your local computer like a kilobyte a megabyte a gigabyte right because it's and it's hard to there's no right answer right but uh you know data on the blockchain is very it it's it feels heavy it's like man i'm putting something on the blockchain this thing's gonna be around for maybe longer than i am and everyone's gonna have to validate it and download it and store it and like i want to really minimize that and so the trade-off with dlc is it's i don't know a thousand one whatever you're having a constant size on chain transaction and potentially quite large amount of data between the two parties that that never sees the chain and so i i generally think that's good but but there are trade-offs right maybe it's too slow and like hey if we can just put another 20 or 30 bytes on chain we can take this 60 seconds down to like one second that that could be useful you know um and you know there's a market like fees and stuff so so that's sort of a one of the big trade-offs we're looking at and that opc tv could give different knobs to change as well there yeah i just realized you've made two protocols now that have like these uh uh infinite growing well no no i guess dlc's it's not infinite growing storage requirements but lightning until you close your channel i guess you you gotta keep adding to the database right but it doesn't but only one thing goes i mean they're very simply you know it the dlc definitely came out of the the research and work on lightning network um and they and they you know the scripts are the thing or were you know so they're very similar in that you want to put as much data as you can off chain uh and and sometimes that means you actually have scaling issues on your single computer but to me like a scaling issue on your computer is better than a scaling issue for the whole entire network yeah and i think that that's such a you know maybe you're the originator of this like kind of philosophical design point that i also hold of like just like keep as much off the blockchain as possible it's better for scalability of the blockchain it's better for privacy of the participants of the you know the contracting question on the blockchain and you know consumer hardware does keep getting better and better um although uh you know we keep doing more intricate and intricate things with that consumer hardware does any does anyone else have an opinion on you know on chain stuff versus off chain stuff i think a funny thing to bring up is like when we're developing the dlc wallet shared bits like when we first started i was like highly unoptimized and be like we tried to do like a three of five like oracle vet on the bitcoin price it had like a million outcomes or something and like our me and chris like we click like go and both our computers crash and we text each other like did you die too yeah so like um it is a hard problem to solve and we you know we added a lot of optimizations and stuff now we're able to do it in like a couple seconds but we have like high-end developer laptops like atomic finances on your iphone so it's like this doesn't have this insane chip and memory that you can do it all and it does blow up a lot of data like i know a couple of them we did um where we didn't put in like rounding and we'd have like a 80 megabyte like databases for one contract that we're just like testing with and it'd be it wouldn't like the networking would like screw up sometimes and it's just a hard problem so it is like a nice thing that if we do get ctv is a huge thing because suddenly you negotiate all these transactions all you do is just basically both produce the same address and you both get the same as well you're like cool and you send to it and now your dlc is set up so it saves a lot of that uh bandwidth is which is really nice especially for like places like if you're doing like over tour where it's um very slow and stuff like that or if you're just you know somewhere in like you're from like nigeria or something and don't have 5g internet like you know it's a big benefit yeah and just a another a plug in there it's like we ship our shirt bits wallet on the raspberry pies on umbrella and that's like again where uh there's a lot of sensitivity to performance because on low resource devices which i think you know most bitcoin applications strive to be deployed on uh this signature computation does become uh sometimes prohibitive for certain types of contracts that people want to use um my understanding of moving to taproot and schnorr is that computation does get quicker which is another uh benefit of moving to the to schnorr but we're not quite there in the dlc specification we're waiting on us getting taproot rolled out and deployed in the ecosystem before we can take advantage of that and the the like fournier you know changing the signature the oracle signature to i don't we need a term for it but not a signature at all where it's basically i plus kx that would probably be a thousand times faster for the end users or something you know something on the order of a thousand like point multiplication versus uh addition thousand ish times faster so that would be a huge improvement and it's it's still not 100 sure it's secure because it's just like a post on a mailing list and you're like that works i think okay so there's still like there's still enormous amounts of things to improve and research in this space which is really exciting another like i guess like going back to the oracle questions like something that we've been talking about a lot lately is like oracles attesting to something that's globally known such as the super bowl or what the weather is outside or you know what the price of bitcoin is on exchange there is like you know globally knowable answers to that versus like attesting to something that maybe isn't globally known but can be used to give a better user experience like maybe how much money specifically alice and bob receive in a very specific trade rather than you know attesting to what the bitcoin price is does any does anybody have any thoughts there on you know if that like warps oracle incentives at all or uh any ideas on that and it kind of talks like you're thinking of like uh doing like escrow with dlcs and like i think that is like a a nice use case for like instead of like having the escrow like be part of your transaction a two or three multi-sig they're not just an oracle and they don't know your transaction so you get some privacy it probably helps them with regulations and stuff but um it is kind of weird because like if they lie like look they lied be like you can't really totally prove it because it's not a public event of like you know did the package come to my house or not so um it kind of skews the incentives but i still think it's a good use case like dlcs have rolled nice benefits over like bringing third parties into your transaction so i think it's like a great way to do it still and another um a conversation i had in the last like month or two was with a you know a guy that runs a pretty big bitcoin uh company and how dlcs could be used for reoccurring subscriptions too where you roll the subscription over every month and the oracle pulls the money almost like you're drawing down a bitcoin address like a bank account and you can cancel the subscription at any time by double spending the transaction um the feedback that i've got from that id on the mailing list is use n lock time and i think that's like a fair rebuttal i still think there's some non-interactivity benefits maybe but uh is it does anyone have any thoughts on just kind of out of the box uh oracle ideas that don't necessarily tie directly to betting applications necessarily or can can can we take this oracle specification even further in the dlc ecosystem to enable more use cases on bitcoin and have bitcoin and oracles take over everything it's a it's a pretty general protocol but it does seem like yeah you ideally if this is like a public thing and and the oracles can't really lie that easily because you know and they don't know who's using the data because if you're sort of saying hey this is between alice and bob you need to check whether i got my groceries delivered the oracle already knows who's going to use this data and so there you've sort of lost a lot of that privacy so you know it it doesn't help as much there but it could be used in these things and there is there are companies like asking but it's sort of like sometimes you lose a little bit of the purpose of it but but a lot of times you you still you know if the software is there people will probably use it for that as well yeah um i think we're pretty much out of time guys thank you for coming out uh if we're doing dlc demos again 230 at the expo hall far left back corner by the big moon we're giving away these shirts if you manage to get through a dlc setup so if you want some uh shrewd bit swag with company on the front the math on the back uh come check us out and otherwise thanks for being a great audience what is up guys we are here to talk about bitcoin nodes we got some of the guys behind some of the best node projects in space up here to discuss it with us um by a show of hands who uses their own bitcoin node awesome the whole room um so i mean this is also getting recorded and broadcast out to lots and lots of people um so i think a good just a good place to start is just to interact with the to interact with the bitcoin network you need to use a bitcoin node you don't use your own node you're using someone else's node if you're using someone else's node you're trusting them with your privacy and validation of the rules of the network commonly when you're using someone else's node it's like if you use ledger live you're using ledger's node it's oftentimes a company or a mobile wallet if you're using blue wallet you're using blue wallets node so with all that said let's get into this discussion we have s2 here from ronin dojo we have keegan here from start nine we have jonas here from nix bitcoin and we have root sol here from raspi blitz you might recognize root sol because he's been running the workshop table outside uh before i forget we will be auctioning off three raspi blitzes at the end of tomorrow at 3 p.m with 50 of funds going to raspi blitz development and 50 going to greater open source development through opensats so guys um where do we start so i i guess i let's start with root salt root salt when you're when you're thinking about the raspi blitz project um you know what what are like the priorities that you're thinking about in terms of what what to deliver users and how to go about that so how to go about that so for for the raspi blitz i think the uh the main focus is to be this more community driven kind kind of node so because we see it on the github so we have a lot of forks we have a lot of stars people really participating so um and this is i think something for raspi blitz to be really just open platform if people want to tinker if people want to develop that's that's definitely something we want to be open for um because this whole project started from the lightning hack days we did back in the days in berlin like they were in the raspi bolt and then it developed out into the raspi blitz and so this we want to keep this bird going that's kind of a thing our main focus awesome um so i mean keegan you guys have a very different approach there with start nine how do you think about that um yeah the central thing that we're trying to accomplish is that we've kind of identified that bitcoin as a project will not succeed and retain the properties that it was designed for in namely you know censorship resistance you know seizure resistance inflation resistance if the number of properly used nodes is comparatively small to the number of people who use bitcoin so we are trying to expand the number of users of bitcoin in the proper way so to speak uh to the largest set that we can reasonably do um and that means that we have to do a tremendous amount of work on the user experience side so we do a little bit less catering towards the tinkerers not that those people like those people are tremendously important to the community and you know not one size of product fits all but if everyone isn't really running their own node but they're still using bitcoin bitcoin is at risk of various forms of capture and so it's very important that as many people are running it as possible and so ux is kind of always at the top now that does mean removing certain decisions from the point of view of the user but we try very very hard to make a distinction between user like choices users have to make because they have to just you know use a computer versus choices they have to make that materially affect the way that they actually use bitcoin and so if and we try to give as many of those decisions back to the user as possible because after all if we're making decisions for how people are using bitcoin in some sense we might be capturing their ability we don't want to do that either so it's it's this delicate trade-off between trying to make it as streamlined as possible but still affording the user decisions uh to be able to use bitcoin in a sovereign way it makes a lot of sense i mean i think it's pretty cool that you know we do have four of the major node projects up here um and you guys have like you all take completely different trade-off balances i feel like um so jonas when you're talking about nix bitcoin like how do you relate to what what these two guys just uh yeah i would i would say we're yet on another end of the spectrum because we mostly cater towards tinkering our main focus emphasis is security privacy and customizability the trade-off for doing that is that nix bitcoin has kind of a steep learning curve and doesn't have a graphical user interface for example for most of the things that it does but i call this is the most low time preference node choice because in the beginning you need to invest a lot of time it depends on how you use it but you need to invest some time to get up to speed with it but then you will reap the results which i really think are a superior privacy and security on the system yeah i mean there is a bit of a steep learning curve there but you guys are definitely a a unique project in the space it's definitely really appreciated how much focus there is on on security and reproducibility um so i mean as to you're kind of i feel like you're kind of in the middle so so raspi blitz um i guess actually raspi blitz is doing a similar thing so start nine the main the main use users of start nine are actually buying devices directly from you keegan right yeah that's that's correct we sell like an integrated product again it's about streamlining the entire process and there are people who are going to have raspberry pies that they can repurpose and you know install software too and that's perfectly fine but there's like an entire category of users that don't even want to do that and in my mind like we have a hundred million bitcoin users today like not even all of those use their or like have their own keys which is you know itself a problem not one that we're directly setting out to solve at the moment but then there's another category of users that may have their own keys but don't use their own nodes and we're really just trying to say like how can we make it such that we have as few people who are using bitcoin at an arm's length distance as possible how can we close the gap between people who are using bitcoin as a like unit of account so to speak all the way to using bitcoin in its intended design with the properties that make bitcoin special but would you say like nine like ninety percent or something of embassy users are using the pre-built or yeah i'd say most of them we we don't really have a way to track those metrics because anybody who builds like we don't build any sort of analytics data for privacy and yeah i'm just saying like god right like the yeah i mean like my gut instinct is yeah like the majority the vast majority of them are purchasing it because the reason i'm going into that is so like with s2 with ronin dojo ronin dojo was primarily a build your own project open source project yeah with no layer monetization and recently you started selling pre-builds right right we kind of saw both ends that people want to maybe customize and build their own node or they want the convenience um so we want to kind of offer all of it but you want to talk a little bit about like so like ronin dojo is a free open source project yep uh but but you want to be sustainable you don't want to be uh dependent on donations yeah yeah i mean how do you give software away for free and keep a roof over your head right right so we build products and services around it you know essentially we have a focus on transactional privacy so the node comes standard with whirlpool uh you know so you can't be tracked as easily on chain we really care about that but we want people to be able to either buy a raspberry pi and build one whether they want to use the command line interface or if they want to buy a pre-built node and just have it be plug and play uh you know we know that there's people who are hungry across this spectrum of nodes and node offerings yep i think the support feature is pretty cool you want to go into that a little bit or yeah we have a premium support model so we'll like walk people through uh people need to know how to manage their UTXOs or use bitcoin privately and they don't want to be tracked or surveilled uh we're happy to provide premium support and that's just another service we can build around the product so that we can you know monetize and uh continue to give the software away for free russell how do you feel about monetization i mean because you guys sell pre-builds too does that go to directly fund development is that is that is it a similar strategy or is it yeah basically that's uh that's the one way how we can refinance a little bit like the uh the cost for development and it's and it's and it's also a nice way for people to support the project like okay i buy a pre-built node at the shop it's a good way to kind of support uh the whole kind of development awesome um so i mean i don't this question is not necessarily directed at anyone uh specifically um i guess i mean since i have all four of you on stage like do any of you have any concerns about you know maybe one node project becoming the predominant node project and how do you how do you think about that i mean whoever wants to jump in here i think i think the the more easy it is to migrate between them the less important that it is that one that it's like that there isn't a dominant one at any given time right like what you don't want is a situation where there's a dominant node product and they they lock you in super hard to their ecosystem because that is a means of exerting control that very similar to the way that we see in like uh web 2 so to speak or like the the big walled gardens of the giant internet companies but in the absence of that heavy lock-in which bitcoin itself is pretty good at doing the entire bip and lightning standards process makes it significantly easier to migrate between things which means that at any given time if there is a dominant implementation it's not like they have this sort of like stronghold that can't be breached so they're kind of they're kept honest by the fact that users can migrate i mean there's so many different uh applications to you know what people want there's you know there's a big spectrum of nodes some people might want certain services uh it's hard to encompass everything in one project there's always going to be people who are interested in like very hardcore security or they want you know transactional privacy or you know it's there's a lot of different applications you can host and uh it's hard to pack it all onto one device and to cover the entire spectrum and then but so so with on-chain bitcoin with a regular bitcoin node that you're using with on-chain um it's pretty easy to move around and change what software you're running and which which nodes you want to run um there is but a lot of people now like one of the main reasons they use an who who here runs a lightning node uses a lightning node okay so all of these people there's a degree of lock-in with lightning channels right like how do you do you think do you guys think there should be like some kind of standardization in terms of like porting those light like that lightning database without like corrupting your state and and getting the penalized transaction and losing funds is that should that be a priority in this space like for easy migration in that regard because i i would say that's probably the number one lock-in especially if we like enter um like a sustained fee and high fee environment the next thing you know like fees are 120 sats per byte or something it would be very expensive to close channels and then reopen somewhere else so i feel like it makes a like kind of resistant jonas do you have an opinion on this i think this is a good point um in the next bitcoin case it is definitely possible to do all this migration but it's a very manual process that can also go wrong in horrible ways because it's lightning and lightning is very stateful and yeah you know the problems with this so um i think this is one of the the things that um are part of the migration but they are of course also uh other things i would think like all the interfaces how how have you how have you set up your nodes and node in terms of options right every node project has a different interface and all of this i don't really think this is portable really uh like something you could easily do in five minutes because this would just having a standard on this would just hold back uh innovation in this space because i think it's a lost cause it's like i think this part seems to be a lost cause to me at least i think there's there's two questions here that you're asking there's the your there's the the migratability between the node projects and then there's actually the migratability between different lightning implementations yeah that's if you want to move from lnd on the embassy to lnd on run and dojo or on to lnd on you know raspi blitz or next bitcoin the you're not really having to do any serious lightning channel migrations because the data format is ultimately the same it's really can we shuffle data from point a to point b and like you probably don't need a standards process for that you just need to have relatively stable locations that these things need to be and never turn on the old node again right and and so yeah like lightning itself has its own problems with respect to how stable it is in the presence of multiple nodes but even like just cloning your hard drive and trying to set up a second one it's going to run you into that problem as well and then this there's the second question that you're asking which is migrations between different lightning implementations so lnd c lightning eclair anything else yeah and that one i'd like to see a lot more uh standardization but the various teams that are working on that may or may not have the incentive to do so and similarly to the various node projects it's not necessarily the case that any of us will have the direct incentive other than maybe you know sort of any goodwill that we have towards uh supporting the the ethos of the of the movement um but it's also can it's very tricky with lightning because so many things can go wrong because of the very delicate game theory and punishment schemes that keep the lightning uh incentives honest uh and and and the the sort of very few tools that we used to make that happen which is why we have lightning at all right now uh because of that delicacy it is difficult to make it such that people can't screw it up right and as a result i think a lot of the the node implementations and when i say no i mean like lndc lightning etc haven't really given it a lot of uh effort because you know there's a lot of ways to screw it up people shouldn't be doing it anyway so why commit effort to it but i think the longer that we see it like in 120 sats uh per byte environment sustained for years which we can expect i think if we're going to be trying to onboard millions of users over the next few years uh in that sort of a situation we may not have another choice and so whether that people who step up from the community to figure out how to do this whether it's you know the implementations themselves that you know put effort into it like we have a certain amount of incentive to write migrations from others from other node implementations to us and so correspondingly you know other implementations might have an incentive to write migrations from our stuff to theirs and so like i think i think we'll see it materialize on a need basis but you know it's one of those things that necessities of the mother of invention here right rude so i mean i think you guys actually had the there was a migration tool or migration setup with umbral was that yeah am i correct migration so if you run an umbral a citadel or my note you can basically migrate to respi blitz it will only take your kind of blockchain and the uh and the lnd funds and channels if you use any other apps on on on those node projects this data will not get and that's lnd to lnd right you're not yeah it's lnd to lnd crossing for lightning the recipe blitz itself has also sea lightning so you you have both there um so the so the other kind of all have just lnd so um that's easy to kind of get over because and another thing is uh you know just even migrating the main chain data not just having to do the ibd again and download 450 gigs of blockchain right uh you know it's great to be able to switch between nodes and just you know you already have your blockchain data and yeah i think it's we all have an incentive to help the users switch between easily so i mean out of out of all four node projects here start nine is the only one that offers users the ability to run non-bitcoin apps on the node um and like jumping off of what root solve is mentioning about obviously not being able to migrate from apps that don't exist on raspi blitz do you how do you think about that in terms of both um you know lock-in or like a soft lock-in where they they already have their files set up they already have you know maybe they're using your self-hosted photo sharing and then also having that as their main bitcoin node like is that is that a concern or i guess they could just move to just a new bitcoin node and keep the star nine for everything else i'm just answering the question there is absolutely nothing uh that stops people from using multiple versions of these sorts of things uh to manage different parts of their lives um we our mission is a little bit more broad than bitcoin in general i think we see a lot of these uh freedom infringements in other parts of our lives i think the one that might resonate with a lot of people in this room is like twitter banning people who happen to be having the incorrect view of the day which may shift by the day um and so you might have like competing projects like mastodon which are uh have been around for a while but they just haven't experienced wide deployments because you know we have not put the effort into having a peer-to-peer deployment uh that that is made easy for people and so we we want to be able to bring that to as many aspects of people's digital lives as possible and bitcoin is one section of it um but you know there's nothing there's absolutely nothing that stops someone from like running you know two different node implementations and you know the start nine uh embassy one being for their non-bitcoin stuff and you know their whatever other implementation that they're using for their bitcoin stuff right um so i wouldn't necessarily say that it's like soft lock-in on a like cross app basically you might have some soft lock-in in the sense that if you know you are running an app that one of the other implementations doesn't have then you know that's that is a lock-in of sorts but we we generally take the position that any application that is on our uh on our node has to be open source right it doesn't necessarily have to be fast but it needs to have the source absolutely available and that is what helps people be able to actually break those lock-ins right because they know the data formats they can be like okay let me go scrape this out and move it over would you even would you even frame start nine as a bitcoin node or is it it's like a self-hosting everything with bitcoin it's a personal private server and we named it the embassy not on a whim uh we kind of think about it as sovereign territory in foreign land right where the internet is kind of like wild west and this is kind of like your your you know castle your your embassy uh your your location that you have sovereign control over even though sort of outside of the walls it may not be as right so i mean part of uh part of the reason why this idea of lock-in with nodes i think most of you would agree with me is a concern that maybe one of the node projects becomes malicious or non-aligned with users or you know starts releasing you know like the fork wars we had right where they maybe you know we didn't have these node projects at the time most people were just running bitcoin core on their computer themselves um if one of if one of the major node implementations was pro SegWit2x and they sent out an update to everybody um and switched them towards that uh that could obviously become a major issue um but at the same time because of lightning so there was this ethos in bitcoin that it was like don't update right away first of all no auto updates period because if you have auto updates someone can uh issue you an auto update and that auto update could be malicious yeah like to briefly add on to that if you self-host your stuff but the operating systems or the apps have the ability to force updates on you you your self-hosting isn't doing a lot right because self-hosting is supposed to afford you a sense of control and forced updates undermine that right it's an attack vector it's a centralized attack vector so then but at the end and there was this the ethos went farther than that it was like and i i still think it's that way today at least on base chain which is you know there's no rush to update you can be a couple versions behind in a lot of ways that could be more prudent uh while while reviews happening on on on new nodes or new you know new node versions or at least you know maybe i'd have some people that are still running older versions you know people run really old versions of bitcoin it's still backwards compatible but then on the lightning side you know there's situations where it's like if you don't update right now there's major fund loss risk like i remember i was here in miami for the hrf event and i was on stage and i got off the state i got off stage and stephan came up to me and he was like i think it was two lightning implementations i don't remember i definitely lnd was one of them because i was running lnd and it was like update immediately you know attack in the wild you can lose funds right now and i was on stage and my node wasn't accessible to me and just for like a week i just obviously didn't update because i couldn't and then i got home and didn't lose any money so it worked out but is there an argument to be made that on the lightning side because it's so new that there should be auto updates like how do you guys think about like jonas what do you think about that no auto updates are are not a good thing of course for beta software perhaps like lightning or experimental in some sense you need to use frequent updates you need to take care of your funds of course running a node isn't easy today it will take some time until it will be easy and one of the parts that make it hard is that you need to keep up to date with updating your software as well and back to the bitcoin code even in that case i wouldn't be so sure whether it makes sense to run old bitcoin versions because you never know if a new bitcoin version has some kind of hidden bug fix so one of the things that some people do for example is to have like two bitcoin nodes that are connected to each other and like you have one one of them facing the outer world that is an updated node updated to the most recent version and then you have another node that is just connected to this gateway node and running an older version and this is for example something that you could do with nix bitcoin oh that's interesting so it's like built in that way intentionally or is there is it just users can can do that it's just built customized enough so that you could that you could build that got it as long as the user has a choice i think it's you know that's really important and also if you're in beta or you know lightning and doing experimental things you should put proper warnings and let people know that you know don't don't put more on there than you're willing to lose but isn't that kind of bullshit warning it is but if you're in beta you just you need to do your users justice and let them know and properly educate them that they need to pay attention to every update and be aware fair enough and this is you know anytime you're developing something like this you go through long periods of you know the users need to be aware of all these changes that are being made rutzel how do you feel about this i think if you the question is always the of centralization right because this is one point the update is coming from um so if you can put in another service provider that uh that built makes a build for you somebody a group that you trust something like this this could there could be something a little bit more easy for the user maybe pushing hard into into your note is always critical this is why recipe blitz always has to make a new sd card and it goes through the update basically um but i think when you go into this convenient thing because in the end that's what a lot of users want is the easy update um then you at least have to think about making it possible to that you can choose your source of updating and you can choose your kind of trust group and you're not not everything is targeted to this one company so you have like multiple update sources it's like a toggle or something yeah not exactly we have to see what system but basically just you can choose like oh i always get my build image from there or something so yeah so that you really can can can have not this one company that can just do this yeah i mean like in the newest copy of mcos in the oh three oh we actually did introduce preliminary support for alternate marketplaces for precisely this reason which is that we are aware there's a certain amount of trade-offs that we have to make in like certain amount of like imperfection we have to accept in the short term which is that you know we are providing most if not every uh update that people are going to be absorbing but we're like intimately aware of the fact that like we could be co-opted either you know through just like leadership changes or you know you know various unfriendly organizations that can put us under duress like we're aware that that can put our users at risk and so like i think having these this sort of multi-sourced package model similar to the way that like app on ubuntu works or the way that like linux package management works but kind of like dressed up in a way that makes that can give better intuition to users about like what it actually is because like you know people have experiences of buying the same product from different stores right and so to the degree that that could be conveyed i think users can actually take responsibility for those sorts of things right um i mean i think it'd be kind of cool if you just like thinking out loud if there was like uh a new you know new bitcoin core version comes out new bitcoin d comes out and you have like three different sources that you pull from and you can tell that that all the hashes are the same like they're the same file for all three just at the bare minimum um but like there is there i feel like there's a um we want as many people to use their own node as possible right we want it to be as accessible as possible but it kind of it does go up against this idea that you have personal responsibility will never be the easiest one and like even without i know i'm sticking on this auto update thing but even without auto updates like umbral pops up like update and they just press the button right like it's still a manual at least that's still a benefit but is there a concern is there is do you guys have a concern and i mean i'll direct this to jonas because i mean i think your users are more experienced but do you do you have a concern with users of these more convenient node packages that they kind of just like blindly follow that they're not necessarily educated users in that regard is that a real concern i think that's a concern but that's very hard to prevent i suppose because you not everyone can read the code and see what what happens in between you need some kind of oracles that will tell you whether this is a good code or not in the end you need to trust someone no one of us reads all the code uh that they're running so this problem um will never go away you can i think reduce some of the um some of the attack vectors that are there if you for example um have your release assigned by multiple people or even built by multiple people uh like bitcoin core does um for example and this already reduces the attack surface quite a bit but you will never get rid of this problem and entirely yeah the the price of freedom is personal responsibility i think our job is the implementations is to provide users ever increasing leverage on the knowledge that they have right so they still have to be the one in the driver's seat they still have to be the one making decisions but there are a lot of bullshit decisions when you're trying to set up nodes right there's things that don't really matter to your ability to to work on it and to the degree that we can eliminate those and make it such that the only decisions they have to make are the ones that materially affect their outcome and what they're what kind of software they're running like that at least reduces the cognitive load enough that they can actually take an active role in that process and like that that is an ever-improving thing it's not like any of us has like the holy grail of that today but i think that's the ultimate mission of like everybody's sitting on this panel right now is right can we provide higher leverage to users i think that's really well put um i mean because everything will always have trade-offs so you can eliminate trade-offs it's just different trade-off balances that you come to come to terms with and every once in a while you can push the frontier further right it's like not every trade-off is like neutral with with respect to value right but like you know you want to give them the entire trade-off curve if you can and then you know when you can get these sort of free wins and push that frontier forward just you fucking do it so um i mean we still have a little bit of time left i kind of i'm curious i mean you guys are just heads heads down really focused on on this um i guess i'll start with roots all like roots all when you think about the evolving node space because i feel like if if if you're a relatively new bitcoin user um you might be under this impression that there's always been all of these independent node teams trying to take different trade-off balances and make using your own node more convenient but it's a relatively recent phenomenon it's like the last three years it's really blossomed and i for this panel i tried to get as many of the node teams as possible um and when you start to think about it's like maybe there's like seven or eight like major ones um but fortunately we got these four these four legends over here so roots all when you think about like this evolving node space what do you like what's the what's your biggest concern like what keeps you up at night yeah um so you can see we have this one very dominant node distribution out there um and it would not be again it would not be a problem if uh if it would be in free and open source because then if it comes to dominant and people don't like it they can always fork off and then you can you can have multiple competing projects and you choose which one you you go um so a little bit uh this this is a concern um but just a concern um when it comes to um how to say as long as migration is there i'm i can sleep good so that that's fine it's good to for onboarding i think it's perfect thing to have the solutions out there so jonas what's your biggest concern i don't think i have very big concerns in the node space right now it's cool that people run nodes it's cool that people run a lot of nodes more people should run nodes run their own nodes run their own software use more coin join use more lightning etc and these node projects um help doing that which is much better than not doing any of those things so i think um i'm rather happy and i'm looking forward to the future um than the opposite i love it jonas isn't concerned now now i feel better about it uh keegan biggest concern say i am concerned but it's my job to be concerned um i the thing that keeps me up is really whether or not we can make our product easy enough to use to onboard the next people because here's the thing big like with a dollar collapse happening whether it's in slow or fast motion like people are going to be looking for alternatives and if people jump to bitcoin and bitcoin doesn't have a beefy enough infrastructure in terms of central decentralization then bitcoin's own properties are kind of at risk and so more people running nodes is and and not just running nodes but like running them in a like self-sovereign way where they're really exercising their own agency is like paramount to the survival of bitcoin and the if you don't if we don't find a way to make it easy enough or if we find or in the effort to make it easy enough we rob users of too many important choices then like the whole this whole movement doesn't really work the way that it's supposed to so like i am every day when i wake up i'm like okay what is too hard and how can we make it easier that doesn't like fundamentally remove the user from the driver's seat that's two biggest concern i mean i would basically bounce off of that you know i'm just concerned that convenience there's going to be too many sacrifices made and you know while we want it to be easy and abstract things away we also want to make sure that users are properly educated and have you know know that the choices that they're making have certain consequences and so i think you know education is very important there's not enough good node education out there there needs to be you know a lot more videos guides it needs to be made easier but people still need to understand the basics of how this stuff functions so i think you know education definitely needs to increase and we don't like he was saying we got to be careful the sacrifices that we make in the name of convenience so all your projects essentially in practice what you're looking at is you're looking at having a a little server a little computer running at home or your office and that you're oftentimes connecting back to like if you use on a phone you're connecting back to it a lot of projects are using tour to do that but you have this central server essentially that you're running in in a physical location that you control now everyone has a phone in their pocket like the next thing that everyone always says is nodes running on the phone nodes on the phone now is that the future or is that a pipe dream yeah so using using your own bitcoin note on your phone right just it's it's just baked into the phone is that actually a thing that we could look forward to in you know five to ten years or is that a pipe dream yeah i think i really like this idea because as you can see raspberry pies are very hard to get and and not very affordable for a lot of people and if you look at countries that that have the operate on on low income um used smartphone is very easy to get because everybody has it and and if you can turn this one into into a full node um i think just this basic and you have to automatically battery in there so it's already a little bit more secured so i think really basically it's it's a good device um i'm not exactly sure who's working on this so there was a friend of mine at a hack day that was kind of looking into this but decided at that point nah it doesn't make sense here um but i think we made might come more and more closer into the area where this gets feasible i mean with a big sd card i don't know still the some years maybe but i think it would be great to to have this in the future jonas you gave me the pipe dream look do you think it's a pipe dream um no no you think that's that's the future i'm not sure if it's the future so in nix bitcoin we're also thinking about a lot about bitcoin infrastructure not just having single nodes because a single node if it goes down if it explodes um you've lost your funds and in the bitcoin on-chain case you might have a backup but in the lightning case your sol so um we're thinking about deploying more things at once a backup server and perhaps a gateway node that has a vpn such that you can easily connect to your node at home that has monitoring so even if your node at home goes down you will be able to notice and um which is also important in in the lightning case um so i guess there are just so many ways for how to use nodes but it's for for um the the i the phone future for a bitcoin nodes i think is still an interesting interesting way to to look at i think i think phones for layer one type stuff is significantly more viable than it is for layer two and the reason for that is that when you go offline for significant periods of time uh you can catch up with the rest of the network but the way that pretty much every layer two protocol is designed requires a certain liveness to it in fact when we were originally trying to put the first version of the embassy together we were trying to narrow down with the essential characteristics uh that were needed and for uh for lightning in particular and a lot of the layer twos will behave this way um just due to the nature of like computer science itself is that the these these servers need to be addressable they need to be alive generally uh as much of the time as possible and because if they're not you're at risk of losing funds if uh because your your counterparties might try to cheat you and you have to be able to remain vigilant during those times and phones just aren't necessarily designed with the use case in mind that they're going to be on 24 7 they're designed to be portable that and that's tremendously useful for everything that we use phones for but servers are designed to be alive a hundred percent of the time they're designed to be addressable a hundred percent of the time and those are properties that you absolutely need for a lot of these layer twos layer ones different story but awesome yeah for layer two phones definitely a bit of a pipe dream uh or at least there'd be need to be a lot of work done and it need to be a very special setup you could have like watchtowers or some yeah it would minimize third party service or running on a vps or something like that you could yeah um awesome well we're out of time guys this has been great i want to thank our our fantastic panelists i want to encourage all participants uh everyone in the audience here everyone watching at home uh consider using your own node consider running your own node i know it sounds overwhelming but it's it's really not that overwhelming get your feet wet it's relatively cheap to do at the end of the day you're you're essentially taking a computer and plugging in an ethernet and a power cord so thank you guys thank you and uh take care for the keynote makes it easier in a way you can't see anyone you don't know what they think oh our mics are on i guess we're going what is up freaks what is up miami yeah uh i want to start because i'm a proud co-host let's give it up for matt odell for organizing this room here thank you brother truly special yeah incredible job dude this is the largest in-person rabbit hole recap we've ever done yeah congrats you're all part of history somebody note the block and uh we'll write that down somewhere uh we're joined by craig rawl and whiz uh steve barber's supposed to be up here uh but he's not here so if he wanders in send him to get a mic but this is our hr we have 40 minutes when we do these live shows uh we usually do a different format where we have a few topics that we want to talk about matt and i haven't even talked about topics and then we'll open it up to q and a wait raise your hand if you have no idea what rabbit hole recap is awesome oh welcome okay so rabbit hole recap is our weekly news show weekly bitcoin news show we've been doing it for over three years now four years september i believe yeah so if you like bitcoin you should check that if you like this you know go check it out maybe consider it but yeah as marty said we're just kind of gonna we're gonna shoot the shit and then we're gonna do a q and i yeah uh let's give another shout out to whiz for doing a pirate live stream in this room today yeah thanks uh thanks to jack for retweeting my uh pirate live stream with open source stage i think there's an idea i had about two in the morning last night i'm like why is there no live stream let's just go to target and best buy buy camera and plug it in and set it up and so we did it yeah you you could spin up your own isp i think you can figure out a live stream in 12 hours it's very impressive where's there's two isps now well technically mempool.space is uh its own isp now yeah okay so we kind of spun that off into its own uh sub isp in a way why don't we talk about that you you recently added a mining page to mempool.space yeah we went down to nashville uh last week with matt and rod um organizing the nashville meetup down there and we had a really nice crowd about 100 people maybe more yeah there was a tornado warning we didn't so 100 was a good showing yeah it was pouring outside and um but it was a great show i mean it was just me rod matt on stage and we were just trolling each other we actually forgot there was like an audience there and we were having so much fun i don't know how many hours we were talking but it was a great show but yeah he announced the so whiz is the lead maintainer one one of the co-founders of mempool.space and one of the co-maintainers of the open source mempool project um where you can and he has she rented a tv and put it up over there with a live look at um his mempool yeah we don't have a booth in the conference this year so uh we just rented a tv and stuck it in the corner over there and we have we have craig raw here who is um the lead maintainer and the the man behind sparrow wallet which is one of the best desktop wallets on the market fully open source this is his first public appearance ever in the bitcoin scene thank you sir it is an absolute fucking honor that you are up here with us thank you well thank you and then craig craig and i were talking backstage you comfortable talking about what we were discussing sure go ahead so there's there's a path descriptors and wallets and simplifying that yeah so well we were just having a quick chat um currently bitcoin core requires if you want to input your output descriptor into a bitcoin core wallet you got to get a receive chain output descriptor and a change chain output descriptor they're different um andrew charles actually put forward a multi-path version of that which allows you to have one descriptor and that's useful because if you're going to stamp it into a steel plate for example you've got 99 of them the actual data is the same for the receive change chain so you might as well just have one descriptor which specifies both both chains um so that's a pr that's in bitcoin core right right now sparrow implements it that way and i'm kind of hoping that sparrow leads the way on that um to try and uh maybe get things to move in that direction but it is as yet an unmerged pr so hopefully it goes that way so what does that mean to the end user means easier backups essentially yeah so i mean if you have a multi-state you need to back up all of the public keys right you can't just have the seeds and uh output descriptor is really the most standard way to do that so you know just having one which is easier to put into steel plate for example which is i think an important thing awesome yeah that's true if you even if you have all your seed plate backups if you don't have those uh public keys i guess you couldn't recover the funds right correct so i mean you know people often think multi-state if i lose one of my seeds right i'm okay but actually you do need the other public keys yeah to reconstruct that script um so for that you know the output descriptor is kind of our standard way to do it awesome we'll give this pr a thumbs up i hope so let's get some review too um what do you want to talk about is there any you want to talk about tokens on lightning yeah yeah matt was making fun of me earlier saying i'm a i'm a attention whore no i called you a cheerleader this is what i called you why am i a cheerleader i don't know you just you just made it seem extremely bullish and i just don't i think it's very bullish i think it's cool i don't know what we're talking about is there's a lot of uh layer two like ways to do tokens on top of bitcoin right like even back in the day you had like uh what's it called omni protocol yeah omni protocol you had something party counterparty counterparty there's colored bitcoin then there's like liquid now there's lightning you can issue shit coins on top of bitcoin in lots of different ways now right yeah i mean you can also just issue shit coins on top of shit coins and let that be like if people want to use tether why does it matter if they use tron like does anyone really care like at the end of the day you're still trusting the tether corporation in the back end it doesn't really matter what chain it's running on so why do we care if it's just running on a centralized person was on bitcoin rather than a shit coin that's why i got excited about it you can create these tokens within a tap root transaction and then push it up to the second layer and transact via lightning but you brought up something earlier when we're discussing this when it became apparent that matt was gonna uh shit on me on stage uh we said we should talk about it does it i did does it uh does it create this weird mev like incentive mechanism on the lightning network where you you have these different assets going through lightning nodes and does that mess with the incentives of the node topology yeah i mean i don't i don't really i mean it's just recently launched we had we had the fortune of having lalu on stage here yesterday to present on it um and what it hit the it hit the dev mailing list the day before that i believe um so it's really fresh so i expect people will you know look into it uh but you know as someone who does run a routing node run a lightning routing node um and i see that we have a lot of you know lightning's great i lightning's one of those things where i just go through like four month cycles where i'm bullish and bearish on lightning but i've run a lightning routing node the whole time and i continue to use lightning but there are things that need to be refined on lightning it's an unfinished spec right and i don't know if nfts on lightning are the thing that i get excited about like i think stable coins are interesting i'm interested in hash rate derivatives could they be tokenized that's from a stable coin yeah yeah there's a lot of um assets issued on the liquid network too and there's this huge divide internally within the liquid federation should liquid become this thing that like eats ethereum and all these other shitcoin blockchains or should liquid be a system for cheap and fast bitcoin payments on a layer two blockchain right and and it's it's uh really interesting to see how these layer two networks and communities will evolve over time i mean the i guess the rough consensus is like why not both but it can be a distraction and you get lots of scams it's it's it's really got its trade-offs right yeah so i mean marty had a specific uh when he when he was cheerleading tarot he had a specific uh framing which is that it obsolete shitcoins it makes every shitcoin obsolete yeah does it that could potentially i don't know it could potentially that would have made the tweet as fire right could potentially craig do you have any thoughts on this or is this like no yeah i mean obviously i haven't really had a chance to look into it um in any great detail but obviously the one of the bounding qualities of the lightning network is the amount of liquidity that's locked up into it so if this brings additional liquidity that is a good thing um you know are there going to be other second order effects hard to say at this point you know i think it's we're just starting as a community to kind of look at what's being being being done i think you know it's it's it's interesting but it's not it's not super interesting in the long term we obviously have a long-term vision of a bitcoin only future um but it may be sort of an interesting diversion on on that path i don't think it may help us to get there who knows it's a cool part of the of their vision i'll say that as opposed to uh like synonyms proposal where synonyms proposal essentially has you have to have dedicated lightning channels for whatever shitcoin you're transferring uh so then that's completely separate liquidity like they it's called the lightning network but it's it's not really interoperable with the greater lightning network in this proposal it is pretty cool that you know you could just be running a routing node that only sees sats and doesn't even know um that that any token is involved and only the edges have to know so essentially like if tether was successful on lightning uh it could create an incentive where there is way more liquidity on the lightning network because tether is not on tron or solana or whatever bullshit and those routing nodes in between could end up making way more in fees as a result right so i i definitely agree that that is that is definitely a very cool aspect of it sounds like you're becoming bullish on terra live on stage i mean you're right i'm just trying to be fair i'm just trying to be fair i'm just trying to be fair i'm just trying to be fair um i don't think it's going to obsolete shit coins though yeah we were uh also reminiscing earlier of bitcoin 2019 when we did the first live rhr on a picnic table on a picnic table that had a fresh face he looked about 15 years younger wearing the same shoes uh it's just crazy to think of it's a different pair but it's how how big this uh how big this conference has gotten over the last three years specifically obviously due to the fact that bitcoin's a very big theme in the world right now bitcoin 2019 we were on a picnic table there was 2500 people at the conference maybe even less like 2300 people at the conference the main stage for that event was probably around this size maybe a little bit bigger definitely the actual stage was bigger but seat wise was probably maybe like 60 larger than this yeah like this used to be the whole bitcoin conference room and then bitcoin 2020 was canceled uh because it's happening in california as covid hit and then bitcoin 2021 we were outside in the scorching heat yeah they put a leery inside in front of about 400 people with 13 000 people at the event and now we're on this nice beautiful open source stage and air conditioning with probably like 900 to a thousand people in here i'll take it and we've got a we've got a live three years after too we love you freaks we do love you um yeah it's crazy to think i mean you had odell beckham serena williams and aaron rogers opening the day do you know uh did i tell you that uh cnbc reached out to do an interview with me here and they kept asking for my pr person i was like i'm just a humble bitcoiner like i don't have a pr person we like planned the whole thing out and they thought they were booking odell beckham jr secondary odell and bitcoin it's amazing how quick that happens that's incredible oh number one in our hearts let's fucking go so with all this attention coming to bitcoin obviously this conference 25 000 people here i'd like to hear your thoughts wiz and craig like at the protocol level in the network level in terms of decentralization usability how what do you guys think the state of bitcoin is as a network right now state of bitcoin big question that's a good question huh um i don't know i mean the community is very strong but there's also like this um mix it's like a venn diagram or something where you've got the bitcoin the hardcore bitcoiners which are probably in this room and then you've got the crypto people and then you've got just the total shitcoin scams right and it's it it's like obviously those circles are not the same size right as you just described by the size of the comparing the different sides of the stages or whatever and even around this uh conference there's like satellite conference like shitcoin or something thanks a lot is doing something here yeah it's it's just um yeah it's the community is is evolving i guess it's very mainstream but the real bitcoin community the core hardcore bitcoin they're all here like in this room i feel right i mean yeah i have to agree with where's um i wander around uh and i feel that the bitcoin conference is here in this hall um yeah it's kind of not really happening out there i mean that's not maybe fair because i haven't spent that much time time time time out there and i'm sure there are interesting talks um but certainly what we've had here thanks to matt there's been some really great talks it was definitely not just me there's a massive team that helped me shouldn't have done it without them um i mean i behoove all of you an hour after this i think it's 4 p.m to go to the main stage because maulers has got a fucking insane announcement so matt hasn't even told me yet so it must be pretty big lip sealed yeah the um yeah i just came back the mining stage steve barber wit from compass bob and a gentleman ryan i believe from titan with aj had like a further decentralizing mining talk the mining stage is awesome right i mean i i've been stuck here and i love it uh but i i mean i i've looked all over that agenda the agenda for the mining stage for today and tomorrow um i mean like historically like industry day is always very suit heavy you know and this year was the exception because we did highly technical open source conversations here so that was the rarity in terms of how they set up this conference usually but the ga days on the mining stage are pretty pretty awesome what was your how many talks did you watch so what was your favorite i must admit this is my second talk so the the last one i saw was my favorite but i think it's important discussion like decentralizing mining obviously uh in the mining industry it's always top of mind you're seeing this massive migration of hash rates to us and even more specifically to texas a lot of massive on grid uh operations that are just inherently centralized you have people building 500 megawatt uh facilities that that are very out in the open uh and i think what steve is doing with upstream and the black box to get more individuals mining and his framing with the black boxes it may not be as profitable but people really want it because they want privacy there's this there's this push for privacy downstream in the energy sector um from from individual bitcoin miners upstream universe gets much more efficient obviously because they're closer to the lowest cost power but downstream is being hardened because people want kyc free bitcoin i think that's a really cool move that's an interesting uh comparison between like the mining stage and open source stage open source can just be like a few shadowy super coders you know hacking away on github you don't you have no idea what their real name is but to do mining especially these days it's extremely capital intensive and you know you need to wear a suit to raise that kind of capital right i don't wear suits well no so we have so i guess both me and marty are going to be on the mining stage tomorrow separately i can wear a suit um and so marty's marty's talk is titled is esg an attack on bitcoin obviously marty doesn't think esg is an attack on bitcoin so it should be a very interesting conversation yeah i will we'll talk about that tomorrow and and i'm doing a kyc free home mining with the econo alchemist and diverter um so there's a lot of good conversations this year uh that i'm excited about and i i mean i look at the end of the day there's so much there's so much content that you have to watch them after the fact yeah um so you like catch them all yeah i did catch a clip of dave portnoy talking shit on me um that was funny but he was talking shit about you yeah funny though i actually texted him after um trying to convince him to get barstool's podcast on podcasting 2.0 i mean that seems obvious yeah i think that would be massive not only for podcasting 2.0 but like having somebody like barstool what did portnoy say about you he's uh was he on he said i was shady when i worked at barstool while he was on i was sneaking into the studios late at night while he was on state but the first time i recorded with marty was in barstool's merch closet with uh t-shirts all around us yeah we literally and a bottle of mcallan the first what was that it was like episode 29 of the interview series yeah marty was like oh come over to the barstool studio like this is where i record i was like it's gonna be the most baller podcast studio ever i'm just like sitting in a fucking glass box with fucking t-shirts all around me hey humble beginnings man i had a lot of t-shirts yeah um so we have yeah we'll keep 21 minutes we'll keep 15 minutes for q a um what is uh i got something if you can't think of anything you look like you're digging for something in there well that's why i was looking at my phone earlier like is there anything interesting but if you have something well i wasn't able to dig too far into it but Blockstream and breeze announced oh that's cool the green light integration what uh you seem to know more about it than i do what's going on so i was talking to roy about it roy's here from breeze he's absolutely awesome um so first of all it's like a it's just an announcement of their plans to do it um but right now with breeze you essentially are running a lightning note on your phone directly on your phone and if anyone's used breeze for podcasting 2.0 like your phone gets really hot because it's like it's legitimately running a lightning note on your phone um and it also means that all of their different apps within breeze uh whether that's the actual wallet or whether that's podcasting or whether that's their point of sale and he wants to add video streaming and he wants that all these different things they all need to be in the same app because they need the lightning node now green light is cool because it's an on-demand cloud node that Blockstream it's a it's a service that Blockstream runs and it's trust minimized because the actual keys are on your phone uh they're not on the server now there's obviously some trust still in Blockstream um obviously the main one is that they actually are up but also they provide a watch tower service for you because when your node's offline someone can try and broadcast a bad state and steal your lightning funds right so there's a little bit of trust in Blockstream but if they're not like your channel partner they shouldn't be able to take your funds and all these lightning wallets on your phone they're they're not trustless there's always first of all it's very hard for anything to be trustless but they're all like trust minimized taking different trade-off balances like even with breeze with breeze your phone goes off offline you know your main channel is open with breeze you know they're the only liquidity provider there's some trust there in breeze now in this setup it's it's really interesting because um you yeah you have the keys on your phone green light is the node and then he can have all these different breeze apps that can all connect back to that node and separate them out so you don't have one big bloated app um that does all the things that's modular yeah and i guess like this is the first major partner with green light that i know of that's pretty cool it also means more c lightning usage like core lightning usage do you want to talk about that did we talk about that last week we did we thought it was an april fool's joke yeah i mean we had christian decker up here and he kept he kept calling it c lightning by accident the uh i mean we talked about it last week yeah we did we already talked about it yeah i mean there's a lot of people in the room here the lightning flame wars are interesting the implementation wars what do you have any thought yeah the the green light logo is yellow what's up with that that just that just uh irks me so hard that's confusing right yeah i guess everyone's scared of you know making a green b because of b cash there's one right behind your head over there that's a square that's a square so it's like a little bit different yeah 100 yeah i think b cash is who was here when b cash happened when the fork happened it's good yeah see for a lot of people b cash just does not even exist good there's no reason to uh so you think they should call it yellow light or should they change the color of the logo i'm not the marketing person i don't know yeah yeah no i was actually reminiscing with harry suddock about that too i think when we first met in 2017 like all the topic was about the fork wars and it's crazy again i think how far we've come from that it was an important part of bitcoin history though right kind of like mount gox going bankrupt or or the block size wars whatever you want to call it it proved that bitcoin is resilient and it just got stronger afterwards so yeah it sort of needed to happen at some point right to prove that bitcoin could overcome that that's true yeah like even five six years ago it wasn't um maybe this is something we take for granted now now we kind of accept that bitcoin works extremely reliably but back then it was much more uh maybe experimental or we didn't have as much confidence maybe it was it was more of a something to play around with now you know you've got billionaires just going all in yeah and then you have other billionaires who want to change the code hashtag change the code they're going to change the code anybody could change the code just getting people to run it that's going to be hard uh well green peas can go fuck themselves they love it real bitcoiners in here um what else do you want to talk about uh well i had i lost the thought that just came back to me piggybacking on this fork wars were over how to uh scale bitcoin particularly at the block size level bcash wanted to arbitrarily just double the block size and other people thought SegWit would be a more uh advantageous way to to increase the block weight and make it some more transactions there he is okay do you have a handheld sorry i'm dressed like fiat today so steve go get a mic stick your head in there and ask them for a handle tell them um the bends are here and we're not but bends are here that's uh i got in a bit of a discussion this week we're under attack is there um ben's always oh no i can't see they brought a gaggle there's a gaggle of bends get out of here get out of here there we go steve don't bring that sign up here no my my little boy is six months his name is ben uh okay fair enough i stand with ben's baby so did you get uh did you get mobbed after your mining panel that's what i assumed i did yeah a lot of uh a lot of noobs came up to me so i'd explain bitcoin from scratch so what uh what are your thoughts of this event how's it going for you i think it's been great i uh came in a bit late but uh a few nft shills came up to me but they're you know they're nice people marty loves nfts though and he just wants them i have no opinion on them like i'm not i'm sort of like neutral but uh mining is good like this year is uh it's nice to see you like like excitement around mining so i think uh the conference guys have done an amazing job with that so i love and love them when i'm seeing out there in the booth section do you want to tell the freaks about our special offer yeah i'm shilling our black boxes uh if you guys haven't seen them they're uh mining out in the conference with a couple s9s so yeah um you want to tell them what a black box is yeah a black box uh it converts your kyc bitcoin to non-kyc bitcoin in the comfort of your home it turns you into your own personal non-kyc exchange it burns your fiat and makes beautiful bitcoins so every single one of you every single one of you should get one um although i know it's expensive so i put out the plan on how to build your own so you can just take a single sheet of plywood cut it in the sections that i drew up and build one and run an s9 off 120 volt in your garage or wherever and you'll get the sound kill you'll get all the you get you get to be on the black market uh like a true bitcoiner so go do that that's why it's called the black box hell yeah um oh and oh sorry there is a promo uh if you go to our web store and type in freaks as a coupon code you get a further discount off bundle so it's a little bit extra off it's a promo on right now so freaks uh steve was in texas last week big recruiting trip when are you moving it was a bit of a exploratory trip yeah uh there's a lot of action in texas uh i'm stuck up in canada uh i don't know how i got here i guess it's a different story but uh canada is uh not great for business right now so we were checking out texas for the oil and gas bitcoin mining stuff what about nashville uh so uh i want to go to nashville um i met peter mccormack last night and he invited me there so i might go in august and actually i heard nashville is rocking uh you guys do a good job at your meetups yeah they're all and tom is cereal one of my favorite guys at bitcoin yeah he's a good boy looking awesome he's from ten he lives in tennessee now and from what i see it's just a glorious place yeah it is a glorious place yeah well lots of people are moving there right i mean you got already like the bitcoin magazine office is headquartered there and uh not to dox anybody else who's living there but a lot of cool bitcoiners uh apparently are moving there yeah but all the cooler bitcoiners in austin so i'm kidding people think this conference is bad wait for your weft conference that's coming to uh is that uh weft plus coin desk consensus yeah talk about being tone deaf weft and coin desk yeah world like world economic forum have you heard of them who is nobody knows he's got he's a shady character is he the emperor is he the is he the sith or the is he the apprentice like we don't know that's the only question we don't have to get into that though we've got 10 minutes and 30 seconds left we usually open it up to q a at the end here there's a lot of people if any of you guys have any questions do we have any mics to hand out or we're just standing up and screaming that uh no wonder the bends are here we i don't have them on why don't you just read the shout out you put in there yeah ben actually yeah i had to reach out the two freaks until they dm me after we usually don't do the shout outs of the live show it's just it's not a not enough time underestimated announcement this week what is the most underestimated announcement it hasn't been made yet are you announcing the announcement now matt just did the uh what is the most underrated maulers that's hinting here uh do you guys talk about the cash app i thought that was pretty cool a lot of easier onboarding easier user experience seemed like some good stuff and lightning deposits right yeah the dual like make it easier to to pay i mean we've been talking about this a lot but i actually had a conversation with danny who's working on the cash app wallet and it's it's really cool just how much they've simplified the ux of pointing uh your your camera at a qr code doesn't know if it's a fiat qr code and on chain or a lightning code it just works it picks up whatever it is and sends what it needs to um let's give a shout out to the cash app for really pushing the ux barriers around bitcoin usage yeah i mean miles was great up there he fucking killed it yeah with absolute legend disclaimer they used to be a sponsor they're a sponsor of the stage and the stage yeah um underestimate yeah i mean i was hope maybe aaron rogerson stacks that's that's boss how's that make you feel it's two years since stacks stacks that's first came out now it's just whatever it's just everyone stacks we're gonna move to bits though dude we're moving out right yeah shit coins are obsolete and we're moving to bits i was expecting i was expecting another nation state to announce here so maybe not an underestimate well samson had like an overestimated announcement what was it i mean it was just uh it's like an island like a little island off of honduras yeah prospero right prospero but like everyone thought that was going to be a whole country i think we need more whole countries i think el salvador is out on a proverbial island we're used to whole countries now you know it starts with islands man it starts with islands grows from there fair enough fair enough i mean i would love for like the u.s or canada to just come out and be like we're not going to do anything um run free with bitcoin use it as you please which is who was i talking about this with i was mark moss i was talking about with mark moss yesterday like that's the way it should be like we shouldn't have to wait for permission from the government to use bitcoin the way we want to like it's the way america the ideals it was founded on i think we should just be able to do it freely doesn't strike me as organic to expect countries to like states like governments to adopt it doesn't seem yeah the incentives and game theory is not exactly yeah exactly you don't yeah you don't want whole nation states adopting you just want their citizens to be feel comfortable adopting and use it as they they want to especially if they have a money printing machine i guess it was kind of a no-brainer for el salvador though right because they were using the u.s they didn't even have their own currency yeah and the federal reserve is just printing out that trillions of dollars of money and they're getting inflated and no benefits at all so it's like a very easy decision for them right but most other countries that are printing their own currency it's against their interest to adopt it's like slaughtering their own golden goose in a way right so i guess for el salvador they already that that their golden goose already uh got slaughtered internally before that so it was a lot easier for them you have any thoughts on this correct yeah i mean i i think you know i think they're certainly early for their time i don't think we expect any other countries to announce uh certainly in the next few days and there are a lot of downsides when a country does this right there's a lot of custodial wallets there's a lot of um you know kind of implementation issues of trying to build this in on a wider societal level um so as you were saying marty it's almost better in a way that we have this kind of organic growth where it takes time yes but by the time that a government eventually says you know we're going to use this thing well a lot of people are already using it but using it in the right way or at least able to tell their friends and family this is how you should do it don't just use the government's wallet but you know use your own wallet and i think that that's you know so that's going to happen anyway so i'm i'm i'm not too fussed at the rate of country adoption because as you say i think it's happening anyway yeah raise your hands if you've been to the bitcoin bazaar in uh in the conference okay uh raise your hand if you spent bitcoin in the miami area that's pretty awesome like i love that we have both the circular economy here i love that we have every everywhere around this conference you can pay with lightning and a bunch of different companies and groups of people have been onboarding businesses in the in the surrounding area i mean we were at a bar last night that was on board and that accepted bitcoin dude it was crazy uh my flight from austin yesterday i came in and there was a few of the unchained guys on the flight as well and tyler who created the intro to our podcast was going to a hotel right down the street so we hopped into an uber we shared an uber and then somebody uh was coming to the conference like are you guys going to south beach this is probably not what you should do if you're a bitcoiner he was like can i hop in the uber with you like i hop in and he like we like split the uh he was like i'll pay you over strike i was like yeah here's a lightning invoice and like he paid me in the uber it's like as soon as i landed i ran into a bitcoiner i was willing to like pay me in sats to split an uber it was pretty cool i think i have the opposite strategy when the uber driver asks me if i'm the bitcoin i'm like what's that bite coin that's you show them a shit coin just so you for good offset purposes i i don't own any bitron is the future and he just doesn't do anything to you yeah it's it's really cool to see proliferation out to like ibex and oshi you've been going oshi's michael from oshi just fucking never stops yeah he never stops ibex is on board at 40 merchants i mean ibex and oshi also work together um so it's very complimentary i mean one of the most bullish fundamentals of this year period is i really feel like there's starting to be real momentum on a proper bitcoin circular economy and i'm being cautious about it because there were false starts in the past i mean yeah it's a big meme in like 2013 2014 hey what about bitpay adding lightning do we care no too late nicholas and the btc pay server team obsoleted them so it's a funny you have to do kyc before you send them lightning do you do is it is it like a threshold i've never spent to a bitpay merchant well they don't even give you like a qr code do they they make you never they don't give you like a bitcoin address to pay do they give you like a lightning i don't know i have no idea yeah who cares is anybody using bitpay i think a lot of people are right use btc pacer raise your hand if you use bitpay at your business zero head somebody's pointing at somebody over there it's like a pretty it's a pretty scary shame it's kind of a mean there's a kind of a mean question uh raise your hand if you've if you spent at a bitpay merchant in the last year it's a few hands um did they just give you an invoice uh bib 90 got it so he's saying it's it depends on the merchant some just give you a bitcoin address still catching up but there's other merchants that just use a btc pay server like uh you know to book your your flights or hotel there's so many places you can go now 100 so guys um i mean we have two minutes left i think we should probably end it with final thoughts but before we do before you all like jump out of your seats and stuff we have a ride or die freak here who's going to perform for us captain youth in two minutes after we do our final thoughts so um i'm very excited about that and uh looking forward to that so craig you want to start with final thoughts sure so i mean uh great to be here and um you know i just really am inspired by the number of people that i met and um feedback that i've got it's it's uh it's great to see in person the kind of passion um that people have i'm living in you know one corner of continents in the world where bitcoin is not um a general topic let's say um and coming out here you can really experience the kind of passion and enthusiasm that people have having the space and that gives me energy to do what i do so yeah um it's been great to be here so far thanks craig whiz final thoughts yeah i mean it's been miami's been great so far we started off with the beefsteak and that was amazing uh steak's always special who went to the beefsteak yeah marty why isn't your hand up that's that's the best that's a very pregnant wife i've had i tweeted i have beefsteak foam i have poor fomo yeah well you were missed everyone i was asking me about you i had to answer that question like 100 times thank you for missing me freaks yeah well yeah beefsteak was awesome and um you know this open source stage was awesome like every talk is these are this is the signal right these are the people that i want to uh listen to and hang out with i don't know what's going on in the other rooms uh paying attention but yeah steve well i'm happy to be up here i i listen to you guys i do a lot of driving in canada from calgary to lloyd to oil wells why not listen to you guys all the time so appreciate having me up here me and marty were shooting guns on a texas ranch the other day it was thank you steve illegal guns that we wouldn't build not u.s illegal but canadian illegal so it was a special experience steve had a cathartic experience on the gun range on sunday i've got a picture of him he's got the biggest shit eating grin on his face fn scar man oh my god uh there's a guns and bitcoin conference coming up i don't know you guys going to that guns and bitcoin i want to yeah i'm speaking at that um in a few days oh awesome it's out here in miami right i mean they're great dudes over there yeah do you have any fun oh yeah that's it for me don't you go first with final thought and whatever what are you i wasn't going to do final thoughts but we've been working with the bitcoin company um and we've turned that honey badger they've turned that honey badger that we used to have on our t-shirts before marty nuked the store because he was scared we're going to be ledger hacked um and proceeds are going to open sats them and us it's uh it's a three-way split yeah shout out to my uh it's pretty dope this is the first time i've ever seen it in person shout out to my roommate brayden out of college who made that design and shout out to max who made this 3d print it came out great dude i know you just walked up on stage and i had a hot mic but it came out fantastic final thoughts we're gonna win we're gonna win let's fucking go thank you freaks here comes captain youth