James O'Beirne is a seasoned bitcoin developer who recently proposed a new way to implement vaults on Bitcoin, which would provide users with enhanced security solutions when storing their bitcoin. In this rip, Marty and James discuss OP_VAULT, what it is, how it may be implemented, and how it compares to vault proposals that came before it. On top of this, James expresses some concerns about the state of Bitcoin development, how social consensus around changes will be created in the future, and the onboarding process of new Bitcoin Core developers. If anything, this rip is a good mix of discussion around the cool things that can be added to bitcoin and a sobering reality check on the state of one of the most vital aspects of bitcoin's many layers; the protocol engineering layer.
Follow James on Twitter
Check out the OP_VAULTS proposal
0:00 Intro, boostagrams, sponsors
6:23 - Opening riff
9:45 - OP_VAULT
12:18 - Origins of covenants
16:02 - Further iterations and designing the best vault
21:18 - Explaining vaults
25:36 - UTXO batching
27:32 - Use cases
32:29 - Ideal UX
37:03 - Feedback on the opcode
42:22 - Zooming out on implications
43:47 - Back to mailing list feedback
45:48 - When is the BIP coming?
48:09 - Bitcoin core governance
55:55 - Bitcoin ossification
59:32 - How should governance change?
1:06:43 - New blood in Core project
1:10:04 - Bearish vibes
1:16:51 - Is there room for project managers?
1:20:13 - Supporting new developers
1:29:53 - Bearish again
1:32:17 - Back to OP_VAULT
1:37:30 - Plugs and closing riff
Marty: [00:00:00] The beefy Bitcoin boys are back.
James: Oh man. It's real. It's real. You thought we were gone. We're never,
Marty: we were never gone.
James: We were never gone. Although, you know, my gym at penance has been pretty, pretty poor. I think I, um, I only qualify as a beefy Bitcoin boy kind of in a, you know, in an emeritus sense. But, um, I'll probably get back in today
Marty: we had to be eating steak and eggs at Jimmy's Diner in Brooklyn.
Rest in peace.
James: That's the last time we hung out in New York. Right? Yeah, I remember that. I, we, we had, we both felt like we had gotten duped by some of the zero hedge pandemic news. Um, but we, you know, turned out that that wasn't the case. And, and all that stuff was right on.
Marty: Yeah. This was in what, February, 2020.
almost three [00:01:00] years ago. A lot has changed since then. A lot has changed. Live in a whole new world.
James: Yeah, it certainly feels like it.
Marty: Yeah, I mean we were, we just freaks. We just talked for like 20 minutes about the state of the world. It is chaotic. We are an uncharted
James: territory. I mean, one of the biggest differences is that you now have a producer.
That's kind of blowing my mind. Yeah.
Marty: Logan's over there. He was trying to ninja launch on us. I said, no, Logan . I need some off the record. Catch up time
James: here. I think sometimes like the best conversations happen after the interview actually ends, you know, and you, you're kind of like relieved and you're able to actually kind of speak your mind a little bit more freely.
Do you ever think about just secretly recording those and then giving the interviewee the option? You're like, Hey, We, we accidentally left the, the, the record on. Do you want to like actually release this thing? I think it was pretty, like, you [00:02:00] remember when we were talking with, uh, the Epsilon Theory guy, Ben Hunt?
We had that great. Yeah. Ben Hunt. We had like that great hour long conversation afterwards where we were kind of pulling him up on, on, uh, some of the stuff that he
Marty: had said. Yeah, no, I, I wonder what the ethics of that are. Well, you give, you give 'em the option.
James: Yeah. Right. You give 'em the option.
Maybe I should do that, Logan, keep that in the back of your mind.
James: Look into the leg. The legality of doing
Marty: that. That's, uh, it's never been my strong suit looking in the, am I a journalist? I don't know what is, what are the ethics of journalism? I never took a course,
James: but, um, you, you mean you don't have a license, you're practicing journalism without a license.
Well, I don't live
Marty: in Canada. Don't, so I don't have to do that right now.
James: Oh, that's, yeah. Yeah, that's true. Okay. I
Marty: don't know if that ever went through it, but yeah, there was a , a law on the table in Canada where if you [00:03:00] wanted to, to publish a blog, you had to sign up with the government, put yourself on a list as a, as a journalist.
James: Oh man,
Marty: it's crazy clown world. We need Bitcoin, we need people like you working on Bitcoin. That's what we're here to talk about today. I'm sure we'll Wade and meander back into the macro landscape and what's going on, cuz it is chaotic. But we're here to talk about op vault, a proposal, not an official BIP yet, but a, how would you describe it?
It's a proposal for a new type of volt structure.
James: Yeah, I mean it really started out for me as an exploration. Um, I've worked in a few different, uh, commercial Bitcoin contexts at this point where, you know, you're talking about. Either custodying or shuttling around a lot of Bitcoin. And so Vaults kind of [00:04:00] came on my radar a few years ago as being something really worthwhile towards those ends.
And I started to kind of wade into the, to the covenants conversation and basically came up with this thought experiment for what, you know, what the perfect vault would look like. And so I, I wanted to write up a paper that just kind of summarized what I was thinking about and what I had found. And, um, as I was doing that, I kind of found that this op vault thing was becoming more and more tangible.
And so at a certain point I said, okay, I just gotta write up an implementation of this thing in core and see what it looks like and see what it feels like, uh, and release that and, and, you know, kind of see what people make of it. And, you know, as I went through that process, I, I got more and more. excited about it really, because it was like, oh, this is, this is pretty simple.
This solves a lot of problems. It, it doesn't introduce a lot of overhead. Um, and I think if [00:05:00] you're gonna, if you're gonna do something, you should have the code for it. If you're gonna propose something, you should, you should have the code file. I mean, that's what Satoshi did, right? And mm-hmm. , I think there have been a lot of proposals in the last two years, two, three years that are just like, yeah, what if we did this crazy thing?
And you're like, all right, well that sounds cool, but you know how many OP codes you need to introduce for that? Like, what are those OP codes? What do they look like? What's the implementation look like? Um, so I got tired of stuff like that. I wanted to just write up some code.
Marty: Yeah, it's, I, I like that you said that's exactly what Satoshi did.
Let's write the code, see what happens, see how people receive it. But I think for the context of this conversation, let's just talk about the history of vaults and covenants. because they're somewhat connected, somewhat disconnected to different types of ideas. Um, so did this history start with the, [00:06:00] funnily enough, uh, professor Eman Gunks, uh, covenant's paper that he wrote with a couple others back in like 2015 or 2016?
James: Yeah. So it kind of did, but we can even go back further than that if, if you'd like, which is, um, Greg Maxwell's famous Bitcoin talk post. Um, yes. And, um, he, I think the term he uses is like condo coins. Um, I think the title of the post is something like an amusingly horrible idea. Um, and yeah, so he basically introduces this idea of covenants, which is like, you know, and with Bitcoin right now, if you wanna spend some coins, there's an.
there's a, a lock script that's like encumbering the coins and you just have to present basically. So that's like a little computer program. Basically it's a little bitcoin script program. So you present another program that you feed into [00:07:00] that program and then you unlock the coins and you can do whatever you want with them.
Um, the idea that Greg introduced in his post was like, what if instead of, you know, just that one unlocking script, you, you could unlock the coins based on other things, uh, like the structure of the transaction that you're gonna be spending them into. And so, you know, he was like, oh, you can do all kinds of horrible stuff with this.
Uh, you know, Luke, Luke Jr. Amusingly in the original post. He's like, you know, Luke Jr. Could have some coins where all the outputs have to be perfectly round numbers in the tonal number system. Um, you know, you could do smash coin where in order to spend the coins, you have to present a proof that you attack some other chain.
Um, . So they're, they're, they're mostly just like, making fun of this idea. Um, and I think there was a lot of concern. I mean, it was kind of a, you know, early in Bitcoin, like people were talking a lot about stuff and, and in many ways, like [00:08:00] we kind of didn't know what we were doing. Um, but this post, I think, fomented a lot of negative opinion on covenants because it's basically these guys saying like, Hey, this is a really horrible idea because the government can come along and, you know, put constraints on your coins that are, you know, infinite and recursive and you can't, you know, you won't be able to escape these condo coins.
Um, when in actuality like that could happen today with multisig, like Coinbase could come along and say, uh, you know, You can't withdraw your coins unless it's to this multisig arrangement where the Treasury Department holds, you know, one, one of the keys. So, so that, that concern didn't actually end up being legitimate.
But, um, like you said, I think it was 2015 or so, um, yeah, the infamous Eman Gun, uh, and two other guys, um, [00:09:00] published this paper and it's kind of an interesting paper because it, um, kind of formalizes the idea of Bitcoin covenants and it, I think it introduced the idea of vaults, which is, you know, one application of covenants.
But, but then it's a weird paper because like the second half of the paper is like, yeah, we could also use these covenants things to do bitcoin ng, which was like their, you know, almost their, um, you know, earlier version of Bitcoin Cash. , you know, you're, you're like, you get way more throughput because instead of doing proof of work, you're like electing leaders or something like that.
And they just mint blocks. But anyway, um, yeah, so they, they kind of came up with this idea of vaults in that paper.
Marty: Yeah. And then from there we've had a few developers that I'm aware of try to play with that proposal to create vaults or covenant structures on top that top of that yet Oleg Andre, I believe in 2016.
Um, [00:10:00] but then I think more tangibly, Brian Bishop created a vault structure and then obviously Jeremy Ruben with Ops ctv, um, vaults are a big part of that covenant proposal. Um, and so I think what you've done with Op Vault, really correct me if I'm wrong, builds on the shortcomings of, of Brian and Jeremy's implementation and tries to find like a happy.
Medium with a different set of trade offs. Is that a correct characterization?
James: Yeah, absolutely. Um, my goal in setting out to design this thing again, you know, it was, it was, it was a thought experiment initially. It was like, okay, I really, of the, of the covenant use cases, I mean, there are some really important ones like coin pools, we, we can talk about that later.
But, um, vaults is the one that I really care about because I'm really focused on how to do Bitcoin custody safer, um, more safely. And, um, so I, I [00:11:00] was like, I'm, I'm just gonna set out to design something that in an uncompromising way provides the best vault tool. Um, because I had experimented with, I had, I had looked at using OP CTV and I'd written up a, some code that that actually used op CTV to do vaults.
And that was certainly an improvement over. Brian Bishop's stuff. I mean, Brian, you know, Brian, I mean in many ways like was groundbreaking, um, on this because he, he provided the, the first real working implementation of, of vaults. But, um, he was just kind of hamstrung by the limitations of Bitcoin in the sense that if you wanted to do vaults, he had to do these.
You basically have to generate a temporary key or an ephemeral key, as I call it in the paper. And, um, send some Bitcoin to, to transactions controlled by this key, generate a few different possible transactions and then throw away the key. Um, [00:12:00] and then you have to keep track of the transactions that you generate, uh, because they, like, they basically turn Bitcoin into cash like a bearer asset.
Like you're, if you lose those transactions, you've lost the Bitcoin because you don't have the key anymore, at least theoretically. Um, so you both have to make sure you like actually deleted the key because otherwise, You know, if someone kept a copy of the key, they can then spend the coins, even though you think you're actually in this vault structure.
Um, so you have to make sure you deleted the key, but then even if you've done that, you have to make sure that you hang on to the pre-signed transactions kind of until you wanna un vault. And if you lose them, the Bitcoin's gone. Um, so as an individual, that's really a pain. You know, certainly if you're gonna operationalize that, uh, as a, some kind of commercial entity dealing with Bitcoin, that's a real pain and it's really hard to kind of prove to yourself and to auditors that you're actually deleting that key.[00:13:00]
Um, so, you know, like Brian's work was really groundbreaking and it was a great proof of concept, but I think there were just like a lot of practical difficulties with doing it. then when Jeremy came along with OP ctv. Um, and it's worth noting for the, the purpose of vaults. Like you can kind of do the same thing with any prevo A p o, um, because they're both sort of general covenant mechanisms, but, um, opsi TV comes along and what it really does is instead of having to come up with this ephemeral key that you're generating and then signing and then hoping you delete properly, um, the enforcement of that is kind of moved on chain.
And so you can rely on the consensus engine to say, okay, yeah, you're locking up these coins and you can only spend them in one of, you know, 27 ways. Um, because [00:14:00] with CTV what you're doing is like you're pre generating the graph of transactions that are allowed for those coins, and then, um, you're kind of committing to that.
So, . Uh, so CTV definitely introduced some improvements on the design, but the problem is like, you're still, you still have to pre everything and you still have to say, okay, the coins are able to go here or here or here in, you know, these amounts, uh, with these fee rates, um, to these keys, you know? Um, and, and that just kind of like locks you in, uh, in many ways.
Marty: Yeah. Particularly on the fee rates side of things. Right? Because if you mm-hmm. preset those fees, we, you don't move coins from that vault until some point way in the future where the fee market's completely different. There's a possibility that those transaction transactions just sit in a net pool for a, a long period
James: of time.
Yeah. It's a big risk. Um, [00:15:00] so maybe to step back, just to make sure everybody knows what a vault is, um, the basic idea, like if you really boil it all down, , like in, in the abstract, what you're doing with vaults is you take some coins and you say, okay, I wanna lock these coins up in such a way that there's like one recovery path.
So I've gone and generated some, you know, some super cold keys, and at any point I can sweep these coins into that recovery path because I'm pretty sure that that's like safe, or at the very least, that's like from an infrastructure standpoint, completely different than everything else that I'm doing.
Otherwise, if these coins move at all, there's gotta be this delay period during which I can contest the spend of those coins, you know, by sweeping them to the recovery path. So if I'm using these things and I set my delay period to a day and I, you know, I'm making, uh, yet another bad decision and I want [00:16:00] to go send my coins to an exchange so I can sell them.
I start the withdrawal process to that, you know, to that exchange. And then, um, I have to wait a day, and then eventually the, you know, the coins to the exchange become spendable. If somebody hacks my stuff and they start, you know, trying to spend the coins, I have a whole day or whatever period I set to intervene and sweep those coins into the recovery path.
Um, so in the, in the abstract, that's how it would work. But the reason I kind of clarify that is because when you're predetermining, um, all the different paths that the coins can go, you have to use, you have to basically say, like in ctv, if you're gonna do a vault, you basically have to say, okay, when I start the withdrawal process for these coins, they are going to go to this one address that's gonna serve as kind of like an intermediate wallet, like a hot wallet.
Th then I then eventually decide like where they're ultimately [00:17:00] gonna go, because. Presumably like when I'm creating the vault, I don't know where I'm gonna spend the coins to. Um, but if I'm creating the vault with a pre-generated graph of transaction, I have to like decide where everything's gonna go. So I have to have this kind of awkward, intermediate, hot wallet that's hard coded.
But, you know, one of the big things that Op Vault does is you don't have to decide where that withdrawal destination is until you start the withdrawal process. And so that allows you to completely skip like this warm or hot wallet phase that you would otherwise have to do, which is a big win. Yeah.
Marty: And the way this plays out in the implementation, you have two different types of signatures, correct.
They can unlock mm-hmm. ,
James: um, right. So you specify number one, you specify like what the recovery path is because that you absolutely want to fix. That's, that's the place you can always spend to if anything goes wrong. So, You know that, and that might be [00:18:00] a taproot address or um, a script, uh, that has like, you know, a number of conditions you'd imagine like, it's like, okay, I can either, at the recovery path, I can either spend immediately with my super, super cold keys, or I can wait a year and then spend with some, you know, maybe this cold card that sits in my closet or whatever.
Um, but then, so you specify the recovery path, and then you specify the un vault key, and that's, that's what you use to sign to basically authorize, uh, the start of the withdrawal process.
Marty: And so the trade loss, the really dig into how this differs from Brian and Jeremy's implementations, um, it's better, it's an improvement on Brian's implementation cuz you don't have to burn the keys, you don't have that risk of losing your pre-signed transactions and not having a key. , um, to sign those.
Uh, and then [00:19:00] on Jeremy's, uh, gives you a bit of flexibility in determining what happens when you actually go to spend the keys in terms of being able to set fees and set in the address. Correct?
James: Exactly. Exactly, exactly. And then if we wanna go a step further, one of the big things we haven't kind of touched on yet is this idea of batching.
Um, so when managing a vault, batching becomes really, really important because let's say that you're doing DCA on an exchange and every day you want to make a buy and then withdraw to your vault, right? So you're creating a U T X O a day if you're using one of these, um, what I call pre-generated vault techniques.
Then for each U T X O, you withdraw. You have like a separate vault. and a separate vault process. So if you need to sweep [00:20:00] all of those UT XOs, if something happens, you lose your keys, whatever, and you need to sweep all those UT XOs, you suddenly have like a, a huge number of transactions that you have to broadcast and a huge number of subsequent outputs that you're creating.
If instead you're able to take what I call compatible vaults vaults that have say the same recovery path, um, you can then batch all those u t XOs together into one recovery output or one un vault output. Um, and so, you know, for an individual it makes the, the process a lot simpler, less risky, more efficient.
If you're talking about a big commercial enterprise that's, that's custodying a lot of Bitcoin. Um, then, you know, having batching or not having batching might, you know, make a massive difference because, If, if you're managing, you know, just imagine, you know, tens of thousands, [00:21:00] hundreds of thousands, UT XOs, then you've gotta be able to, to operate on that set of UT XOs as efficiently as you can, especially if you're talking about responding to an attacker, uh, in a timely way.
Marty: Yeah. So let's dive more into that. Uh, give the less technical freaks who may be listening more context about like the particular use cases for an individual and, uh, a commercial entity. Mm-hmm. , like what, what, what would like for an individual is just a, is this just more secure cold storage where thinking at more confidence that they can put their UT XOs in this type of structure and get a bit more peace of mind because,
If for some reason or another somebody gets access to their private keys, they, they have a way to make sure that, that they keep their Bitcoin and that attacker does not get it at the end of the day. And then on the commercial side, let's just create the possibility for, for better, like business [00:22:00] management, uh, via U T X O management.
James: Yeah. Yeah. No, I think that's, that's a perfect way of stating it. Um, as a user, I mean, I, I don't, I don't think proposals that are not interesting for users are, are interesting for me, I didn't wanna make something that, you know, wasn't extremely practical for someone to actually use. Um, and so this is, this is something that I think is, is really, really usable.
Um, and, um, is as valuable to individuals, I think as it is businesses. Um, because what it gives you is basically like a way of costlessly introducing. Like a final fallback for the individual. So, like I said, even if it's something as simple as like your recovery path is just a different manufacturer hardware wallet or something that you have, you know, you can, you can introduce that into your setup, [00:23:00] um, and not add to the operational complexity of whatever you're doing day-to-day with your Bitcoin, whether that's consolidating coins or, you know, sending to exchanges or sending to other people.
You still keep that flow very, um, potentially seamless, you know, whatever you're doing today. But, but by using a vault, you're introducing kind of like this final fallback, um, that, that you, you didn't have access to before and it really, really, really makes it more difficult for an attacker to get to get to your coins.
Um, obviously the cost of doing this is that you introduce a delay period. , um, you know, for your coins, but I mean, if this delay period's like something modest, like, you know, 10, 20 blocks like that still gives you as a, as, as the holder a huge opportunity to potentially intervene if some attacker gets a hold of your keys, um, at really not that much cost to you, I [00:24:00] don't think.
Um, and then, oh, go ahead. No, you go. Lemme finish. I was just gonna say, and then as, as a business, um, I mean you, you know, I think every business I've ever kind of interacted with, you know, if there was this feature in Bitcoin, this ability to kind of slow things down marginally, you know, like I said, like a 10 block window.
If you have a sophisticated infrastructure and if, if you have, you know, software developers, like, you know, a 10 block window is, um, is an eternity in terms of being able to actually intervene and, um, Prevent your coins from being stolen. So I, I mean, it's my, it's my true belief if something like this were in Bitcoin, like the notion of a, a commercial hack happening would be, uh, would be very, very rare because, um, if not, you know, kind of never, because, um, what's necessary when you're using Evolv is to run, you know, what you could think of as a watch tower, [00:25:00] which is just something sitting there, kind of watching the mem pool to see if, um, any of your vaulted coins are moving.
And if, if that move is unexpected, you know, you, uh, get an alert and the opportunity to intervene. And so if you're like a, a company, um, this is a very trivial piece of infrastructure to set up. Um, and if you're an individual, um, not only is it easy to run if you wanna run it yourself, but, um, I think you could do this in a way that a third party would be able to do this for you in kind of a private way.
Um, , if we were to use something like, you know, compact block filters or bloom filters where you give some third party, like some information that, you know, provides say false positives for spends, and they, and then they just alert you and then you decide whether, um, you know, things actually move. But anyway, that's, that's kind of getting in the weeds, but my point is like, I think like, I would use this for sure, um, and [00:26:00] I think this has tremendous value for, for people at the individual and at the, kind of like massive scale too.
Marty: Then in an ideal world where this gets adopted and people start building on, it might be a weird question, but like, what does the ideal UI look look like? If an individual or a commercial business we're gon, we're gonna be setting up these vaults, what type of information would they be plugging into an app?
Obviously the Send coin somewhere. . Um, so you set up the vault, I imagine there's an address associated with that vault, so that's where you're sending Bitcoin to initiate it. And then obviously there's other pieces of information that you'll have to fill out. What would that look like?
James: Mm-hmm. . So I think what you could do, um, and that's actually another benefit of the out vault approach relative to the other ones, is once you initiate a vault configuration, we, you can reuse it.
Like you can just send to that same, you know, uh, address or it's, it's, it's pretty trivial to, um, [00:27:00] you're sending it to the same script basically, but the, the parameters that you would put in are number one, what is, what does the recovery path look like? And presumably if you were creating one of these vaults in a certain wallet, you would kind of want to come up with that recovery.
with a different way, you know, because you don't want the same wallet, kind of like generating a recovery because if it's, you know, if there's a problem with the software or if it's backdoored or something, um, so you come up with a different, um, a, a, a recovery path to feed into it, and then you'd specify a spend delay.
And that is specified in the same way that we do like check, sequence, verify or any of the other relative time locks. So it's like, you know, how many, how many blocks do you want to go by, or how much wall wall time do you want to go by before you're, you know, during this withdrawal period. And, and then you would specify the withdrawal keys.
Um, and so that gives you all the [00:28:00] information you need to actually send coins into the vault. So you get, you just get an address out. You can send, you know, coins into the vault. You can, um, if you gave like an X pub for the recovery path, you could generate. New vault addresses that kind of correspond to the same vault, if you know what I mean.
Mm-hmm. , um, to reuse. Uh, and then if, when you actually wanted to spend the vault, you go to your wallet and you say, okay, I wanna spend, you know, this amount to these outputs. And then, um, uh, I think it'd be pretty transparent from there. Um, you'd, you know, you'd just wait for that kind of delay period to, to lapse.
Um, and then your, your coins would be spent
And you'd be able to pick fees at the time that you're un vaulting. Mm-hmm. .
James: That's right. Yeah. So this, so the proposal actually, like, it can't be, like, if [00:29:00] everybody decided tomorrow this was awesome and they wanted to do it, we, we couldn't activate it yet because, It relies on, um, package relay and ephemeral anchors or something like that.
And I don't know how deep in the weeds you want to get there, but basically they, they, they allow the dynamic fee adjustment to work with this, with this pattern.
Marty: And they had not been merged in the court yet.
James: Yeah. They have not been merged in. But, but I think of any of, of all the outstanding stuff in Bitcoin that could kind of come down the pike transaction or, um, uh, package relay is, is far and away I think the most likely thing.
It's, it's pretty much gonna happen. It's just kind of a matter of how quickly, because like basically every contracting protocol on top of Bitcoin has this problem where you're kind of like locking yourself into some arrangement ahead of time. Um, and you've gotta have a way of. [00:30:00] Adjusting fee rates kind of after the fact.
Um, and it turns out, um, you know, lightning has, has a lot of issues with this. Um, so, so package relay is definitely gonna be a thing. It looks like this ephemeral anchors design is gonna be a thing as well. It's kind of being lumped in to some, to some degree. Do they
Marty: require any, uh, doesn't sound like they require any consensus changes.
Would they need soft forks or
James: No, luckily not. It's just a, just a policy thing.
Marty: Mm-hmm. . Yeah. And then would Opal, would that necessitate a, a soft fork? Cuz it's a new op
James: code? Yes. Yeah. Yeah, it's two new op codes and, um, so that would be a soft work.
Marty: Okay. And I mean, I, we were talking about it before we hit record, but it seems like there's been a lot of valuable feedback on the mailing list to your original post.
what's that been like? And then I also saw Ben Carmen posted something to the mailing list last week about, uh, vaults [00:31:00] being, uh, a way to, to improve DLCs as well.
James: Yeah. So the feedback so far has, has been pretty good. Um, I think, you know, I've gotten some good suggestions from Greg Sanders and AJ Towns that I've already incorporated into the code, so that's, that's up there and tested.
Um, and what's been cool is nobody's come along and said like, Hey, oh no, this is a, this is a huge issue, or this is a deal breaker. Um, and a lot of people are, are, are excited about it. I mean, I'm, I'm interested to, to get some feedback, uh, from the industrial side a little bit to see, you know, how like, I don't know, maybe the GE are river or something would, you know, would like to have something like this.
But, um, so far it's been pretty positive. Um, and yeah, like you said, one of the funnier. aspects of getting feedback on this has been like, a number of people have been like, [00:32:00] oh, you can use this to kind of simulate opsi tv. And I'm like, yeah, uh, you could. Um, uh, and I just, I just think it's funny that, um, you know, like a lot of people are very excited and, and I'm like, look, if, if you, if we wanna do OP C tv, like we should just think about doing Op C tv, because I've spent a lot of time looking at that change.
It's very simple. Uh, the risk is, uh, non-existent as, as far as I'm concerned. I, I sat down and tried to break it. I was like, oh, would be fun to, you know, find some like hashing attack or something. Um, and, um, I really, I, I put that code through the paces now. I mean, I'm not, I'm not like a Galaxy brain in the way that, you know, some of the other devs are.
But, um, I, I think it's a safe change. Um, but yeah, I mean, people, people have been, you know, ironically enough, , like excited about this idea of using op Vault as a kind of [00:33:00] CTV proxy. And I guess there's, um, there's a big efficiency improvement for DLCs, uh, that you can add if you have something like CTV or like op Vault.
Marty: It seems like as a reading your proposal, even though you, you mentioned OP CTV seems like a, a minimal change, but it seems like the, the design parameters of op vault are even a bit more constrained,
James: which would Yeah. Yeah. It's like, it's, it's more purpose built for, you know, for the vault use case. And so I think as a result, like it really just, Knocks that out of the park.
Whereas with ctv, I think there are a variety of cool things you can do, but I think like none of those things is this zero to one, where you're [00:34:00] just like, oh, wow, this completely unlocks this new and amazing use case. You know, it's, it's stuff like, oh, you can, you know, make the DLC contracts more efficient, or, oh, you can do this like, uh, offline, uh, channel opening where, you know, you walk into a Starbucks and they don't have to have a signing key, uh, live for you to be able to like open a lightning channel and push a payment, you know, to them trustless.
So it's like there's, I'm very supportive of ctv. I think there's, there's, there's some really cool stuff, but it's. I just think like op vault's very, very tangible in terms of, uh, it's like, okay, yeah, this, I mean, it, it really allows you to do stuff with vaults that you just, you know, there's, there's nothing else that kind of gets you this, this tool.
Marty: Yeah, no, I mean, after reading the paper and perusing the mailing list and trying to follow along the best I can, cuz it gets really [00:35:00] in the weeds of the technical details of the op code and stuff like that. It does seem like it would be a, a massive added benefit, particularly for an individual who would like more secure cold storage, like would be of a love to descent coins, the cold storage set.
Like, Hey, let's have a hundred block delay, um, set up a watch only address. And if I get a ding like, Hey, your coins are set to move and I didn't initiate that transaction, it's like, all right, I gotta go, um, recover to my recovery path. Um mm-hmm. , that would be, A massive addition to the peace of mind on top of cold storage that I'm sure, I know for a fact that many Bitcoiners have.
It's like, ah, I'm pretty confident my cold storage set up. But there's always that lingering fear in the back of your mind, like, ah, something's gonna gonna go wrong. Somebody's gonna get my private keys and begin spending my coins. And, um, it would be great to have a fail safe like
James: this. Yeah, I think [00:36:00] so.
And I mean, to get like a little cosmic, you know, I think a, a lot of us, a lot of us have big dreams for Bitcoin and if you start to think about something like central banks adopting it as a reserve asset or you know, like fedi getting deployed in a massive way and um, you know, like there are gonna be custodians that are gonna, are gonna wanna see a period for Bitcoin where like hacks just don't happen.
And there's like a kind of. nuclear design for doing custody in such a way that like, you just know it's not gonna get stolen. And I think right now, like we, we just don't have that. Um, there's a lot of uncertainty and there's a lot of, it's, it's, it's very nerve-wracking. And like you're saying, like you're, even if your coins are super cold, you know, some nights you're like sitting there like, oh, I hope, you know, I hope [00:37:00] something didn't happen that, you know, I, I didn't kind of anticipate or like I'm unaware of.
Um, and so I think having something like this is just a huge, I, it's, it, it really could be a piece in, you know, a design for custody for both individuals and, you know, major institutions where it's like you just, you're not worried because you know this thing works.
Marty: Yeah. What's the specific feedback band just tightening up.
Some aspects of the op code, um, thinking differently about the design of the vaults, particularly
James: how's Yeah. Yeah. So one of the, like the first piece of feedback I got from Greg Sanders, Insta Gibbs, um, was in my initial draft. Um, so there are two new opcos. There's op vault, which is like where you send the coins into when you want to vault them.
And then there's op un vault, which [00:38:00] is kind of like what I call the trigger transaction where you're triggering a withdrawal. So they have to go into this like intermediate op un vault thing while the spend delay is elapsing. Um, originally that op UNT had to be in bare script, um, because otherwise the script interpreter would have a hard time, you know, wouldn't be able to see that you're spending the op vault output into a compatible op un vault output.
Um, But Greg Sanders proposed a way, um, to ensure that we can spend that op vault input into any kind of output so that up unal can be in like a tap word or a, um, you know, a witness version, zero script hash. Uh, so it was kind of an implementation improvement. Um, but it does help out the, the efficiency and, and maybe debatably the, the privacy of the whole thing, um, by, uh, letting us [00:39:00] like keep the entire lifecycle of the vault within taproot or within, um, you know, uh, seg, uh, script hashed.
Hell yeah. And then what, yeah, so that was, oh, go ahead. No, you got, I was just gonna say that yeah, that was a, that was, that was a great improvement. It added like a little bit of complexity to the, to the implementation, but I think it's well worth it because Yeah, it's just a, it's, it's a good thing to have.
Marty: Yeah. And then so what's, you got the proposal out there. How long are you going to be taking in feedback before you officially write up a bip?
James: I was actually gonna work on the BIP this week because I think even if you have a BIP out there, um, you know, there is a review, a review period for the bip. Um, and I, I think this, this thing is pretty close to baked just because, again, like [00:40:00] the, the use is so focused.
It's not like a lot of the proposals that have been pitched over the past few years have been like, extremely open-ended and like, oh, this is gonna support, you know, 101 different use cases and we really have to sit there and like, , you know, turn up the clock speed on our brains to make sure this is gonna be like the right platform for the future of smart contracting on Bitcoin.
This is more just like, Hey look, we wanna vi, we wanna knock vaults outta the park. Um, and me and, you know, a few other people have put in a few years of thought on, on this. And, um, so I'll be surprised if the, the feature set or the interface really changes all that much. Um, I, I tend to think it's gonna be a few things like, you know, what Sanders pointed out or what AJ pointed out, but, um, I'm not, I'm not expecting it to change that much.
[00:41:00] And frankly, I'm not expecting, uh, that I'll devote like a ton of time to this, to be honest with you. I, I think I'm just gonna make sure the code is in good shape. Make sure. The BIP is precise and readable and captures everything, and then put it out there and just kinda let it marinate. Um, because I'm not interested in, you know, pushing the soft fork.
I mean, I, I'd love to have this, but like corralling the community is a whole different thing and you know, in my opinion, like a good idea just kind of sells itself. So if, if the code's sitting there and people are wanting to use it, then um, you know, hopefully, uh, I'll have other people kind of like doing sales pitches.
Marty: yeah. And this wades in too. Another thing we, we said we should probably touch on, which is governance around Bitcoin core, particularly around coming to consensus [00:42:00] around soft forks, which obviously Volt wouldn't necessitate. And yeah, I think. It's a good time to jump into this estate of Bitcoin governance.
I know you've been a bit burnout in recent years and a bit dismayed at the state of, um, governance and conversations and the ability to actually get things reviewed and then ultimately merged. And obviously with tap root, we did speedy trial for that soft fork and there's been a lot of negative feedback on that particular, um, path towards that particular soft fork.
And that raises the question like, how do you do these soft forks going forward? Um, is there gonna be a new sort of, um, lock in mechanism, uh, every time you do a soft fork? Is that the best
James: way to do it? Yeah. I mean, you know, and I think maybe the, like, hopefully we've moved past fretting about the, you know, the particular activation mechanism [00:43:00] cuz that's just like, that's so beside the point.
Um, in some ways I, I, I really think like that whole controversy during the taproot activation was it, you know, honestly the, the, the people pushing that controversy were like not some of the cooler heads in the project. And I think it, it, it almost felt to me like, oh, we need to manufacture some kind of fight so that it looks like there was, I, I don't think this is actually what they were thinking.
I think the, the participants were all genuine, but it just struck me as like this like straw man fight of like, oh, you know, are we gonna do, you know, BIP nine or not? Uh, you know, a lot equals true. It just, it, it, it felt really superficial relative to the, the meat and potatoes, which is like, what is, what is taproot?
What does it do? Um, but setting that stuff aside, I mean, I, I think bitcoin's in, in kind of this weird [00:44:00] desert right now where, The guy who really, I mean, in, in many ways, you know, led SegWit and tap root, like the major, major changes to Bitcoin has kind of, you know, like for great reasons, stepped back a little bit and said, you know what, like, I'm kind of done making consensus changes for now.
Um, and you know, his exact reason for doing that, I, I don't know, but I can speculate that maybe he detected it's not healthy to have, uh, one person or, or a limited set of people be responsible for proposing the big changes to Bitcoin because that creates an implicit dependence, like an implicit expectation on the part of the community that it.
oh, what does Peter say? Like, you know, what are the stone tablets that Peter brought down off the mountain? You know, like mm-hmm. . Um, and I, I just think bitcoin's right now in the middle of, of a sort [00:45:00] of awkward, like teenage period where it's like, okay, maybe, okay, what do we, what do we do without a sort of implicit, benevolent dictator?
Um, how do we make decisions? How do we, how do we decide that we're gonna set out on this, like, fairly complicated process of doing a consensus change, um, without the kind of previous, um, hierarchy that we had. You know? And I, it's a really important thing to, to figure out, um, because if we don't figure it out, and mind you, like almost every other major open source project, , you know, if you wanna look at Python with Guido Van Roso or, uh, Linux with Linus Toks or, you know, I mean Ethereum, uh, with like, just the, [00:46:00] the normal mode of operation is kind of like, yeah, you have some guy at the top who's like, like arbitrating at the very least.
And like, you know, and, and Bitcoin doesn't and probably shouldn't have that. Um, but it's like, well there's never really been anything that's kind of operated this way. Like maybe you can look at the internet, kind of like the I E T F, but so, so I think we're in, we're in a really tough, and for many people frustrating period where it's like, okay, we, we are proposing these things, but like, how do we actually know when good enough is good enough?
And how do we know when, you know, the social consensus has, has been met? . Um, and I, I don't have answers for that. Yeah, ,
Marty: that's very, very hard problem to solve. Um, so yeah, you were mentioning Peter Will, ASIP has taken a, a step back. [00:47:00] Um, Gloria Al has, um, she's become, uh, maintainer, correct. She's got some some merge keys now, so there's change there.
And um, I know Vladimir,
Marty: stepped back. Yeah. Yeah. Vladimir stepped back and, um, so yeah, it is this weird, I, I like Bitcoin cores and a bit of a desert wandering through trying to figure out like, how the hell do we move forward? Um,
James: right. So that's like, so I just got. , like complaining about the social as, I mean, I'm sorry, the consensus aspect, but if you think about the implementation aspect, which is Bitcoin core per se, versus like bitcoin, the protocol, right.
Um, that's in a similar state where , it's, it's a really, really frustrating project to work on. And honestly, like everybody who works on it is extremely talented. They're, you know, a lot of those people are like [00:48:00] good friends of mine. But I just feel that like the leadership there does not have a very high EQ on net and like the kind of softer aspects of the project are like
It's, it is, it is the least fun project I've ever worked on in my life by probably an order of magnitude. Um, and it's a real, I mean, sometimes I get, I get very down, um, Working on it just because it's, it's, it's, it's really tough. And for, um, you know, for a new contributor. I mean, I just, I, I can't imagine, I mean, I, I have a lot of, like, I, I go back and forth about like how much to say about this stuff because I, you know, some of it's just me bitching and then, uh, you know, uh, like how productive is it?
Marty: We got a Bloomberg headline, Bitcoin developers is the, the protocol cannot be
James: upgraded. . . [00:49:00] That's right, that's right. Journals, yeah. Yeah. Here's, here's your fodder. I mean, no, it's like, these are, these are fantastic struggles to be having. Like, you have, you have to have these struggles if you're gonna make something that's genuinely leaderless.
But I do wonder, I mean, I, I do wonder what the final incarnation of that looks like. Like, is it, you know, multiple. Competing projects? Is it like segmented projects that, you know, where you have like, the consensus engines just really narrow and nobody ever really touches it and you have stuff around the edges?
I, I don't know. Yeah.
Marty: I mean, obviously you have the cohort of B winners that are screaming for ossification and actually like, um, I can't think of a better word than stale Nate that exists. Mm-hmm. in terms of actually being able to make changes. Um,
James: well, they may really get what they want. Um, because like, and, and I, I look, I, I am, in the past I've been an [00:50:00] ossification guy.
I mean, I, like, I I want immutable sound money, like, as much as anybody else. But, um, a buddy of mine, I guess I, I won't name him cuz I don't know if you'd want me to put his name out there, but, um, really, really talented guy. Um, uh, gave me a stat a few months back and it's really stuck with me. And, um, , I'll bundle the exact stat, but the nature of it'll come across, right?
Like, so if you wanted to open a lightning channel for 3 billion people, like all you wanna do is just open a lightning channel. You're not talking about closing or, or anything else. And you're not gonna do anything else with the Bitcoin chain, right? For the next, uh, however long until you get, you get this, this, these, these openings done, it would take you something on the order of three years of chain space to do that.
You know? And it's like, yeah, like I, I'm open to the idea that, that Bitcoin [00:51:00] might, um, you know, Bitcoin might essentially be like a, uh, a plumbing asset where we have kind of, we go back to free banking and maybe Fedi creates this kind of like free banking environment. Um, but look, man, Bitcoin is not the same asset if there isn't always the threat.
of an account holder going on chain, right? Like you always need the ability to withdraw to chain and take custody of your coins, right? Or else, or else we wind up in the gold problem where it's all just sitting in a Bitcoin warehouse and you know, there's a paper Bitcoin market. Like you need a system for this thing to work in the way that I think we want it to work.
I, I think you need a system where you can take possession of your coins if you want to.
Marty: I would agree. . And so, yeah, I mean that's something that's, I mean, it's been talked about a lot, but people don't, it's like one of those [00:52:00] unspoken agreements, like don't bring it up. But yeah, like if as the protocol stands right now, it's literally impossible.
Not even everyone on the planet to have a u T xo, but for a material amount of people to actually own A U T X O.
James: That's right. That's right. Um, yeah, I think somebody told me recently, Is the number like 40 million detected on chain entities? I think per some kind of, you know, glass node metric, it's like, it's not, it's not very much.
And you know, like, so look, I don't, I don't wanna make crazy changes to Bitcoin. Uh, if anybody goes near the supply schedule, you know, I'll freak out. But I mean, like Bitcoin's gotta , we've gotta scale to some, to some degree and we've gotta ha uh, figure out how to do that in a way that, you know, preserves the ability to audit supply, um, and to transact as an individual.
Um, but it's gotta be [00:53:00] done and like, we're pretty far from that point. So, you know, the people who wanna ossify, ossify, OSFI, I just, I don't think they understand the limitations right now.
Marty: Yeah. I know you said you don't wanna be the one proposing solutions for these. consensus or social consensus agreements to get these changes in.
But if you did have a magic wand, like what, what is your inclination? Maybe you don't know exactly or have an exact idea of what needs to be done in terms of creating a, a governance structure, but where's your gut lead you toward?
James: So you mean in terms of like specific proposals or like changes to process
Marty: or process specifically?
Because it seems like that's, that's, uh, a very big sort of, um, that's part of the, that part of changing Bitcoin is, is slowed down quite a bit and [00:54:00] yeah, I mean, has the most, has the most questions in the air.
James: It's the $64,000 question. Seriously, because like, So you have one answer, which is like, put somebody in charge.
Like everybody knows that's not the right answer. Um, like, we can't go that route. Um, you know, I think like you can make the argument it's early yet, you know, uh, it's, it's, it's only been, you know, a little time since Tapert activated. Um, we have, we have more time to sort this out, um, which maybe is true, but I have worries about the way the supply schedule interfaces in terms of timing with, you know, with other things.
Um, one thing that's encouraging to see is, like right now Antoine ARD has put together this [00:55:00] covenants working. . Um, and he's, you know, holding regular meetings and he is got this repository that has, it's trying to document like all the covenant use cases so that at least, um, you know, he can put some formalization around that process and, um, create like a specific venue to have that conversation.
So I think, you know, things like that are, are good and maybe you'll see more things like that evolve. Um, the thing with consensus is it, it's not like someone you know can, it's not like the answer is like, oh, just make another code base and do the alternative and, you know, people will, will adopt it. Uh, I I think it's a really, it's a softer process than that because you're, it's not just like, oh, hey, run this, this other software cuz you have to reason about the way the deployment's gonna happen and the way that like, , all the legacy clients are gonna interface.
And so [00:56:00] it's really, I think it's gotta be this process of, of people kind of coming together and maybe there's gotta be a sort of overwhelming, like, yeah, we want to do this kind of from the, the, the community at large. But that's it's, it's tough. Um, because like, you know, you don't want, I mean, I, I'm not a big fan of like, democracy and, um, a lot of people in Bitcoin, you know, industrial users have their own set of incentives and so it's just, it's, I don't, I don't have a great answer for you, man.
I wish, uh, I truly wish that I
Marty: did. That's what the freaks came here for. They're gonna be disappointed. I'm kidding. , that's the thing. Nobody has this answer and that's mm-hmm. going back to like 2017 SegWit. I mean, one can make the argument that's SegWit got. Merged into core because we, we hit these limits and it became apparent like, all right, we need, um, more [00:57:00] efficient block space.
And so like we, we hit this, this wall of usability in terms of block space and then seg was there, got implemented. And maybe the point I'm trying to make is maybe that's, what is the driving impetus for these changes? You, you hit a, a sort of threshold or, or limit of what the chain can do. People want more things and then they're more incentivized to be like, all right, let's seriously look at, consider these changes and try to develop consensus around them.
James: Yeah. I think you're dead on and like the counterpoint to what I just got done saying is like, well, alright, if there was actually some existential problem with Bitcoin, like I do think we could probably come together. And I do think the existing technical community is practically minded enough that like, If there was something really rough, we could come up with something and I think get agreement and I think get it deployed.
Um, [00:58:00] but uh, yeah, it's almost this question of like, what do you do when you're in the middle? What do you do when you're, you know, a lot of people, I mean, Jeremy, my God, I mean j you know, Jeremy's got all these ideas for things you could do with Bitcoin. Um, and he should get a ton of credit, um, for coming up with things you could do with Bitcoin that aren't shit pointy or ill advised or risky to the kind of underlying protocol.
Um, uh, and so what do you do when you're in this situation where you, you see the world that could be, and you're like, oh, this could be so good. You, you know, you could use it in this way and this thing could be more efficient, but it's not like a burning need, right? It's not like, oh, tomorrow nobody's gonna be able to transact if we don't, if we don't do this.
It's like, how do you deal with that? that situation.
Marty: Yeah. Is patience the most important virtue for a Bitcoin core developer? That's
James: certainly [00:59:00] like dumb persistence. Uh, you know, like just sitting there and , like rebasing your code and, you know, responding to feedback and, um, it's, I, I wor, you know, like from a personal standpoint, um, before I started working on Bitcoin professionally, I w i, I was writing so much code and it was like, it, it, it, it feels so good to, to make things and ship 'em and see 'em in the world.
Um, and in Bitcoin land you spend, like, I don't if you're doing it right, if you're, if you're really, if you've really figured out something great, you're, you're spending 20 to 30% of your time like writing code maybe if you're lucky. Um, and otherwise you're waiting, reviewing, responding to feedback. So it's, uh, it's a different mode.
And I kind of worry sometimes that I'm atrophying, you know, like as a dev because I'm, I'm doing, but then again, like you, you focus on different stuff. You focus on these protocol problems and [01:00:00] you come up with like side projects to distract yourself. Like, um, I'm working on this b o thing and you know, Bitcoin perf is currently defunct, but I'm gonna return to that.
And, um, so you, you find ways of keeping yourself occupied, but it's a different mode for sure.
Marty: Yeah. That's fascinating. I do not envy that type of workflow. ,
James: it's rough, man. I really don't like doing it. Uh, I, I keep doing it cuz I really like Bitcoin and at this point I'm not the sharpest tool in the shed, but, uh, I've sunk so much time into doing this that it's like, who the hell else is gonna do this?
You know? Well,
Marty: that brings up a good question. Who the hell else is going to do this? And what, I mean, you mentioned, uh, new individuals coming and trying to contribute to core. What's the state of new entrants into the core project looking like from your [01:01:00] perspective?
James: You know, I'd say in the last year maybe we've actually had some, some really great new people come on board.
Um, there is a younger crop, you know, in the code base that I'm seeing. Um, and that makes me really happy. Uh, I do worry a little bit. I mean, I mean still it's not in the numbers that I'd, I'd like to see, but, um, I do worry a little bit about what is gonna happen to funding if we have a protracted bear market.
Because already I'm talking to devs who are like, Hey, you know, I'm not, I'm not getting renewed. And I know for a fact they're amazing devs and they're doing super valuable work for Bitcoin and um, and I am getting the sense that funding is a lot tighter. Um, and I, I, I tell you what, man, I mean, I, I started doing Bitcoin development on nights and weekends for myself.
Um, you know, at a time when, when the development regime was probably a little bit easier [01:02:00] going. Um, but if chain code hadn't graciously paid me to just sit there and do core stuff all day, um, I, I just don't know if I would've had the, um, tenacity or the, you know, the time to, to, to stick with it and actually become a, a proficient core developer because it really just takes like months of kind of sitting there and being useless and getting to know the system, um, before you.
you know, do good review or, or, or be helpful. I mean, you know, now, now some people are, are different. Some people are, are, uh, absolute geniuses. But even then, like there's a, there's a, there's a different acclimation process. Like no matter what your strengths are, it just takes a few months to, to kind of get into that, into that world.
And I worry if people aren't being paid full-time to, to do it, it's not gonna happen.
Marty: Yeah. Oh, it's [01:03:00] fascinating cause we, again, going back to review Bitcoin as this imperative protocol project monetary system, as we transition further into the digital age, uh, and it is at the end of the day a distributed system dependent on, on code that people are, um, either getting paid to write or just writing out of passion.
Um, and as the system grows larger and more systemic, , like it's, these are very important problems to think about. Or maybe not necessarily problems, but processes. Mm-hmm. .
James: Mm-hmm. . Yeah. Definitely.
Marty: Yeah. It's, uh, so you bullish a bearish,
we're just in a low period here where,
James: look, I, I used to think something like Bitcoin [01:04:00] was just inevitable and it would be a matter of time. Um, I still think that, I think I'm less sure of it just because of these massive governance questions. Um, I just don't, I don't know how all that shakes out. I mean, what I do know is like, I'm just gonna keep doing it because it's the most important thing I could, I could think of.
Um, I mean, I have like, I don't know. I do, I do worry. I, I mean, I, I think about the physical world more these days. Like in my off time, I'm like building an off-grid solar system because I wanna learn how energy sovereignty works. I mean, solar's, you know, like solar's, I'm not, I'm not bullish on solar, but per se, but I, I wanna know how to generate my own energy, you know?
Marty: um, which is the way solar should be used,
James: you're asking. Yeah, yeah, yeah. Yeah. Like, yeah, we, we could have a whole discussion about that. I don't think solar scales, uh, but I think if you're, if you're, [01:05:00] if you want self-sovereign energy, it's like, in many cases, the most a practical way to, to get it, you know?
Um, but, but so am I bullish or bearish right now? I,
I guess like , I'm kind of bearish, but I'm like, this is so critical and important. I don't care if it's. . Like, if the chances aren't good, I just, we need to work on it. Mm-hmm. , if that makes sense. Like, I see a bunch of problems. Um, although I'm someone who's kind of like a warrior by nature and so, you know, and, and a bit of an alarmist.
Um, but look, you know, I remember you and I having a conversation and it was like, I just don't know what I would do if Bitcoin didn't exist. I don't, I don't know how it, like, get up in the morning cuz it like things are so [01:06:00] screwed up that what, you know, like this is the one raft we have out of all this.
And like, I feel that way still, but in a different way. I'm like, it, it, it is sort of, but I'm less, I'm less certain that it's gonna work within our lifetimes, I guess. Damn. Yeah, I know. I, I'm, I'm sorry for being so somber
Marty: free cause No, we need, uh, sometimes everybody needs some cold water splash in their face, like, Be real.
James: uh, yeah, I, I, I want to be, I'm, you know, and like, it's probably just a matter of being like too close into to everything and like being zoomed into how the sausage is made, as they say. Mm-hmm. . Uh, but, um, yeah, I don't, in my gut, I'm just like, the world is much less certain to me. Like, like let's say I , let's say that like all the political fuckery that's gone on, [01:07:00] you know, for the past, oh, I don't know, 50 years, um, like eventually does come back to bite us and we hit massive energy scarcity.
And like all of a sudden our immediate concern isn't, you know, how can I make enough money to afford a nice house? To like, how can I make sure that my family is warm? Um, , you know, and, and the country, the country's focus shifts from like, ooh, aren't all these software companies that we've harvested great to like, holy shit, we haven't built an oil refinery since 1975 or whatever.
Um, maybe we need to be doing that. Maybe we need to be, you know, like building nuclear plants. And I'm not saying any of this is mutually exclusive with Bitcoin. I'm just saying that like, if physical problems in the world get real enough, the digital [01:08:00] world might take kind of a backseat while we retrench as a civilization and say like, holy shit, there's some bad energy stuff going on.
Uh, there's some bad stuff going on in the physical world that we've gotta address and I don't really have time for the, the stock market or a new money system anymore. Um, and so I can certainly see that. , you know? Um, and it's a little bit of a Luddite perspective, um, and it's not necessarily my base case, but it's like, maybe that
Yeah. Now it seems like the governments are fucking things up pretty, pretty brilliantly, right? Right. Now, whether they're not, it's on purpose or via pure incompetence is another discussion. But objectively it's happening right now, and it's, yeah, it's pretty scary. Especially as somebody with two young children.
It's like, what the hell is gonna happen to you when you grow up? And I've obviously dedicated my life [01:09:00] to Bitcoin cause I think it's an imperative for them if I want them to live free and be able to live a life of prosperity and joy and the pursuit of happiness and freedom. But then, yeah, you have this, um, stark reality in the physical world of meat space where like literally the, the infrastructure that gives us modernity is crumbling right in front of our
That's right. Yeah. Maybe being a beefy Bitcoin boy won't just be a, you know, a uh, a trivial thing. No,
Marty: it's gonna be a bunch of scrawny Bitcoin boys. It's, uh, unless you have your own farm. Ah,
James: oh, that's what I'd love. How, how nice would it be to have chickens and, you know, be, have, have a nice little garden growing, have your own source of energy, have well water, uh, you know, those are, those are the things that I want.
I, uh, I really don't care to be, uh, rich. I, I just really like, uh, [01:10:00] security, a plot of land and Yeah. And, and obviously the social stuff. That's the tricky part, man, is like, how do you, yeah. There seems to be this like, trade off between getting self-sovereign and, and then like having a social life, you know?
Marty: Yeah. I deal with that all the time. Coming from like a big family. It's like, yeah, I'd like to go live on a farm in a far off place, but it's like, ah, I'm so far away from my family. Mm-hmm. . Mm-hmm. . It's, uh, interesting times. What, um, the, uh, the bear sentiment on, on Bitcoin is, um, got me thinking like, and I had this thought earlier I wanted to bring up, like, and I don't know, I mean you mentioned like how Linux was run, how Python was run, other open source projects with this centralized figure sort of arbitrating what does and does not get into those projects.
And obviously we would both agree, [01:11:00] probably not a, not an option for Bitcoin considering it needs to be this leaderless project. But at the open source layer of the project, obviously we have a bunch of core developers proposing code discussing it. Like is there. I can be completely wrong here, but is, is there room for like, project product managers that have experience with like big product releases, joining the developer community and sort of trying to think of ways to, to do quote unquote product launches, which would be changes to core or something like that.
Mm-hmm. , you think mm-hmm. , that type of perspective is necessary or valuable for Core?
James: Yeah. I mean, I think it's an idea worth exploring. And so what's funny is like, to an extent, it, it has been explored a little bit, like when Steve Lee first came on the scene mm-hmm. , um, [01:12:00] you know, I, I, I think the world of Steve, he's, I like, I've never seen a, a harder worker.
Um, um, and his ambition I think initially was he's like, I'm gonna come in, get to know the core world and kind of be the core PM. , um, because I, you know, I detect that there are these kind of like process inefficiencies here. Um, and, you know, um, I I, I think it's one difficulty there is because bitcoin's such a deeply technical project.
It's not that he didn't have credibility, but it's just like, you kind of can't be in that sort of managerial role. Like people like the, the project won't take you seriously just because it's deeply technical. And unlike a private company where there's sort of a hierarchy and it's like, oh no, this is a manager.
They, [01:13:00] you know, may maybe, uh, they're seeking your counsel, but like they tell you what to do at the end of the day like that because that hierarchy isn't there. Like, . It's, it's a f a very frustrating experience, I think for the PM because it's sort of like, okay, well I can't, I don't, you know, I can't really affect anything.
Um, or maybe it, it, it feels that way, but, um, I've kind of felt like I, so I think what you need are, are more people who have done development work, um, but are really trying to kind of facilitate other people's work and come up with a priority list for themselves and, you know, check in on PRS and say, oh, I think we should all review this.
Or I think, you know, maybe this is ready for merge, or it'd be really great, you know, if we could focus on project X, X, Y, Z because I think it has these benefits. Um, and so I've thought a little bit about shifting my focus after, what was I gonna finish? I was gonna try and finish Beam [01:14:00] O and then kind of shift my focus to that and, and just be more of like, Um, a repo mom and like figure out, you know, what, what we need to do and, you know, try and like, just comment and check in with people and if there's a new contributor, really stay on top of their prs and, and try and be welcoming.
Um, I just think it's, yeah, it's hard to do that if you haven't established like, you know, technical credibility, um, in Bitcoin. Yeah.
Marty: So I guess you're saying like the, some of the gray beard devs just need to become repo moms, let other people write the code and, um, step back and try to not focus on writing new code, but trying to coordinate everybody else writing code.
James: So I think so, but the, the tricky part there is like when you spend time in the software world, you realize like there are to an extent different [01:15:00] archetypes and, um, , one of the archetypes is like, oftentimes the smartest software engineers, um, in, in a, in a narrow technical sense, will not be, uh, people.
People, mm-hmm. . And I think we've, like the Bitcoin, both the bitcoin core project and process kind of selects for people who aren't people, people , um, . And so sort of the, the existing, you know, and again, like these people are my friends, so I can, I can bag on 'em a little bit. Um, like the EQ is not high, uh, in, in, in upper ranks.
And like, these people are very thoughtful, you know, like, but it's just, they're, you know, they're, they're, they're very, very, very technical people. And so, um, Either [01:16:00] there isn't, isn't the desire or kind of the understanding, um, to do this. I mean, I, so, so, um, I won't go into specifics, but like, there were a number of new contributors who came along over the past year, did some really awesome work.
Uh, clearly showed that they had some horsepower and, you know, might be real assets to the project. And their, you know, their prs were kind of like, met with crickets. And, um, in, in a few different cases, I was kind of saying like, Hey, these are new people. They look talented, they've made good changes. Like, why don't we try and do something with this?
And, um, you know, it's, it's like nobody's fault and everybody's fault, you know, just, but nothing, nothing happened. Um, is there sort of
Marty: like a, like a mentality of like, Hey, This is our like a, it's like the [01:17:00] surfing lineup. Like you go to somebody's local beach and try to hop in the surfing lineup and like, you can't fucking ride a wave.
Like, we're gonna ignore you. Not only ignore you, but like box you up from, from catching a wave. Is there that mentality eeking into the project? I think,
James: you know, there, there, like, there was a time where I would say yes, uh, maybe four years ago when you had a lot of people driving by, um, trying to get their name on, you know, the, the perception was, oh, you're trying to get your name on Bitcoin by making this superficial refactoring change.
Um, and there was like a big, you know, we like the project swung way in one direction, which was like, no refactoring, you know, we can't have these people just coming in, churning up the code base. So that used to be more a part of it. Now I, I don't think it's so much that I think here's what happens. Like, nobody, no Bitcoin dev wakes up and they're like, , uh, that jerk hasn't been [01:18:00] around, so I'm not gonna, you know, it's, it's more like there's a very limited number of people working on the project and getting code reviewed.
A very time intensive process. And there's a lot of work that has to be reviewed. So people's, um, you know, people just aren't, they don't, they don't have much time and there isn't much net time on the project. Uh, and this is kind of like, the same with the, the consensus discussion is like the reason Bitcoin becomes a very deeply techni, uh, a deeply political thing to work on.
And this is like another controversial thing I've been mulling over is like the, the development process in Bitcoin is like extremely political. It is more political than any company I've ever worked at, to be honest with you. Because at a company, it's like, okay, I got this thing. It like solves a problem, you know, let's do it.
And again, it's not an apples to apples comparison because the risk at a company is much lower typically. But, um, but [01:19:00] in Bitcoin, what happens is like there's a scarcity of people who know the project, who are working on it, you know, who have the capability to assess things at a ground level, right? And then there's more people who are like, kind of technical, but they're really just using the people who understand the ground truth as kind of like heuristics, as like indicators for like what the right thing is.
And so that creates this like, deeply political situation where you're like, okay, how can I, how can I talk to or influence the, the, the 50 people who are upstream kind of, of this whole ecosystem? Um, and that's what it ends up being. And so I think like, to, to zoom back into the repo, it's, it's more just like, um, everybody's busy, but also, you know, welcoming new people kind of isn't really a priority.
Marty: How do you solve that?
James: Nobody knows. Repo moms repos or [01:20:00] repo. I'm I'll, I'll become a repo mom. All right. Buy minivan. Put your apron on. Put my apron on. , get in. No, seriously, I mean that's, that's, that's probably what I'll, what I'll wind up doing because, um, I don't know. It's like, it
Marty: sounds like a good idea to me.
Yeah. You've obviously identified this. Probably describe it as the shortcoming of this inability to, to help these new contributors sort of mm-hmm. wade through the process. And, um, who knows, maybe you'll be the tip of the spear of a new trend that begins to emerge. , he's one of these natural progressions that, that leads to a trend that at the end of the day, maybe we'll look back five years from now, and the emergence of the repo moms helped create better consensus processes.
James: It could be, yeah. Um, you know, another guy who deserves a ton of credit here is Adam Jonas. [01:21:00] Mm-hmm. . He's like, you know, he's done a ton. I mean, you know, more things that you could rattle off, um, in, in a few minutes. But, um, he kind of, I think he like went down the repo mom path a little bit and he was like, nah, this, you know, um, you'd have to ask him like, why he, he kind of shied away from that.
But I, I just know he kinda like, but yeah, man, I mean, I, I'll give it a shot. Like if I think, if I think that's like the, the, the best thing that I can do for Bitcoin, that's what I'll be doing. Um,
Marty: yeah. What would you. Is there anything idiots like me could do? Like do, do? Are devs looking for signaling from, from users more or,
James: I think you just keep doing what you're doing, man.
You're doing, I think you're doing exactly what you should be doing for Bitcoin, which is, which is awesome. Um, I'm trying to think. I mean, I haven't put too much thought into like, would it be worth highlighting newer devs or something like that. I, I don't know if any of that stuff makes sense cuz it, it is a, it is a really [01:22:00] thorny issue.
I just think like we need to start with being, you know, more welcoming. Um, more accommodative, you know, tr but, but like, look at the root of all this stuff, I think is the hard fact that if, if more big businesses are not paying individuals to sit there and work on open source Bitcoin stuff, um, it's just, it's not gonna happen because.
realistically, like being, being a, an active core contributor in your spare time, it's just not, it just doesn't work, um, to do, to do a meaningful contribution. Like, it, it's, it's, it's too, it's too time intensive. I tried to do it after, you know, after I had gotten to know the system. Um, and you wind up spending an entire weekend rebasing, and you're like, okay, I didn't even make any forward progress.
Like, I'm just, I'm just keeping up with the Joneses here. [01:23:00] Uh, and I just blew my entire weekend. So, um, I think at root, you know, one way to address this problem would be like, if you're in exchange and you're making a lot of money off of Bitcoin, like reallocate that to a full-time core dev because otherwise they're just not gonna be in the, in the same numbers.
Marty: Yeah. And does that, I mean, does that catch up process just get more arduous as time goes on and the protocol changes and there's more variables to be aware of? Like, is this a problem that compounds moving forward?
James: What I hope happens is what Carl Dong kind of started, um, which is the lid bitcoin kernel project, where like maybe we'll get to a point where the, you know, bitcoin core as we know it is, is really just the consensus rules and, um, it's a, it's a bit more tightly scoped.
I mean, but there are, there are a lot of problems with that too. Um, because so much of like Bitcoin [01:24:00] development now and questions about what's gonna happen to Bitcoin or contingent on me pool policy and like mem pool's, you know, sort of, sort of separate from consensus and, um, you know, I think having a good wallet implementation that's like canonical is always good.
So like, that's not as straightforward as I, as I once thought it was. I used to be, of the opinion that if Oh yeah. Just segmented into the consensus stuff and then everything else, and it's like, oh, it's a little bit, it's a little bit harder to do, um, than I thought.
Marty: Yeah. Tough conversations need to be had though.
I'm very happy that you're being this open and, um, just speaking your mind on this stuff. Cause I think it's important. Cause I know, I mean, we've had conversations off air over the last, I know, the last couple years. Particularly, like I said earlier, you've been a bit dismayed at the process and everything that's been going on.
James: Yeah, and, and you know, number one, the fact that I'm [01:25:00] bearish and saying bearish things means you should probably, uh, you know, it's, it's probably a good contra indicator for the, the Bitcoin price is probably gonna rocket tomorrow or something, but , um, so not financial advice, but uh, um, Give him my track record.
Um, number two, uh, maybe I'm just too close to this stuff and, and look like when it comes to any, like, I still think of Bitcoin as far and away being the most credible, uh, thing that could do what we want to do. Um, and that's why I'm still waking up and, you know, devoting my best hours to it. So I still think it's, it's, it's the best shot that we've got.
I just, you know, sometimes you're, uh, waiting
Marty: close, waiting through the desert right now. Wondering. Yeah. Is there, is there an out
James: there? That's right. Is the man gonna keep showing up? I, uh, I hope so. I do
Marty: as well. Let's wrap it up. Op op vault stuff. Cool. More [01:26:00] positive note. Cool. Like, would you be more bull of shift?
You get a Biff, it gets, uh, it gets a lot of enthusiasm around it. Maybe, uh, people are like, all right, we want this. Get soft fork and. , I'd say by 2025 we have op vault. Would that make you more bullish?
James: Well, I, it'll make me more bullish if, if people really want it. And there's, you know, there are a lot of voices who are like, I want it, I would, I would love to have this, you know, um, uh, you know, both kind of individuals and, and on the commercial side.
Um, so yeah, if, if it gets a lot of support and look, I'm not, I'm not trying to sell it. Um, I just thought it should exist as an idea out there with working code in case that's the direction that, you know, we want to go. So if it gets a lot of support and people are excited, um, and it gets activated, you know.
Great. Um, I think what I find interesting from a process standpoint [01:27:00] about this proposal versus other ones is that, , like I was saying, this is a much more general proposal. It's like much more purpose-built. And so to see how it'll be evaluated is interesting to me because there hasn't, you know, this, this proposal is a lot more like say check lock, time verify, or check sequence verify than it is like SegWit or, or taproot in the sense that it gives you this new tool.
It's not a complete re-imagining of like how scripting in Bitcoin works in the way that a general Covenant proposal would be. Or, um, you know, a zero knowledge proof, uh, you know, Rube Goldberg machine would be. Um, it's, it's, it's a much more narrow tool. So it'll be interesting to me to see how it's evaluated and I'm, I'm looking forward to just kind of like throwing it out there and seeing, seeing what
Yeah. So you're saying there's a potential that you throw it out there and people are like, ah, this is too specific. Like [01:28:00] why, what We saw fork for something. So narrowly
James: focused. I'll be very disappointed if that's the, if that's the, um, the outcome. Um, what I'd be more interested to hear is if someone's like, this doesn't meet my use case, or I wish it did this thing, but it doesn't actually do this thing.
Um, but again, you know, after thinking about this stuff for, for almost years now, um, I just think the vaults like, like vaults to design for is pretty open and shut in terms of what you want. And I think this is, this is everything, uh, I could ever imagine wanting. Um, uh, so I'll be, i'll, I'll just be curious to see if there are, are people who investigate it and come up with, you know, different
Mm-hmm. . And have you gotten feedback from any potential enterprise users of this? Have you had anybody reach out, be like, oh, we really need this
James: part of my, I mean, part of what motivated this is like, I'm pretty intimately familiar with certain. , you know, [01:29:00] enterprises and just in, in kind of watching the design of things, it's, you know, I've, I've kind of been like matching that a little bit against this proposal.
Um, but yeah, I would, I would love to hear from, um, you know, other people who are, who have to deal with large amounts of Bitcoin, um, to see if, uh, you know, if this is a, this is of use.
Marty: Yeah. So if any of you enterprise users are out there listening, let's give some feedback. Go read the proposal. Yeah. It's weird.
At this bear market, everybody's focused on price and like the, the industry, like some of these enterprise companies that fucked up with bic when everybody's focused on, um, how would I put this? Like the, just the market in general. Mm-hmm. , it feels like there has been a bit of, um, As straying away from focusing on the protocol [01:30:00] that actually enables that industry to be built in the first place.
So maybe there's, there's a need for people to, to come back and, and focus on the protocol. Obviously we had seg and then into tap root. It seems like maybe there's a bit of a burnout after taper, specifically in terms of, uh, the mind share of people paying attention to the protocol. And, um, that's actually, I was really excited when you launched, um, when you released the proposal for Out Fault.
I was like, oh, this is like the most interesting thing, uh, in regards to like Bitcoin protocol that I've ever read in quite a while. Like re reinvigorated my, my drive to, to get more familiar with what's going on day in and day out. Cause honestly, I've been focusing on the market structure as well, more, more heavily than, than the protocol stuff over the last year and a half probably.
James: I'm glad to hear that man. And, um, . Yeah, I hope, I hope it reminds people that there are, you know, maybe tools that we can actually introduce that, that make doing what we all wanna do with Bitcoin, which [01:31:00] is custodying, you know, safer. Um, and, and we can actually improve things, um, in substantive and, and specific ways.
So, yeah. That's great to hear.
Marty: Where can we send the freaks to learn more about Vault? If there's any developers who may wanna review, um, the code that you've written or give feedback on, on the proposal. Obviously feedback can happen on the mailing list, restarted that thread, but in terms of the code base, where's that sitting right now?
James: Yeah, so if you're just curious about the stuff, go read the paper. It's at, um, the website's, James o.be/vault pdf. And if you pull that up, you can read the paper and then within the paper I link to the implementation. So that's pretty much got everything you need. Um, and then yeah, if you, if you wanna follow the discussion, check out the mailing list.
Marty: all up there. Yeah. Very short paper. Only 12 pages. The last page is annotation, [01:32:00] so. Mm-hmm. .
James: Mm-hmm. . Yeah. I wanted to keep it brief and it's, you know, the margins are big, so it's like a, it's, it's not a bad read, I
Marty: don't think. No, not at all. Should take you 20 minutes, James. My beefy Bitcoin brother.
It's been, uh, it's been a pleasure. We can't, we can't wait. Uh, as long as we have, um, both off the record and on the record. Um,
James: absolutely. And, uh, we got a counterbalance this episode with me in like, uh, euphoric bowl phase. Yeah. Um, so, uh, yeah, let's let, let's do this again soon. . I always love coming on, man.
I, you know, I love to see Tftc develop into the mammoth that it is now. Um, and I just, uh, reminisce often about our, our, uh, you know, our sloppy evening in the bar stool sports office with my younger brother [01:33:00] who no longer likes Ethereum, ,
Marty: a lot of pee breaks during that, that first rip ,
James: that's for sure. But yeah, it's always a pleasure coming on, man.
Um, thanks for having me.
Marty: Well, the pleasure is always mine. Um, thank you for doing what you do, uh, and being earnest and honest on this, cuz again, every once in a while, all the, uh, all the, uh, the ARDS need some, some cold water splash on them. Like, Hey, uh, the number's going up where you're thinking about number go up, but.
Number go up is dependent on, on this, on this code base that that is making everything work. So, um, appreciate you highlighting some of these pain points and, uh, painting the picture of, of Bitcoin waiting to the desert, uh, from an, an engineering project perspective, because I think it's very important that people are aware of that.
James: Totally. I do it cuz I love Bitcoin and uh, [01:34:00] I hope we get there. I'm, I'm, I'm fine to be in the desert for a while. I think it's nice, it's nice out here,
Marty: and, uh, I'm bullish. I'll, I'll be the bull of the episode. Like I said earlier, I think there's just this natural way of things in Bitcoin where it gets to a point where it's like, all right, we need to do something.
And then once it gets to that point, people are like, all right, let's do something. I think that'll continue. Yep.
James: Yeah, I think you're right.
Marty: Yeah. All right. Well you go enjoy your day. I know you're gonna do some chores. I don't wanna hold you from doing that. And, um, we'll catch up offline. Sounds great, brother.
All right. Peace and love freaks.