1
00:00:00,000 --> 00:00:08,880
Good morning Miami. We've got a great house here today. Let's fucking go.

2
00:00:10,880 --> 00:00:16,560
So, I mean, I know a lot of you think I'm a natural at this, but I've never actually

3
00:00:16,560 --> 00:00:23,800
been on stage by myself, in person, in front of a great crowd, until yesterday. So

4
00:00:23,800 --> 00:00:28,120
this is my second attempt. I took some notes because I missed a bunch of things

5
00:00:28,120 --> 00:00:34,080
yesterday. First off, I want to thank the production crew. They did a fantastic job

6
00:00:34,080 --> 00:00:38,640
yesterday. They're filming with very high quality cameras. They're uploading

7
00:00:38,640 --> 00:00:43,400
everything after the fact. And we have a great crew backstage that nobody sees

8
00:00:43,400 --> 00:00:47,480
that makes this all happen. So a huge shout out to them.

9
00:00:49,840 --> 00:00:53,320
You might notice I'm wearing sunglasses. It's because these lights are very

10
00:00:53,400 --> 00:01:00,600
bright. Can I get a show of hands who was here last year? Okay, awesome. A lot of

11
00:01:00,600 --> 00:01:05,800
new faces. As you can see, we did it a lot bigger this year. We got a nice

12
00:01:05,800 --> 00:01:11,720
dedicated space, larger than most conferences, dedicated to open source

13
00:01:11,720 --> 00:01:16,880
contributors and projects. Extremely excited for it. We've been, you know, it's

14
00:01:16,880 --> 00:01:20,720
been six months in the making and I'm glad you're all here. Part of that

15
00:01:20,760 --> 00:01:26,320
program was we gave away 120 free tickets to open source contributors of

16
00:01:26,320 --> 00:01:31,840
32 Bitcoin projects. A lot of them are here today. It's great to see those faces.

17
00:01:31,840 --> 00:01:35,760
We do appreciate you. You guys are what makes this movement possible and what

18
00:01:35,760 --> 00:01:44,360
makes Bitcoin robust. So let's go through what's going on here. First of all, we

19
00:01:44,360 --> 00:01:49,280
have workshop tables in the back. If you are over there, try and keep your voices

20
00:01:49,280 --> 00:01:55,160
to a minimum while the talks are going on. The talks will end at 3 with the live

21
00:01:55,160 --> 00:02:00,880
rabbit hole recap is going to end the day. And then at 3, everyone can use the

22
00:02:00,880 --> 00:02:05,000
workshop tables to their full effect. We can network. We can talk about open

23
00:02:05,000 --> 00:02:09,320
source. You can see all the great projects that are being displayed out

24
00:02:09,320 --> 00:02:16,040
there. We have teams from around the world who are participating in that. We

25
00:02:16,040 --> 00:02:20,960
structured the panels to be longer. They're 40 minutes each, so we can have

26
00:02:20,960 --> 00:02:25,360
proper discussion rather than just intros and outros and then get off the

27
00:02:25,360 --> 00:02:29,920
stage, which I'm pretty excited about. We had fantastic panels yesterday, so if you

28
00:02:29,920 --> 00:02:34,520
weren't here for it, make sure you go check out the video after the fact. They

29
00:02:34,520 --> 00:02:40,600
were really, really great. Today we are going to have an absolutely awesome lineup.

30
00:02:40,600 --> 00:02:45,280
We're going to have a Bitcoin core panel that I'm really excited about, Bitcoin

31
00:02:45,280 --> 00:02:51,520
development panel, decentralized exchanges, DLCs, nodes. It should be a

32
00:02:51,520 --> 00:02:57,960
very, very great day, and I'm really excited to share it with all of you.

33
00:02:57,960 --> 00:03:08,000
What else do we have here on my notes? So, open source. I'm sure most, I hope that

34
00:03:08,000 --> 00:03:14,080
most of you, I mean you're here today, know what open source is. You know, the

35
00:03:14,360 --> 00:03:19,880
power of open source is that the code can be verified, and so you don't have

36
00:03:19,880 --> 00:03:27,520
to trust any corporation with what is running it, and that you can build off

37
00:03:27,520 --> 00:03:32,200
that code, you can improve it, you can distribute it, and that that code is

38
00:03:32,200 --> 00:03:36,160
viral in nature. It lives forever. It'll live way past all of us, just like

39
00:03:36,160 --> 00:03:41,040
Bitcoin will, and that is extremely powerful, and that is why it is

40
00:03:41,040 --> 00:03:45,480
imperative for all of us to support these projects, support these

41
00:03:45,480 --> 00:03:51,520
contributors, use the tools, build the tools, test the tools. You don't have to

42
00:03:51,520 --> 00:03:55,920
be a developer to contribute to the open source ecosystem. They love getting

43
00:03:55,920 --> 00:04:03,280
feedback through testing. They love design help. Design help is huge, and of

44
00:04:03,280 --> 00:04:08,240
course, donations. So, most of our open source contributors have chosen not to

45
00:04:08,240 --> 00:04:15,840
work at very lucrative paying jobs, and instead have dedicated their time to

46
00:04:15,840 --> 00:04:21,040
working on these open source projects that are often, you know, their

47
00:04:21,040 --> 00:04:28,280
compensation isn't great. So, if you want to support them, it is really great to

48
00:04:28,280 --> 00:04:34,120
send them some sats. I have two projects that I've been working on, and to make

49
00:04:34,120 --> 00:04:37,600
that easier, you have BitcoinDevilist.com, where you can donate sats

50
00:04:37,600 --> 00:04:42,880
directly to open source contributors who choose to get listed on the site. That's

51
00:04:42,880 --> 00:04:47,800
powered by BTC Pay Server, so no middleman. Go straight to them. It's

52
00:04:47,800 --> 00:04:54,360
basically a directory, and then we also started OpenSats, which is a 501c3

53
00:04:54,360 --> 00:05:01,080
tax-deductible foundation. You can donate to that with credit card or through

54
00:05:01,080 --> 00:05:07,520
Bitcoin. Very excited that after a year and a half, we publicly launched two days

55
00:05:07,520 --> 00:05:15,440
ago. So, if you go to opensats.org, you can donate today. Let's fucking go.

56
00:05:15,440 --> 00:05:21,000
OpenSats, part of the reason it took us so long is we take zero cut. So, most 501c3s

57
00:05:21,000 --> 00:05:30,040
will take 5% or 10% or 2%. We take 0%. We also, we have a great board. So, the way

58
00:05:30,040 --> 00:05:33,600
the OpenSats works is, you know, you donate to this general fund in our board.

59
00:05:33,600 --> 00:05:38,040
Basically, there's two things. There's a general fund where we choose which

60
00:05:38,040 --> 00:05:43,520
projects go, where the donations go for you, and then there's also the

61
00:05:43,520 --> 00:05:47,520
ability to donate directly to projects that have applied on the website. I

62
00:05:47,520 --> 00:05:51,440
don't think we have that part built out yet, but you can donate directly to the

63
00:05:51,440 --> 00:05:55,960
projects. If you donate with credit card, by the way, we automatically convert that

64
00:05:55,960 --> 00:06:01,120
into Bitcoin and hold Bitcoin only. And the credit card fees, the credit card

65
00:06:01,120 --> 00:06:05,320
fees, we don't even, that doesn't even come out of your donation because we got

66
00:06:05,320 --> 00:06:11,000
Ledger to sponsor the credit card fees. So, just no credit card fees either. So,

67
00:06:11,000 --> 00:06:14,600
it's just a hundred percent to devs and you can get a tax-deductible donation on

68
00:06:14,600 --> 00:06:22,160
it. Yeah, and just a huge thanks to, there was a massive team that

69
00:06:22,160 --> 00:06:27,960
worked with me to make this happen at Bitcoin Magazine. I really could not have

70
00:06:27,960 --> 00:06:31,720
done it without them. I couldn't have done it without a lot of people in this

71
00:06:31,720 --> 00:06:39,880
room today. It just inspires me, gives me a lot of hope for the future. You all

72
00:06:39,880 --> 00:06:45,000
are my people and I'm proud to be here today. I'm excited to be here today and,

73
00:06:45,000 --> 00:06:48,920
you know, we're gonna win together. We're gonna fucking do it. So, let's fucking go.

74
00:06:48,920 --> 00:06:52,520
Have a great time. Enjoy yourself.

75
00:06:55,520 --> 00:07:02,840
Good to see you. I didn't realize that Jackson 5 was the official music of

76
00:07:02,840 --> 00:07:09,400
core development, but okay with that, I guess. Thanks for getting up early and

77
00:07:09,400 --> 00:07:13,680
coming out. We're gonna be talking about the core development process. My name is

78
00:07:13,680 --> 00:07:19,280
James O'Byrne and we've got what is probably the biggest panel of the

79
00:07:19,280 --> 00:07:24,720
open-source stage, at least so far. Maybe that bodes well for increased developer

80
00:07:24,720 --> 00:07:28,960
participation. We'll see, but yeah, I'm really excited about the panelists that

81
00:07:28,960 --> 00:07:36,280
we have here. So, maybe we can get going. We've got a lot to cover and, yeah, let's

82
00:07:36,280 --> 00:07:42,120
start off with some intros. So, I'm Andrew Chow. I work on the Bitcoin Core

83
00:07:42,160 --> 00:07:48,600
Wallet. I'm the wallet maintainer and I'm at Blockstream. Hey, I'm Jeremy Rubin. I'm
a

84
00:07:48,600 --> 00:07:54,320
Bitcoin contributor. I work on Sapio, a smart contract framework for Bitcoin.

85
00:07:54,320 --> 00:08:02,880
Hi, I'm Gloria Zhao or Glo Zhao. I work mostly on Mempool and P2P at Brink.

86
00:08:03,880 --> 00:08:11,880
I mainly try to focus on making full nodes easier for people to use, but I also like
to practice.

87
00:08:11,880 --> 00:08:17,280
I'm Carl Dong. I work for Chancode Labs and I used to work on reproducible

88
00:08:17,280 --> 00:08:24,280
builds, but now modularizing the consensus engine. Very cool. So, let's

89
00:08:24,280 --> 00:08:29,280
start off by talking about some repository mechanics. So, as you all know,

90
00:08:29,280 --> 00:08:35,120
right now Bitcoin Core is hosted on github.com. It's a Git repository and

91
00:08:35,120 --> 00:08:39,440
there are a number of contributors, obviously, who work on Bitcoin Core in

92
00:08:39,440 --> 00:08:45,160
this venue, but there's a kind of special class of contributor, or maybe not so

93
00:08:45,160 --> 00:08:49,840
special as we'll find out, called maintainers. And Andrew is actually one

94
00:08:49,840 --> 00:08:52,680
of these maintainers and we hear a lot about them. There's kind of a mystique

95
00:08:52,680 --> 00:08:55,920
surrounding them. So, Andrew, maybe you can talk a little bit about who the

96
00:08:55,920 --> 00:09:02,600
maintainers are, what they do, and their roles. So, the maintainers are the people
who have

97
00:09:02,600 --> 00:09:08,200
the ability to merge code into the Bitcoin Core codebase and it's actually

98
00:09:08,200 --> 00:09:14,560
largely a janitorial role. Maintainers look for other contributors to review

99
00:09:14,560 --> 00:09:20,000
code and agree with the changes before they merge them. They're not, like,

100
00:09:20,000 --> 00:09:26,760
unilaterally adding things. It's mostly just, like, you know, seeing that

101
00:09:26,760 --> 00:09:35,280
things that got reviewed make it in. Yeah. Yeah, that makes sense. So, Jeremy, what
has

102
00:09:35,280 --> 00:09:41,120
your interaction been like with maintainers? How do you, you know? I think

103
00:09:41,120 --> 00:09:45,520
that what's difficult with maintainers is there's a lot of good, but I think

104
00:09:45,520 --> 00:09:49,600
what's difficult is that what the community sometimes expects from the

105
00:09:49,600 --> 00:09:53,840
maintainers is different from, like, what contributors expect, and then you have

106
00:09:53,840 --> 00:09:58,080
to tell maintainers sometimes, like, hey, the community is, you know, wanting you

107
00:09:58,080 --> 00:10:00,960
to do this. What do you think? And they're, like, oh, I don't want to be doing that.

108
00:10:00,960 --> 00:10:04,160
That's not what a maintainer does. And you're, like, you should probably, like,

109
00:10:04,160 --> 00:10:06,560
you know, like, there's some sort of miscommunication with what the

110
00:10:06,560 --> 00:10:09,040
expectations are. I think the expectations from maintainers are really

111
00:10:09,040 --> 00:10:12,400
clear, though, and I think they've been, like, really good at, you know, doing, you

112
00:10:12,400 --> 00:10:17,240
know, what it is they're supposed to be doing. Can you give an example of when those

113
00:10:17,240 --> 00:10:22,920
expectations differ? So in particular, like, I work on some consensus changes,

114
00:10:22,920 --> 00:10:28,160
and people want to know, like, oh, like, when are the maintainers going to merge

115
00:10:28,160 --> 00:10:31,920
it? And I can communicate to maintainers, like, people would like to know, like, you

116
00:10:31,920 --> 00:10:34,760
know, like this, like, you should communicate that, you know, formally that

117
00:10:34,760 --> 00:10:38,080
it's not something that you're doing. But I think it's hard to sometimes get

118
00:10:38,080 --> 00:10:41,400
these, you know, like, people don't really want to communicate some of those things

119
00:10:41,400 --> 00:10:45,560
sometimes. And I think there's, like, a difference between how Bitcoin

120
00:10:45,640 --> 00:10:49,600
Core treats maintainers versus other projects. Like, in a lot of other projects,

121
00:10:49,600 --> 00:10:54,120
you have kind of, like, the benevolent dictator for life, and they get to decide

122
00:10:54,120 --> 00:10:57,640
everything that's going on, what gets merged, where the roadmap is going,

123
00:10:57,640 --> 00:11:02,320
whatever. But Bitcoin Core doesn't have that, and we don't really want to. So it

124
00:11:02,320 --> 00:11:09,040
does lead to sometimes maintainers are just doing the work of clicking the

125
00:11:09,040 --> 00:11:15,600
button versus deciding the direction of the project, which we really want to

126
00:11:15,600 --> 00:11:20,360
leave up to the contributors and community for where Bitcoin is going to

127
00:11:20,360 --> 00:11:21,680
go.

128
00:11:21,680 --> 00:11:26,360
Yeah. So I think maybe when a lot of people hear Bitcoin Core, they're

129
00:11:26,360 --> 00:11:32,840
thinking about the rules of Bitcoin, how it functions, the consensus mechanism.

130
00:11:32,840 --> 00:11:37,280
Gloria, we know that there's a lot that happens in Bitcoin Core that isn't

131
00:11:37,280 --> 00:11:41,440
necessarily related to consensus, and a lot of the job of the repository is to

132
00:11:41,440 --> 00:11:46,520
manage details that aren't related to that. So how are the two different?

133
00:11:46,520 --> 00:11:50,600
Yeah, I think when people think about protocol, they often think about consensus

134
00:11:50,600 --> 00:11:56,040
rules, so, like, scripting rules, for example. And then the next most obvious

135
00:11:56,040 --> 00:12:00,720
thing would be the P2P protocol, like what messages are sent and understood by

136
00:12:00,720 --> 00:12:07,800
all Bitcoin nodes. But there's so much, that's only, like, a small fraction of

137
00:12:07,800 --> 00:12:14,040
what Bitcoin D is, which is also a small portion of, or a major, but not the full

138
00:12:14,040 --> 00:12:19,080
portion of what Bitcoin Core is. And people often say, like, oh, Bitcoin

139
00:12:19,080 --> 00:12:26,280
development's so slow. But there's, like, dozens of PRs merged every day. There's

140
00:12:26,280 --> 00:12:32,040
bugs fixed every day. And I just don't think it's true. I find it very hard to

141
00:12:32,040 --> 00:12:35,920
keep up with all the pull requests and issues that are open to the Bitcoin Core

142
00:12:35,920 --> 00:12:44,200
repo. So yeah, there's a lot, a lot more than consensus. And a lot of the

143
00:12:44,200 --> 00:12:49,640
biggest impacts that we can have at a protocol development level are not

144
00:12:49,640 --> 00:12:56,800
actually in consensus, right? Peter Wille is known for many consensus changes, but

145
00:12:56,800 --> 00:13:03,560
I would even say that his biggest contribution is Ultraprune, aka turning

146
00:13:03,560 --> 00:13:08,320
the state from, let's look at what outputs are available in the blockchain,

147
00:13:08,320 --> 00:13:12,880
and instead just keep a small UTXO set. And that, I think, did more for

148
00:13:12,880 --> 00:13:19,480
scalability than almost any, or more than any consensus change that we've had.

149
00:13:20,320 --> 00:13:25,800
Likewise, I guess I'm going to shill my own bags, package relay is not a consensus

150
00:13:25,800 --> 00:13:32,880
change. It does require a lot of community, like, consensus. Not consensus,

151
00:13:32,880 --> 00:13:39,440
consensus, but, like, you know, agreement. But it would also be a very

152
00:13:39,440 --> 00:13:48,160
impactful change. So hopefully my message is consensus is overrated, and there's a

153
00:13:48,160 --> 00:13:52,560
lot we can do without requiring a software. There's also a lot of things

154
00:13:52,560 --> 00:13:57,520
within Bitcoin Core that, like, so since I work most in the wallet, these are

155
00:13:57,520 --> 00:14:01,760
gonna be some wallet examples. But we do things in the wallet, some new

156
00:14:01,760 --> 00:14:06,360
innovation, and then other wallet software will, you know, pick them up, see

157
00:14:06,360 --> 00:14:09,840
that they're good ideas, and use them. And that's not, that's also not a consensus

158
00:14:09,840 --> 00:14:13,680
change. And in fact, it doesn't even really require agreements between

159
00:14:13,960 --> 00:14:19,560
different software. But, you know, there are, there's a large component of Bitcoin

160
00:14:19,560 --> 00:14:25,160
Core where we make changes that are basically local, and then other people

161
00:14:25,160 --> 00:14:28,840
also pick them up because they seem like good ideas. And, you know, vice versa.

162
00:14:28,840 --> 00:14:33,960
We've taken some ideas from other people as well. So Jeremy, I know you've spent a

163
00:14:33,960 --> 00:14:39,360
lot of time on OpsCTV, among many other things, but specifically OpsCTV in

164
00:14:39,880 --> 00:14:46,200
terms of consensus development. Can you just walk us through the process of how

165
00:14:46,200 --> 00:14:52,960
changes to consensus are proposed? Yeah, I would if I, like, knew what it was. I

166
00:14:52,960 --> 00:14:55,800
think that there, it's kind of funny because we have, like, this whole, like,

167
00:14:55,800 --> 00:15:01,200
you know, BIP process, and that's something that, you know, Luke knows a

168
00:15:01,200 --> 00:15:06,200
lot about because he's the BIP editor. But there's really no fixed set of things

169
00:15:06,240 --> 00:15:12,320
that you have to do, say, or talk about. It's sort of this, you know, maybe rough

170
00:15:12,320 --> 00:15:17,440
process where you just decide, you know, kind of like you're the, who's the

171
00:15:17,440 --> 00:15:20,880
gopher who comes out and looks at the shadow and is like, you know, is winter

172
00:15:20,880 --> 00:15:23,640
gonna keep on going? You just poke your head out and see if people shout at you

173
00:15:23,640 --> 00:15:26,760
and what they shout at you about. And then you're like, okay, like, it's gonna

174
00:15:26,760 --> 00:15:30,560
be in another six weeks. Or you're like, actually, maybe it's gonna be another six

175
00:15:30,560 --> 00:15:36,320
years or something like that. Does that make you Bill Murray? I definitely sometimes
identify

176
00:15:36,320 --> 00:15:39,480
with the notion of doing the same thing every day and the same thing happens. So

177
00:15:39,480 --> 00:15:46,640
I would say maybe, yeah, I'll take it. That's funny. So, you know, as Gloria was

178
00:15:46,640 --> 00:15:50,480
talking about earlier, Bitcoin D is composed of a lot of different

179
00:15:50,480 --> 00:15:54,800
components. It does a lot of different things. It's the one piece of software

180
00:15:54,800 --> 00:15:58,760
that people participating in Bitcoin have to run. So I think it might be

181
00:15:58,760 --> 00:16:04,400
useful to go through and enumerate the different parts of Bitcoin D. So just in

182
00:16:04,400 --> 00:16:08,240
quick succession here, let's start with Carl and kind of go down the list and

183
00:16:08,240 --> 00:16:14,880
have each of you talk briefly about one component of Bitcoin. Well, yeah, so like,

184
00:16:14,880 --> 00:16:19,520
yeah, I can talk about the consensus engine, I guess, or what people would

185
00:16:19,520 --> 00:16:28,160
call validation. So you guys know how, like, Bitcoin has a blockchain. And so, you

186
00:16:28,160 --> 00:16:33,160
know, the blockchain has to be kept somewhere and basically it's kept in

187
00:16:33,160 --> 00:16:36,920
what we call validation code or what I like to call sort of the consensus

188
00:16:36,920 --> 00:16:43,040
engine. It keeps track of all of the blocks. It keeps track of all the, you

189
00:16:43,040 --> 00:16:49,480
know, UTXOs, which are basically, you know, the coins. And what it also does is it

190
00:16:49,480 --> 00:16:55,160
defines what it means to be Bitcoin, basically. It defines, it's the arbiter of

191
00:16:55,160 --> 00:17:01,040
truth of whether, you know, a transaction or a block or something is valid, which

192
00:17:01,040 --> 00:17:10,520
makes it a critical part of Bitcoin. And all of the consensus engines across all

193
00:17:10,520 --> 00:17:15,720
of the nodes on the network basically have to agree for, you know, consensus to

194
00:17:15,720 --> 00:17:19,720
be formed. And if they disagree, then, you know, that's what we call it sort of an

195
00:17:19,720 --> 00:17:25,040
unintentional fork and that's bad. So yeah, that's what the consensus engine

196
00:17:25,040 --> 00:17:28,000
or validation is.

197
00:17:28,000 --> 00:17:51,960
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.

198
00:17:52,320 --> 00:17:57,200
Cool. I'll talk about P2P, I guess, which is where I think a lot of the

199
00:17:57,280 --> 00:18:02,600
ideological values of Bitcoin kind of come to life in code form, which makes it

200
00:18:02,600 --> 00:18:07,880
very interesting. So this idea of like, oh, it should be permissionless, but not

201
00:18:07,880 --> 00:18:11,840
just that, it should be censorship resistant. Anyone should be able to join

202
00:18:11,840 --> 00:18:17,040
the P2P network and broadcast their transactions. But that also makes P2P's

203
00:18:17,040 --> 00:18:22,960
security model like extra hard mode, because we want anyone to be able to join

204
00:18:23,160 --> 00:18:28,080
and we don't want to be able to tell who's who, but also there are going to be

205
00:18:28,080 --> 00:18:35,640
bad guys. We have to expect that and that allows for very interesting, very

206
00:18:35,640 --> 00:18:45,120
anxiety-driven development sometimes. It makes review kind of spicier and yeah,

207
00:18:45,120 --> 00:18:51,920
we're always thinking about privacy and security and DOS attacks. So that's my

208
00:18:51,960 --> 00:18:58,000
pitch for P2P. I guess I'll go into the mempool, which is the list of

209
00:18:58,000 --> 00:19:03,360
transactions that are to be confirmed into a block. It sort of serves as the

210
00:19:03,360 --> 00:19:07,280
glue between the last three modules you heard about of consensus, the thing that

211
00:19:07,280 --> 00:19:11,720
gets finalized, mining, how we pick the things to finalize from the mempool, and

212
00:19:11,720 --> 00:19:16,280
then also P2P, like how we get things into the mempool to give to those other

213
00:19:16,280 --> 00:19:20,680
two modules and then use the mempool to also figure out what to put into the P2P

214
00:19:20,680 --> 00:19:25,960
network ourselves. And so the mempool is, at least I view it as sort of like this

215
00:19:25,960 --> 00:19:30,640
central plane for all of Bitcoin, where it sort of touches all the different

216
00:19:30,640 --> 00:19:36,120
parts and it stores all the transactions that you might ever do in

217
00:19:36,120 --> 00:19:40,200
Bitcoin and each node has their own mempool. There's no one global mempool,

218
00:19:40,200 --> 00:19:44,760
but there's also a philosophical mempool of all the transactions that

219
00:19:44,760 --> 00:19:48,960
somebody in the world somewhere knows about. And of course I'll talk about my

220
00:19:48,960 --> 00:19:52,320
favorite thing, the wallet. Of course everything else we've just talked about

221
00:19:52,320 --> 00:19:56,400
wouldn't matter if you didn't have a wallet to make transactions.

222
00:19:56,400 --> 00:20:03,080
Store of value. Well you still need a wallet. So the Bitcoin Core wallet, you know,
it

223
00:20:03,080 --> 00:20:07,520
does things like manage your UTXOs, manage keys, figure out what addresses,

224
00:20:07,520 --> 00:20:13,960
what scripts to be watching for. And I find it to be actually very scary to be

225
00:20:13,960 --> 00:20:18,320
working on the wallet because it's like the one thing that users interact with a

226
00:20:18,320 --> 00:20:22,240
lot and then if you do it wrong you might actually end up losing people's

227
00:20:22,240 --> 00:20:25,720
money. And of course you never want to lose someone's money. So the

228
00:20:25,720 --> 00:20:30,040
wallet is a pretty big component and there's a lot of work going into

229
00:20:30,040 --> 00:20:35,360
making sure that things are secure, that funds are still available, and that we

230
00:20:35,360 --> 00:20:40,440
don't like do anything weird with it. And there are many other components that

231
00:20:40,440 --> 00:20:46,040
are fairly crucial to running Bitcoin, like the RPC interface, the graphic

232
00:20:46,040 --> 00:20:51,160
user interface, that maybe are sort of non-essential but niceties that

233
00:20:51,160 --> 00:21:02,160
help everything run. So let's turn now to the development process itself.

234
00:21:02,160 --> 00:21:07,920
Working on Bitcoin is, you know, notoriously, I don't want to say

235
00:21:07,920 --> 00:21:13,880
difficult, but it definitely has unique attributes that make it time consumptive

236
00:21:13,880 --> 00:21:23,680
to work on. So Carl, how have you found doing large projects on Bitcoin Core and

237
00:21:23,680 --> 00:21:33,960
why do you think the review process is so intense? Yeah, I mean, I think, you know,

238
00:21:33,960 --> 00:21:38,640
this is logic that I've heard from other people and I think I agree with sort of

239
00:21:38,640 --> 00:21:44,480
on the surface, it's sort of, you know, if we just sort of walk away from Bitcoin,

240
00:21:44,480 --> 00:21:49,920
you know, it still kind of works. You know, maybe default compilers would

241
00:21:49,920 --> 00:21:55,200
change and all that, but it still kind of works. And which is why I think that, you

242
00:21:55,200 --> 00:22:01,760
know, Bitcoin has such a conservative, you know, model of reviewing PRs and

243
00:22:01,760 --> 00:22:06,480
getting them through. Not to say that I fully agree with that or agree with

244
00:22:06,480 --> 00:22:12,560
the lean or anything. So I think that's what it is. I think personally when I'm

245
00:22:12,560 --> 00:22:18,960
trying to get across large changes, what has been really important is just like

246
00:22:18,960 --> 00:22:25,200
getting the rationale up, you know, writing a big document about the

247
00:22:25,200 --> 00:22:31,200
rationales, the FAQs, sort of socialize the change, breaking up into little

248
00:22:31,200 --> 00:22:36,560
reviewable pieces, which has been sort of like a culture that has developed over

249
00:22:36,560 --> 00:22:43,280
the years as review has become more and more stringent. And, well, one thing that

250
00:22:43,280 --> 00:22:50,000
I found to be really helpful is sort of dealing with and talking with people

251
00:22:50,000 --> 00:22:55,200
about, you know, potential flaws or potential downsides or potential

252
00:22:55,200 --> 00:23:00,560
alternative strategies sort of up front. I find that that really helps get

253
00:23:00,560 --> 00:23:05,280
people across the line after they've had a lot of context.

254
00:23:05,280 --> 00:23:13,680
Yeah. That's great. Gloria, a lot of your projects require coordination, deep

255
00:23:13,680 --> 00:23:18,920
thinking, you know, trying to sort of emulate how mempool policy changes and

256
00:23:18,920 --> 00:23:23,520
peer-to-peer policy changes will kind of ripple out through the network. You know,

257
00:23:23,520 --> 00:23:29,680
how do you feel that developing for that part of the system differs from, you know,

258
00:23:29,680 --> 00:23:34,320
other tasks in Bitcoin? Right, yeah. I think a lot of people underestimate the

259
00:23:34,320 --> 00:23:38,880
amount of advocacy work that you have to do, even just to change something that

260
00:23:38,880 --> 00:23:45,160
doesn't require anyone to coordinate, right? Like, I think it's kind of

261
00:23:45,160 --> 00:23:50,200
understated how bad it would be if we, you know, merged a change that had an

262
00:23:50,200 --> 00:23:56,080
assertion that is not supposed to be hit but could potentially be hit if, you know,

263
00:23:56,080 --> 00:24:00,400
a peer sends us something in particular, because then you have a crash bug where

264
00:24:00,400 --> 00:24:04,960
someone can attack the network and just shut down all of the nodes running that

265
00:24:04,960 --> 00:24:09,120
version with that bug in it, you know, and sometimes we change something here and

266
00:24:09,120 --> 00:24:14,160
something breaks over there, right? Like, it's pretty, I think we should, we should

267
00:24:14,160 --> 00:24:18,920
be careful about changing things. So I'm on the, I guess I'm more on the

268
00:24:18,920 --> 00:24:26,160
conservative side of development. But yeah, like, with policy and P2P, with, yeah,

269
00:24:26,160 --> 00:24:32,640
with policy changes, the, I guess policy exists in this gray area, and we can, we

270
00:24:32,640 --> 00:24:38,520
can both speak to this, where, like, there are no, there are no... What is policy?

271
00:24:38,520 --> 00:24:43,720
Okay, sure. So policy is the set of validation rules that we apply to

272
00:24:43,720 --> 00:24:47,880
unconfirmed transactions. So not transactions and blocks, but ones that we

273
00:24:47,880 --> 00:24:54,200
receive on P2P, or through the wallet, for example. And they're local to a node,

274
00:24:54,200 --> 00:24:58,290
usually the user is able to configure them, and we do hope that people...

275
00:24:58,290 --> 00:25:00,290
but, you know, if you're a miner, for example,

276
00:25:00,290 --> 00:25:02,290
and you have more resources, you can afford to,

277
00:25:02,290 --> 00:25:04,290
like, make your mempool have a higher maximum

278
00:25:04,290 --> 00:25:06,290
dynamic memory, like, limit, right?

279
00:25:06,290 --> 00:25:08,290
But yeah, that's why there's this kind of gray area,

280
00:25:08,290 --> 00:25:10,290
you cannot really expect people to adhere

281
00:25:10,290 --> 00:25:12,290
to a certain policy, and, for example,

282
00:25:12,290 --> 00:25:14,290
in Lightning, they might take some liberties

283
00:25:14,290 --> 00:25:16,290
in, like, using, you know,

284
00:25:16,290 --> 00:25:18,290
some of the, you know,

285
00:25:18,290 --> 00:25:20,290
some of the, you know,

286
00:25:20,290 --> 00:25:22,290
some of the, you know,

287
00:25:22,290 --> 00:25:24,290
they might take some liberties in, like,

288
00:25:24,290 --> 00:25:26,290
using, you know, a few bits of the

289
00:25:26,290 --> 00:25:28,290
nSequence field to

290
00:25:28,290 --> 00:25:30,290
communicate

291
00:25:30,290 --> 00:25:32,290
the ordering of transactions

292
00:25:32,290 --> 00:25:34,290
in their channel, for example, right?

293
00:25:34,290 --> 00:25:36,290
Or, I think,

294
00:25:36,290 --> 00:25:38,290
you know, we've tried to say,

295
00:25:38,290 --> 00:25:40,290
like, oh, maybe we should make this non-standard,

296
00:25:40,290 --> 00:25:42,290
but actually, you know, Colored Coins

297
00:25:42,290 --> 00:25:44,290
is using this to, like,

298
00:25:44,290 --> 00:25:46,290
flag certain transactions in a certain way.

299
00:25:46,290 --> 00:25:48,290
So this is kind of

300
00:25:48,290 --> 00:25:50,290
this, like, no-man's land,

301
00:25:50,290 --> 00:25:52,290
where

302
00:25:52,290 --> 00:25:54,290
people can use it for their

303
00:25:54,290 --> 00:25:56,290
purposes. And that's

304
00:25:56,290 --> 00:25:58,290
why it requires so much coordination

305
00:25:58,290 --> 00:26:00,290
when we try to change policy, because

306
00:26:00,290 --> 00:26:02,290
if we accidentally make something non-standard,

307
00:26:02,290 --> 00:26:04,290
and, like, 99%

308
00:26:04,290 --> 00:26:06,290
of nodes on the network are Bitcoin Core,

309
00:26:06,290 --> 00:26:08,290
and then 99% of those nodes

310
00:26:08,290 --> 00:26:10,290
are running default policy, well,

311
00:26:10,290 --> 00:26:12,290
you cannot really expect your transactions

312
00:26:12,290 --> 00:26:14,290
to propagate if you're relying

313
00:26:14,290 --> 00:26:16,290
on something that, you know, the Bitcoin Core

314
00:26:16,290 --> 00:26:18,290
developers unilaterally decided

315
00:26:18,290 --> 00:26:20,290
to make non-standard,

316
00:26:20,290 --> 00:26:22,290
right? Which is why we

317
00:26:22,290 --> 00:26:24,290
don't unilaterally decide that.

318
00:26:24,290 --> 00:26:26,290
But it, you know,

319
00:26:26,290 --> 00:26:28,290
I think it's

320
00:26:28,290 --> 00:26:30,290
good to have

321
00:26:30,290 --> 00:26:32,290
this, you know, usable

322
00:26:32,290 --> 00:26:34,290
space for people to develop applications,

323
00:26:34,290 --> 00:26:36,290
of course, and

324
00:26:36,290 --> 00:26:38,290
that's why it's so important to have

325
00:26:38,290 --> 00:26:40,290
a nice communication

326
00:26:40,290 --> 00:26:42,290
between, you know,

327
00:26:42,290 --> 00:26:44,290
protocol, or L1

328
00:26:44,290 --> 00:26:46,290
and L2, because

329
00:26:46,290 --> 00:26:48,290
this is an interface

330
00:26:48,290 --> 00:26:50,290
that we rely

331
00:26:50,290 --> 00:26:52,290
on to

332
00:26:52,290 --> 00:26:54,290
make the ecosystem work.

333
00:26:54,290 --> 00:26:56,290
Obviously, we cannot scale

334
00:26:56,290 --> 00:26:58,290
to millions of transactions per

335
00:26:58,290 --> 00:27:00,290
block, so we rely

336
00:27:00,290 --> 00:27:02,290
on these applications,

337
00:27:02,290 --> 00:27:04,290
such as Lightning,

338
00:27:04,290 --> 00:27:06,290
to scale, but also,

339
00:27:06,290 --> 00:27:08,290
you know, if

340
00:27:08,290 --> 00:27:10,290
the first layer

341
00:27:10,290 --> 00:27:12,290
is broken, or if transaction propagation

342
00:27:12,290 --> 00:27:14,290
doesn't work the way it's

343
00:27:14,290 --> 00:27:16,290
supposed to, then

344
00:27:16,290 --> 00:27:18,290
maybe Lightning is vulnerable

345
00:27:18,290 --> 00:27:20,290
to ping attacks,

346
00:27:20,290 --> 00:27:22,290
for example.

347
00:27:22,290 --> 00:27:24,290
So, as

348
00:27:24,290 --> 00:27:26,290
time has gone on, I've seen for myself

349
00:27:26,290 --> 00:27:28,290
that it feels sometimes

350
00:27:28,290 --> 00:27:30,290
as though development in

351
00:27:30,290 --> 00:27:32,290
Bitcoin Core has

352
00:27:32,290 --> 00:27:34,290
become more arduous,

353
00:27:34,290 --> 00:27:36,290
and that sort of makes sense,

354
00:27:36,290 --> 00:27:38,290
that the process would get a little bit more heavy

355
00:27:38,290 --> 00:27:40,290
weighed as the value of the network grows,

356
00:27:40,290 --> 00:27:42,290
say, but I know there

357
00:27:42,290 --> 00:27:44,290
are a lot of early developers who

358
00:27:44,290 --> 00:27:46,290
feel that it's very

359
00:27:46,290 --> 00:27:48,290
difficult to work on the code now,

360
00:27:48,290 --> 00:27:50,290
and it continues to

361
00:27:50,290 --> 00:27:52,290
grow in difficulty.

362
00:27:52,290 --> 00:27:54,290
Jeremy, can you talk a little bit about

363
00:27:54,290 --> 00:27:56,290
whether

364
00:27:56,290 --> 00:27:58,290
there's good reason for that, and how we

365
00:27:58,290 --> 00:28:00,290
might be able to keep the development process

366
00:28:00,290 --> 00:28:02,290
safe, but also kind of

367
00:28:02,290 --> 00:28:04,290
nimble and approachable?

368
00:28:04,290 --> 00:28:06,290
Yeah, I think that I have a pretty

369
00:28:06,290 --> 00:28:08,290
specific take on

370
00:28:08,290 --> 00:28:10,290
currently

371
00:28:10,290 --> 00:28:12,290
a lot of Bitcoin

372
00:28:12,290 --> 00:28:14,290
Core development happens

373
00:28:14,290 --> 00:28:16,290
more as an artisan process

374
00:28:16,290 --> 00:28:18,290
than an engineering process,

375
00:28:18,290 --> 00:28:20,290
and I would delineate the two if you want to

376
00:28:20,290 --> 00:28:22,290
think about building a bridge, where an artisan

377
00:28:22,290 --> 00:28:24,290
process, you might be more concerned with

378
00:28:24,290 --> 00:28:26,290
the aesthetic

379
00:28:26,290 --> 00:28:28,290
detail of what is the

380
00:28:28,290 --> 00:28:30,290
color of the bridge, what's the molding on the bridge

381
00:28:30,290 --> 00:28:32,290
look like, are we using

382
00:28:32,290 --> 00:28:34,290
teak wood

383
00:28:34,290 --> 00:28:36,290
or something like that, and the

384
00:28:36,290 --> 00:28:38,290
engineering concerns would be asking

385
00:28:38,290 --> 00:28:40,290
questions of how many cars need

386
00:28:40,290 --> 00:28:42,290
to be going, what's the load, what's the peak

387
00:28:42,290 --> 00:28:44,290
load, how many lanes do we need, and

388
00:28:44,290 --> 00:28:46,290
those would be things that would be more concrete

389
00:28:46,290 --> 00:28:48,290
engineering constraints, and I think the

390
00:28:48,290 --> 00:28:50,290
reason why there's a difference in why

391
00:28:50,290 --> 00:28:52,290
Bitcoin ends up being a little bit more artisan

392
00:28:52,290 --> 00:28:54,290
and we could benefit by being more engineering-driven

393
00:28:54,290 --> 00:28:56,290
is in an engineering-driven process

394
00:28:56,290 --> 00:28:58,290
you can define some sort of

395
00:28:58,290 --> 00:29:00,290
objective

396
00:29:00,290 --> 00:29:02,290
criteria for is this

397
00:29:02,290 --> 00:29:04,290
bridge a satisfying bridge

398
00:29:04,290 --> 00:29:06,290
for our need,

399
00:29:06,290 --> 00:29:08,290
and if it is, you can proceed.

400
00:29:08,290 --> 00:29:10,290
I think Bitcoin, as a community,

401
00:29:10,290 --> 00:29:12,290
we've been very resistant to having

402
00:29:12,290 --> 00:29:14,290
standard processes required

403
00:29:14,290 --> 00:29:16,290
because people view

404
00:29:16,290 --> 00:29:18,290
a standard bar for something as something

405
00:29:18,290 --> 00:29:20,290
that an adversary might be able to say

406
00:29:20,290 --> 00:29:22,290
I've met the bar, and the

407
00:29:22,290 --> 00:29:24,290
bar that I met was for introducing a bug,

408
00:29:24,290 --> 00:29:26,290
and everybody can see it's a bug, but now there's a standard thing that

409
00:29:26,290 --> 00:29:28,290
was satisfied by it, and now we're screwed

410
00:29:28,290 --> 00:29:30,290
because we said we would accept anything that met that bar.

411
00:29:30,290 --> 00:29:32,290
I don't think we have to commit ourselves

412
00:29:32,290 --> 00:29:34,290
so strongly to that, but I

413
00:29:34,290 --> 00:29:36,290
do think that by having

414
00:29:36,290 --> 00:29:38,290
better standards, that means that you have

415
00:29:38,290 --> 00:29:40,290
things like a pre-flight checklist of

416
00:29:40,290 --> 00:29:42,290
one example of something

417
00:29:42,290 --> 00:29:44,290
I think is maybe a new idea would be

418
00:29:44,290 --> 00:29:46,290
any peer-to-peer

419
00:29:46,290 --> 00:29:48,290
or policy change

420
00:29:48,290 --> 00:29:50,290
that we implement, we should back

421
00:29:50,290 --> 00:29:52,290
test against every previous block

422
00:29:52,290 --> 00:29:54,290
that we would be able to relay

423
00:29:54,290 --> 00:29:56,290
all the transactions that come in the next block

424
00:29:56,290 --> 00:29:58,290
into the mempool, and there are obviously

425
00:29:58,290 --> 00:30:00,290
non-standard blocks that get mined,

426
00:30:00,290 --> 00:30:02,290
but what that would give us would be to say

427
00:30:02,290 --> 00:30:04,290
if we're introducing a new thing, anytime

428
00:30:04,290 --> 00:30:06,290
we introduce any policy, we should always have a back test

429
00:30:06,290 --> 00:30:08,290
that tells us if there are new transactions that

430
00:30:08,290 --> 00:30:10,290
previously would have been okay.

431
00:30:10,290 --> 00:30:12,290
That's the sort of thing where if you're in an engineering

432
00:30:12,290 --> 00:30:14,290
process, you can define more of

433
00:30:14,290 --> 00:30:16,290
these criteria, and the more criteria

434
00:30:16,290 --> 00:30:18,290
that you have, it's actually

435
00:30:18,290 --> 00:30:20,290
even though it's more arduous, because you're saying

436
00:30:20,290 --> 00:30:22,290
you've got to do this, you've got to do that,

437
00:30:22,290 --> 00:30:24,290
it's actually easier because you know exactly what you have

438
00:30:24,290 --> 00:30:26,290
to demonstrate, and you can work towards

439
00:30:26,290 --> 00:30:28,290
a concrete goal. I think as long as developers

440
00:30:28,290 --> 00:30:30,290
aren't trying to adversarially be like

441
00:30:30,290 --> 00:30:32,290
we're going to come up with a rule that's not

442
00:30:32,290 --> 00:30:34,290
going to trigger this test, and then I'm going

443
00:30:34,290 --> 00:30:36,290
I think you can actually get more confidence

444
00:30:36,290 --> 00:30:38,290
in the review process, and so I think that's something where

445
00:30:38,290 --> 00:30:40,290
the solution to make it less arduous

446
00:30:40,290 --> 00:30:42,290
is to make it more strenuous, if that

447
00:30:42,290 --> 00:30:44,290
makes sense. I don't think it's very

448
00:30:44,290 --> 00:30:46,290
safe to just have a checklist.

449
00:30:46,290 --> 00:30:48,290
I know that's not exactly what you're saying, but

450
00:30:48,290 --> 00:30:50,290
security is not

451
00:30:50,290 --> 00:30:52,290
a, oh, if we meet all these check

452
00:30:52,290 --> 00:30:54,290
boxes, it's secure.

453
00:30:54,290 --> 00:30:56,290
There's always...

454
00:30:56,290 --> 00:30:58,290
I think it's more about developing

455
00:30:58,290 --> 00:31:00,290
this adversarial thinking

456
00:31:00,290 --> 00:31:02,290
when reviewing code, and that's not

457
00:31:02,290 --> 00:31:04,290
something you can really just

458
00:31:04,290 --> 00:31:06,290
teach. Yeah, I absolutely agree

459
00:31:06,290 --> 00:31:08,290
with you that you can't just purely rely

460
00:31:08,290 --> 00:31:10,290
on your checklist. I think that

461
00:31:10,290 --> 00:31:12,290
we just have empirical

462
00:31:12,290 --> 00:31:14,290
evidence that things like

463
00:31:14,290 --> 00:31:16,290
checklists, and actually redundant

464
00:31:16,290 --> 00:31:18,290
checklists for mission

465
00:31:18,290 --> 00:31:20,290
critical things in aerospace

466
00:31:20,290 --> 00:31:22,290
do reduce critical failures,

467
00:31:22,290 --> 00:31:24,290
and they make sure that

468
00:31:24,290 --> 00:31:26,290
when you're doing something, you never let yourself

469
00:31:26,290 --> 00:31:28,290
rest on an assumption of like,

470
00:31:28,290 --> 00:31:30,290
oh, this is a small change. We don't need to audit

471
00:31:30,290 --> 00:31:32,290
it in this way. You always are saying,

472
00:31:32,290 --> 00:31:34,290
well, it might be a small change, but we still

473
00:31:34,290 --> 00:31:36,290
have to go through all of these steps, no matter

474
00:31:36,290 --> 00:31:38,290
how big or small we think it is, and

475
00:31:38,290 --> 00:31:40,290
so it doesn't let you skip any

476
00:31:40,290 --> 00:31:42,290
of the things in between, and

477
00:31:42,290 --> 00:31:44,290
in terms of code review, one thing that I've heard

478
00:31:44,290 --> 00:31:46,290
recently is that apparently

479
00:31:46,290 --> 00:31:48,290
a large number of developers maybe

480
00:31:48,290 --> 00:31:50,290
mostly review the tests

481
00:31:50,290 --> 00:31:52,290
when they're looking at a code change, rather than

482
00:31:52,290 --> 00:31:54,290
reviewing line by line every piece of the code,

483
00:31:54,290 --> 00:31:56,290
and that was really surprising to me,

484
00:31:56,290 --> 00:31:58,290
because I usually almost never look at the tests,

485
00:31:58,290 --> 00:32:00,290
and I always go line by line through the code,

486
00:32:00,290 --> 00:32:02,290
and I think that that's something where at least

487
00:32:02,290 --> 00:32:04,290
understanding, well, if you're acting,

488
00:32:04,290 --> 00:32:06,290
you actually should have gone through line

489
00:32:06,290 --> 00:32:08,290
by line of the code, and at least read

490
00:32:08,290 --> 00:32:10,290
every single line before you act, is something

491
00:32:10,290 --> 00:32:12,290
that maybe is a checklist

492
00:32:12,290 --> 00:32:14,290
type thing that would be an improvement.

493
00:32:14,290 --> 00:32:16,290
That seems pretty obvious.

494
00:32:16,290 --> 00:32:18,290
I guess people don't do it, so I don't know.

495
00:32:18,290 --> 00:32:20,290
So like a

496
00:32:20,290 --> 00:32:22,290
necessary but not sufficient checklist

497
00:32:22,290 --> 00:32:24,290
Yeah, I think

498
00:32:24,290 --> 00:32:26,290
that's something where, yeah, it's more annoying

499
00:32:26,290 --> 00:32:28,290
if any time you want to approve a pull request

500
00:32:28,290 --> 00:32:30,290
and you're saying it's an act,

501
00:32:30,290 --> 00:32:32,290
that you have like

502
00:32:32,290 --> 00:32:34,290
ten tick boxes that you have to do, and it's like

503
00:32:34,290 --> 00:32:36,290
did you review every line of the code?

504
00:32:36,290 --> 00:32:38,290
And if you didn't,

505
00:32:38,290 --> 00:32:40,290
it's fine, but

506
00:32:40,290 --> 00:32:42,290
it would get more information

507
00:32:42,290 --> 00:32:44,290
of have we actually satisfied

508
00:32:44,290 --> 00:32:46,290
the pre-flight checklist.

509
00:32:46,290 --> 00:32:48,290
Yeah, because there's a big

510
00:32:48,290 --> 00:32:50,290
space between

511
00:32:50,290 --> 00:32:52,290
what we can do with

512
00:32:52,290 --> 00:32:54,290
static analysis,

513
00:32:54,290 --> 00:32:56,290
so for example, for the CI system

514
00:32:56,290 --> 00:32:58,290
that's basically a checklist, right?

515
00:32:58,290 --> 00:33:00,290
It's an automated checklist

516
00:33:00,290 --> 00:33:02,290
versus, there's a big spectrum between

517
00:33:02,290 --> 00:33:04,290
that and what you have

518
00:33:04,290 --> 00:33:06,290
to think about on a design

519
00:33:06,290 --> 00:33:08,290
level when it comes to P2P and

520
00:33:08,290 --> 00:33:10,290
stuff, right? So

521
00:33:10,290 --> 00:33:12,290
you could have

522
00:33:12,290 --> 00:33:14,290
things in the middle which are not yet

523
00:33:14,290 --> 00:33:16,290
automatable, but is somewhat

524
00:33:16,290 --> 00:33:18,290
just, you can describe it,

525
00:33:18,290 --> 00:33:20,290
let's say, fully, and you can

526
00:33:20,290 --> 00:33:22,290
have a checklist. I would love to have

527
00:33:22,290 --> 00:33:24,290
that for bash scripts

528
00:33:24,290 --> 00:33:26,290
and things that shell tech can't

529
00:33:26,290 --> 00:33:28,290
catch, and

530
00:33:28,290 --> 00:33:30,290
modular dependencies and stuff

531
00:33:30,290 --> 00:33:32,290
which are not enforceable.

532
00:33:32,290 --> 00:33:34,290
Yeah, for example, when Jeremy was talking

533
00:33:34,290 --> 00:33:36,290
about the idea of backtesting

534
00:33:36,290 --> 00:33:38,290
transaction broadcast based on

535
00:33:38,290 --> 00:33:40,290
historical blocks, I think that's a great check,

536
00:33:40,290 --> 00:33:42,290
and you could probably write a functional test.

537
00:33:42,290 --> 00:33:44,290
Well, that's difficult because

538
00:33:44,290 --> 00:33:46,290
it's going to take a few hours,

539
00:33:46,290 --> 00:33:48,290
so there's almost this zone

540
00:33:48,290 --> 00:33:50,290
between functional tests and

541
00:33:50,290 --> 00:33:52,290
something that someone would do manually

542
00:33:52,290 --> 00:33:54,290
where you might have a simulation framework

543
00:33:54,290 --> 00:33:56,290
or something to check some of those things.

544
00:33:56,290 --> 00:33:58,290
So I think that could be a really valuable

545
00:33:58,290 --> 00:34:00,290
project for somebody looking to get involved

546
00:34:00,290 --> 00:34:02,290
with Bitcoin is to

547
00:34:02,290 --> 00:34:04,290
focus on the testing regime

548
00:34:04,290 --> 00:34:06,290
between those two.

549
00:34:06,290 --> 00:34:08,290
So, talking about the

550
00:34:08,290 --> 00:34:10,290
development process and maybe some of the

551
00:34:10,290 --> 00:34:12,290
difficulties associated with it,

552
00:34:12,290 --> 00:34:14,290
one of the ways

553
00:34:14,290 --> 00:34:16,290
that this could be resolved, and Luke,

554
00:34:16,290 --> 00:34:18,290
I think the route that you've taken is that

555
00:34:18,290 --> 00:34:20,290
you have your own implementation

556
00:34:20,290 --> 00:34:22,290
of Bitcoin, a fork of Bitcoin called

557
00:34:22,290 --> 00:34:24,290
Bitcoin Knots, and

558
00:34:24,290 --> 00:34:26,290
obviously you can make

559
00:34:26,290 --> 00:34:28,290
the argument against that, that

560
00:34:28,290 --> 00:34:30,290
having an

561
00:34:30,290 --> 00:34:32,290
implementation that's unilaterally controlled

562
00:34:32,290 --> 00:34:34,290
by a single person is risky,

563
00:34:34,290 --> 00:34:36,290
that having multiple implementations

564
00:34:36,290 --> 00:34:38,290
in the first place comes with some non-obvious

565
00:34:38,290 --> 00:34:40,290
risks, but how would you make the case

566
00:34:40,290 --> 00:34:42,290
that that's actually sort of a good thing

567
00:34:42,290 --> 00:34:44,290
to be doing?

568
00:34:44,290 --> 00:34:46,290
That basically gets all the

569
00:34:46,290 --> 00:34:48,290
everything that would be a good

570
00:34:48,290 --> 00:34:50,290
idea to merge.

571
00:34:50,290 --> 00:34:52,290
Probably safe is merging the Bitcoin Knots

572
00:34:52,290 --> 00:34:54,290
whereas Bitcoin Core releases

573
00:34:54,290 --> 00:34:56,290
take the more careful and

574
00:34:56,290 --> 00:34:58,290
extra careful review

575
00:34:58,290 --> 00:35:00,290
approach. And so

576
00:35:00,290 --> 00:35:02,290
the users have the options between

577
00:35:02,290 --> 00:35:04,290
do they want to have something that

578
00:35:04,290 --> 00:35:06,290
takes this extra careful approach

579
00:35:06,290 --> 00:35:08,290
or do they just want to have something that has

580
00:35:08,290 --> 00:35:10,290
all the latest and greatest and hopefully

581
00:35:10,290 --> 00:35:12,290
safe enough.

582
00:35:12,290 --> 00:35:14,290
Right, so it could function

583
00:35:14,290 --> 00:35:16,290
I guess as a good test bed maybe.

584
00:35:16,290 --> 00:35:18,290
Right, it can be used in a lot of

585
00:35:18,290 --> 00:35:20,290
ways, potentially as testing and

586
00:35:20,290 --> 00:35:22,290
other things.

587
00:35:22,290 --> 00:35:24,290
Great.

588
00:35:24,290 --> 00:35:26,290
Yeah, I would

589
00:35:26,290 --> 00:35:28,290
like to add on to that.

590
00:35:28,290 --> 00:35:30,290
The project

591
00:35:30,290 --> 00:35:32,290
that I've been working on is called

592
00:35:32,290 --> 00:35:34,290
LitBitcoin Kernel, and it's

593
00:35:34,290 --> 00:35:36,290
a project to extract

594
00:35:36,290 --> 00:35:38,290
sort of the consensus engine out

595
00:35:38,290 --> 00:35:40,290
of Bitcoin Core.

596
00:35:40,290 --> 00:35:42,290
And one of the rationales or one of the

597
00:35:42,290 --> 00:35:44,290
problems that we're sort of trying

598
00:35:44,290 --> 00:35:46,290
to solve is that people

599
00:35:46,290 --> 00:35:48,290
have different, and

600
00:35:48,290 --> 00:35:50,290
as Gloria has mentioned,

601
00:35:50,290 --> 00:35:52,290
people have different expectations

602
00:35:52,290 --> 00:35:54,290
for how they want

603
00:35:54,290 --> 00:35:56,290
their mempool or their validation

604
00:35:56,290 --> 00:35:58,290
or

605
00:35:58,290 --> 00:36:00,290
sorry, mempool and

606
00:36:00,290 --> 00:36:02,290
sort of the rest of the code, like wallet

607
00:36:02,290 --> 00:36:04,290
or GUI or RPC

608
00:36:04,290 --> 00:36:06,290
and all of that to act.

609
00:36:06,290 --> 00:36:08,290
And as Luke has said,

610
00:36:08,290 --> 00:36:10,290
perhaps they want to be more

611
00:36:10,290 --> 00:36:12,290
experimental or have features

612
00:36:12,290 --> 00:36:14,290
that perhaps can't get

613
00:36:14,290 --> 00:36:16,290
into Bitcoin Core.

614
00:36:16,290 --> 00:36:18,290
The options right now

615
00:36:18,290 --> 00:36:20,290
for experimenters

616
00:36:20,290 --> 00:36:22,290
like that are

617
00:36:22,290 --> 00:36:24,290
you either go through as

618
00:36:24,290 --> 00:36:26,290
I hope we've painted a picture

619
00:36:26,290 --> 00:36:28,290
of PR review

620
00:36:28,290 --> 00:36:30,290
being very stringent, let's say.

621
00:36:30,290 --> 00:36:32,290
You either go through

622
00:36:32,290 --> 00:36:34,290
with PR review and try to get it into

623
00:36:34,290 --> 00:36:36,290
Bitcoin Core, which is hard,

624
00:36:36,290 --> 00:36:38,290
but also is a

625
00:36:38,290 --> 00:36:40,290
burden on maintainers.

626
00:36:40,290 --> 00:36:42,290
This is not a piece of code that you write

627
00:36:42,290 --> 00:36:44,290
and then that's it. We have to maintain

628
00:36:44,290 --> 00:36:46,290
it throughout time.

629
00:36:46,290 --> 00:36:48,290
So you either do that,

630
00:36:48,290 --> 00:36:50,290
you either fork

631
00:36:50,290 --> 00:36:52,290
Bitcoin Core, which is what

632
00:36:52,290 --> 00:36:54,290
Luke does, and every

633
00:36:54,290 --> 00:36:56,290
release you have to rebase

634
00:36:56,290 --> 00:36:58,290
and perhaps Bitcoin Core

635
00:36:58,290 --> 00:37:00,290
structures it in a way

636
00:37:00,290 --> 00:37:02,290
that now makes it really hard for this

637
00:37:02,290 --> 00:37:04,290
critical feature that you have.

638
00:37:04,290 --> 00:37:06,290
And I think Luke has run into that problem before.

639
00:37:06,290 --> 00:37:08,290
And then

640
00:37:08,290 --> 00:37:10,290
the third way is just to

641
00:37:10,290 --> 00:37:12,290
re-implement Bitcoin Core.

642
00:37:12,290 --> 00:37:14,290
And if you re-implement

643
00:37:14,290 --> 00:37:16,290
Bitcoin, then you are sure

644
00:37:16,290 --> 00:37:18,290
to get, almost certain,

645
00:37:18,290 --> 00:37:20,290
to get sort of

646
00:37:20,290 --> 00:37:22,290
consensus incompatibilities, which

647
00:37:22,290 --> 00:37:24,290
as I described before, consensus

648
00:37:24,290 --> 00:37:26,290
incompatibilities is what leads to

649
00:37:26,290 --> 00:37:28,290
unforeseen

650
00:37:28,290 --> 00:37:30,290
or unexpected bugs,

651
00:37:30,290 --> 00:37:32,290
which is sort of what keeps

652
00:37:32,290 --> 00:37:34,290
all of us up at night, I would say.

653
00:37:34,290 --> 00:37:36,290
And so

654
00:37:36,290 --> 00:37:38,290
having this

655
00:37:38,290 --> 00:37:40,290
sort of extracting

656
00:37:40,290 --> 00:37:42,290
out sort of the part that

657
00:37:42,290 --> 00:37:44,290
defines consensus

658
00:37:44,290 --> 00:37:46,290
allows experimenters,

659
00:37:46,290 --> 00:37:48,290
and I think it speaks to the strength

660
00:37:48,290 --> 00:37:50,290
of our community that we have people

661
00:37:50,290 --> 00:37:52,290
who want to experiment, have people who want to implement

662
00:37:52,290 --> 00:37:54,290
features, have people who want to tweak

663
00:37:54,290 --> 00:37:56,290
parameters. It sort of

664
00:37:56,290 --> 00:37:58,290
allows people to experiment with that

665
00:37:58,290 --> 00:38:00,290
and not have to

666
00:38:00,290 --> 00:38:02,290
worry about the consensus

667
00:38:02,290 --> 00:38:04,290
compatibility part, not have to

668
00:38:04,290 --> 00:38:06,290
sort of try to cram it into

669
00:38:06,290 --> 00:38:08,290
Bitcoin Core and make it a burden on everybody

670
00:38:08,290 --> 00:38:10,290
else.

671
00:38:10,290 --> 00:38:12,290
Not have to

672
00:38:12,290 --> 00:38:14,290
do the forking.

673
00:38:14,290 --> 00:38:16,290
On a personal note,

674
00:38:16,290 --> 00:38:18,290
I'm very happy that

675
00:38:18,290 --> 00:38:20,290
there are experimenters out there, and I think we should

676
00:38:20,290 --> 00:38:22,290
encourage them. So I think your

677
00:38:22,290 --> 00:38:24,290
project, LitBitcoin Kernel, is one of the most

678
00:38:24,290 --> 00:38:26,290
exciting initiatives ongoing

679
00:38:26,290 --> 00:38:28,290
in Bitcoin Core now because you could really

680
00:38:28,290 --> 00:38:30,290
see the inner workings of consensus

681
00:38:30,290 --> 00:38:32,290
packaged up very nicely

682
00:38:32,290 --> 00:38:34,290
in a format that allows people

683
00:38:34,290 --> 00:38:36,290
to build a lot of the

684
00:38:36,290 --> 00:38:38,290
policy components or optional components

685
00:38:38,290 --> 00:38:40,290
of Bitcoin kind of in the way that they'd like

686
00:38:40,290 --> 00:38:42,290
to without risking some kind of

687
00:38:42,290 --> 00:38:44,290
major consensus fault. So

688
00:38:44,290 --> 00:38:46,290
with that under

689
00:38:46,290 --> 00:38:48,290
consideration, Carl, how do you

690
00:38:48,290 --> 00:38:50,290
see Bitcoin Core's scope

691
00:38:50,290 --> 00:38:52,290
kind of expanding or

692
00:38:52,290 --> 00:38:54,290
contracting over, say, the next

693
00:38:54,290 --> 00:38:56,290
five years? What do you think will ultimately

694
00:38:56,290 --> 00:38:58,290
be a part of the Bitcoin Core process?

695
00:39:00,290 --> 00:39:02,290
I, and this is

696
00:39:02,290 --> 00:39:04,290
just me speaking personally,

697
00:39:04,290 --> 00:39:06,290
is I would hope

698
00:39:06,290 --> 00:39:08,290
that sort of

699
00:39:08,290 --> 00:39:10,290
there

700
00:39:10,290 --> 00:39:12,290
is a

701
00:39:12,290 --> 00:39:14,290
the project is to basically

702
00:39:14,290 --> 00:39:16,290
delineate a clear boundary between

703
00:39:16,290 --> 00:39:18,290
what is consensus and what is not.

704
00:39:18,290 --> 00:39:20,290
Right? And, you know, the

705
00:39:20,290 --> 00:39:22,290
big problem right now is that when we make

706
00:39:22,290 --> 00:39:24,290
a change, because everything

707
00:39:24,290 --> 00:39:26,290
is all tangled up into this, like, spaghetti

708
00:39:26,290 --> 00:39:28,290
monster mess,

709
00:39:28,290 --> 00:39:30,290
when we make a change, we don't know if it will, you

710
00:39:30,290 --> 00:39:32,290
know, affect consensus.

711
00:39:32,290 --> 00:39:34,290
And sometimes, you know, to Jerry's

712
00:39:34,290 --> 00:39:36,290
point, we probably need a checklist for this.

713
00:39:36,290 --> 00:39:38,290
Sometimes we introduce, like, a block

714
00:39:38,290 --> 00:39:40,290
filter and then it becomes part of consensus

715
00:39:40,290 --> 00:39:42,290
and you're like, okay, what?

716
00:39:42,290 --> 00:39:44,290
So I think, you know,

717
00:39:44,290 --> 00:39:46,290
delineating that

718
00:39:46,290 --> 00:39:48,290
boundary means that

719
00:39:48,290 --> 00:39:50,290
it's a technical change, I think,

720
00:39:50,290 --> 00:39:52,290
to sort of a social problem

721
00:39:52,290 --> 00:39:54,290
where now we can have

722
00:39:54,290 --> 00:39:56,290
more eyes on

723
00:39:56,290 --> 00:39:58,290
the consensus critical part

724
00:39:58,290 --> 00:40:00,290
and, you know,

725
00:40:00,290 --> 00:40:02,290
and the sort of outside

726
00:40:02,290 --> 00:40:04,290
realm can be swapped out

727
00:40:04,290 --> 00:40:06,290
and, you know, we won't have to have, like,

728
00:40:06,290 --> 00:40:08,290
I mean, we just have too many flags

729
00:40:08,290 --> 00:40:10,290
right now. I mean, we don't have to have, like,

730
00:40:10,290 --> 00:40:12,290
you know, 100 flags just for, you know, all

731
00:40:12,290 --> 00:40:14,290
the use cases that people have.

732
00:40:14,290 --> 00:40:16,290
And that, I think, will be able to

733
00:40:16,290 --> 00:40:18,290
that will make the review

734
00:40:18,290 --> 00:40:20,290
process easier because people now

735
00:40:20,290 --> 00:40:22,290
know what is consensus critical and what is not.

736
00:40:22,290 --> 00:40:24,290
Right? And it'll make

737
00:40:24,290 --> 00:40:26,290
things a lot smoother in a

738
00:40:26,290 --> 00:40:28,290
social sense, I think. So, Andrew,

739
00:40:28,290 --> 00:40:30,290
you work a lot on the wallet. You're the wallet

740
00:40:30,290 --> 00:40:32,290
maintainer. You know, the wallet is one of those parts

741
00:40:32,290 --> 00:40:34,290
of Bitcoin that

742
00:40:34,290 --> 00:40:36,290
is not consensus critical

743
00:40:36,290 --> 00:40:38,290
but is still very crucial

744
00:40:38,290 --> 00:40:40,290
to using Bitcoin.

745
00:40:40,290 --> 00:40:42,290
And it's something where the design space is very

746
00:40:42,290 --> 00:40:44,290
open. So you obviously have a number

747
00:40:44,290 --> 00:40:46,290
of different wallet implementations.

748
00:40:46,290 --> 00:40:48,290
How do you see the repo evolving

749
00:40:48,290 --> 00:40:50,290
over, say, the next five years? What components

750
00:40:50,290 --> 00:40:52,290
do you think will be in there? What won't be, maybe?

751
00:40:52,290 --> 00:40:54,290
So, I think

752
00:40:54,290 --> 00:40:56,290
eventually what we want to have

753
00:40:56,290 --> 00:40:58,290
is to have the wallet be a separate

754
00:40:58,290 --> 00:41:00,290
repository and it uses

755
00:41:00,290 --> 00:41:02,290
the interface exposed by the

756
00:41:02,290 --> 00:41:04,290
Bitcoin kernel or whatever

757
00:41:04,290 --> 00:41:06,290
the node part

758
00:41:06,290 --> 00:41:08,290
stuff remains. And we've actually

759
00:41:08,290 --> 00:41:10,290
observed this with the GUI, kind of,

760
00:41:10,290 --> 00:41:12,290
where all the work on the

761
00:41:12,290 --> 00:41:14,290
GUI is actually occurring in a

762
00:41:14,290 --> 00:41:16,290
different repository where

763
00:41:16,290 --> 00:41:18,290
it has its own issues, has its own pull requests.

764
00:41:18,290 --> 00:41:20,290
And that also makes it easier

765
00:41:20,290 --> 00:41:22,290
to keep track of what's going on

766
00:41:22,290 --> 00:41:24,290
and makes it easier for people

767
00:41:24,290 --> 00:41:26,290
who care about the GUI to

768
00:41:26,290 --> 00:41:28,290
work on it.

769
00:41:28,290 --> 00:41:30,290
Same thing I expect to happen to the wallet

770
00:41:30,290 --> 00:41:32,290
and maybe some other components of

771
00:41:32,290 --> 00:41:34,290
Bitcoin Core as well. So as we

772
00:41:34,290 --> 00:41:36,290
break it up a little bit so that

773
00:41:36,290 --> 00:41:38,290
people can focus on the things

774
00:41:38,290 --> 00:41:40,290
that they care about without

775
00:41:40,290 --> 00:41:42,290
having things get lost in

776
00:41:42,290 --> 00:41:44,290
100 PRs of something

777
00:41:44,290 --> 00:41:46,290
completely different.

778
00:41:46,290 --> 00:41:48,290
And yeah, so I expect that there

779
00:41:48,290 --> 00:41:50,290
will be a wallet repo

780
00:41:50,290 --> 00:41:52,290
in the future once we get

781
00:41:52,290 --> 00:41:54,290
libBitcoin kernel or multiprocess

782
00:41:54,290 --> 00:41:56,290
implemented.

783
00:41:56,290 --> 00:41:58,290
Do you mind if I try something?

784
00:41:58,290 --> 00:42:00,290
Absolutely, yeah. How many people here run

785
00:42:00,290 --> 00:42:02,290
a Bitcoin node?

786
00:42:02,290 --> 00:42:04,290
Great. How many people here

787
00:42:04,290 --> 00:42:06,290
use the Bitcoin GUI?

788
00:42:06,290 --> 00:42:08,290
Okay. How many people

789
00:42:08,290 --> 00:42:10,290
here use the Bitcoin wallet?

790
00:42:10,290 --> 00:42:12,290
Bitcoin Core wallet? Okay, good number.

791
00:42:12,290 --> 00:42:14,290
How many people here run

792
00:42:14,290 --> 00:42:16,290
a transaction index?

793
00:42:16,290 --> 00:42:18,290
Okay. What's

794
00:42:18,290 --> 00:42:20,290
another good optional thing? Block filter

795
00:42:20,290 --> 00:42:22,290
index? Yeah, who runs a block filter index?

796
00:42:22,290 --> 00:42:24,290
Okay, a few people.

797
00:42:24,290 --> 00:42:26,290
Sorry, does anyone configure

798
00:42:26,290 --> 00:42:28,290
their mempool differently from defaults?

799
00:42:28,290 --> 00:42:30,290
One, two.

800
00:42:30,290 --> 00:42:32,290
You all have to come

801
00:42:32,290 --> 00:42:34,290
talk to Gloria afterwards. We do not

802
00:42:34,290 --> 00:42:36,290
know anybody who does this and it would be really good to know

803
00:42:36,290 --> 00:42:38,290
what you're putting in and we'll talk about maybe

804
00:42:38,290 --> 00:42:40,290
why you really have introduced a vulnerability for yourself

805
00:42:40,290 --> 00:42:42,290
by doing so.

806
00:42:42,290 --> 00:42:44,290
I'd like to repurpose the remainder of this

807
00:42:44,290 --> 00:42:46,290
panel to just poll the audience about what features

808
00:42:46,290 --> 00:42:48,290
they actually use.

809
00:42:48,290 --> 00:42:50,290
To bring it back to what these guys are talking about

810
00:42:50,290 --> 00:42:52,290
and I think about this too, is that we are shipping a lot of

811
00:42:52,290 --> 00:42:54,290
code onto your computers that you're not running

812
00:42:54,290 --> 00:42:56,290
and we would like to give you the minimal

813
00:42:56,290 --> 00:42:58,290
possible thing that's going to do what you're actually using.

814
00:42:58,290 --> 00:43:00,290
Probably most of you said

815
00:43:00,290 --> 00:43:02,290
you were running a node, which is tremendous,

816
00:43:02,290 --> 00:43:04,290
but then all the other things were a little bit more

817
00:43:04,290 --> 00:43:06,290
specialized and what would be really good is

818
00:43:06,290 --> 00:43:08,290
if we could have this thing that's just

819
00:43:08,290 --> 00:43:10,290
a node that you can run and then

820
00:43:10,290 --> 00:43:12,290
these other things you actually can get maybe

821
00:43:12,290 --> 00:43:14,290
a more competition

822
00:43:14,290 --> 00:43:16,290
among service providers for that

823
00:43:16,290 --> 00:43:18,290
functionality, which if we're all capitalists

824
00:43:18,290 --> 00:43:20,290
who here is a capitalist?

825
00:43:20,290 --> 00:43:22,290
Okay, that's good, most of us.

826
00:43:22,290 --> 00:43:24,290
We think maybe that

827
00:43:24,290 --> 00:43:26,290
will get us a better end result eventually.

828
00:43:26,290 --> 00:43:28,290
I think that's sort of maybe the motivation

829
00:43:28,290 --> 00:43:30,290
for some of this. Yeah, and I also think

830
00:43:30,290 --> 00:43:32,290
then you can ship more versions of

831
00:43:32,290 --> 00:43:34,290
the GUI and wallet

832
00:43:34,290 --> 00:43:36,290
and not have to rely on

833
00:43:36,290 --> 00:43:38,290
Bitcoin core releases.

834
00:43:38,290 --> 00:43:40,290
Who here likes dark mode?

835
00:43:40,290 --> 00:43:42,290
Yeah, maybe dark mode faster.

836
00:43:42,290 --> 00:43:44,290
Luke, you look like you wanted to

837
00:43:44,290 --> 00:43:46,290
jump in there and say something. Yeah, I just wanted to

838
00:43:46,290 --> 00:43:48,290
point out that I disagree with

839
00:43:48,290 --> 00:43:50,290
Gloria and

840
00:43:50,290 --> 00:43:52,290
Jeremy in that I

841
00:43:52,290 --> 00:43:54,290
think it would be ideal if

842
00:43:54,290 --> 00:43:56,290
every user decided their own policies

843
00:43:56,290 --> 00:43:58,290
for themselves. We

844
00:43:58,290 --> 00:44:00,290
have defaults, but they really

845
00:44:00,290 --> 00:44:02,290
shouldn't be used as some kind of consensus

846
00:44:02,290 --> 00:44:04,290
rules. Relying on them to be

847
00:44:04,290 --> 00:44:06,290
identical across the network is

848
00:44:06,290 --> 00:44:08,290
insecure and really should be

849
00:44:08,290 --> 00:44:10,290
considered a security risk in general.

850
00:44:10,290 --> 00:44:12,290
So I think

851
00:44:12,290 --> 00:44:14,290
that there's like, you know, the difference

852
00:44:14,290 --> 00:44:16,290
of what we're saying would be like, imagine

853
00:44:16,290 --> 00:44:18,290
you have your

854
00:44:18,290 --> 00:44:20,290
wallet.dat file and the

855
00:44:20,290 --> 00:44:22,290
setting that you choose is to make it readable

856
00:44:22,290 --> 00:44:24,290
by anybody on the network.

857
00:44:24,290 --> 00:44:26,290
That would be,

858
00:44:26,290 --> 00:44:28,290
if you're selecting the folder for your wallet.dat

859
00:44:28,290 --> 00:44:30,290
as a shared open public

860
00:44:30,290 --> 00:44:32,290
file, that would be an insecure

861
00:44:32,290 --> 00:44:34,290
setting. And then for

862
00:44:34,290 --> 00:44:36,290
consensus, there are things that are similar where if you

863
00:44:36,290 --> 00:44:38,290
picked a really bad parameter,

864
00:44:38,290 --> 00:44:40,290
even for policy, that

865
00:44:40,290 --> 00:44:42,290
our implementations just can't handle those

866
00:44:42,290 --> 00:44:44,290
parameters. To a large extent

867
00:44:44,290 --> 00:44:46,290
we avoid policy settings like that.

868
00:44:46,290 --> 00:44:48,290
That's why it's

869
00:44:48,290 --> 00:44:50,290
configurable, right? We have

870
00:44:50,290 --> 00:44:52,290
startup options for you to change it, but

871
00:44:52,290 --> 00:44:54,290
yeah, you're right.

872
00:44:54,290 --> 00:44:56,290
Feel free to use your config

873
00:44:56,290 --> 00:44:58,290
options, but we try to make

874
00:44:58,290 --> 00:45:00,290
your wallet as safe as possible.

875
00:45:00,290 --> 00:45:02,290
Right now, though, it's kind of hard

876
00:45:02,290 --> 00:45:04,290
to change

877
00:45:04,290 --> 00:45:06,290
your own options. You have to

878
00:45:06,290 --> 00:45:08,290
make the bitcoin.com file

879
00:45:08,290 --> 00:45:10,290
and know how to format

880
00:45:10,290 --> 00:45:12,290
the lines and put all the right options

881
00:45:12,290 --> 00:45:14,290
there.

882
00:45:14,290 --> 00:45:16,290
At least, you know, if you're using the

883
00:45:16,290 --> 00:45:18,290
GUI, there's almost no

884
00:45:18,290 --> 00:45:20,290
way to change any of your relay

885
00:45:20,290 --> 00:45:22,290
options from within the GUI itself.

886
00:45:22,290 --> 00:45:24,290
So it's...

887
00:45:24,290 --> 00:45:26,290
Bitcoin.nuts does have several GUI

888
00:45:26,290 --> 00:45:28,290
options for that. Hopefully it'll eventually

889
00:45:28,290 --> 00:45:30,290
get into core.

890
00:45:30,290 --> 00:45:32,290
There's some work there

891
00:45:32,290 --> 00:45:34,290
that no one has reviewed.

892
00:45:34,290 --> 00:45:36,290
None of them are using the GUI, though.

893
00:45:36,290 --> 00:45:38,290
True.

894
00:45:38,290 --> 00:45:40,290
So with the remaining three minutes,

895
00:45:40,290 --> 00:45:42,290
I thought that maybe we could turn

896
00:45:42,290 --> 00:45:44,290
to

897
00:45:44,290 --> 00:45:46,290
ways that you guys think

898
00:45:46,290 --> 00:45:48,290
we might be able to grow

899
00:45:48,290 --> 00:45:50,290
the developer ecosystem in Bitcoin Core

900
00:45:50,290 --> 00:45:52,290
and just increase the health of the project.

901
00:45:52,290 --> 00:45:54,290
So I'll just open it up to the group

902
00:45:54,290 --> 00:45:56,290
if there's anything in particular you think we could do.

903
00:45:58,290 --> 00:46:00,290
Yeah, I have a few ideas.

904
00:46:00,290 --> 00:46:02,290
If there's anyone in the audience that's

905
00:46:02,290 --> 00:46:04,290
interested in contributing

906
00:46:04,290 --> 00:46:06,290
to Bitcoin Core and maybe doing

907
00:46:06,290 --> 00:46:08,290
it full-time in the future.

908
00:46:08,290 --> 00:46:10,290
There's this great thing called

909
00:46:10,290 --> 00:46:12,290
PR Review Club.

910
00:46:12,290 --> 00:46:14,290
It's bitcoincore.reviews. We do a weekly

911
00:46:14,290 --> 00:46:16,290
meeting where we pick

912
00:46:16,290 --> 00:46:18,290
a Bitcoin Core PR,

913
00:46:18,290 --> 00:46:20,290
and there's a host.

914
00:46:20,290 --> 00:46:22,290
It's not always me.

915
00:46:22,290 --> 00:46:24,290
There's a host that will come up

916
00:46:24,290 --> 00:46:26,290
with a list of notes as well as

917
00:46:26,290 --> 00:46:28,290
questions, so you kind of get

918
00:46:28,290 --> 00:46:30,290
an opinionated tour through this area

919
00:46:30,290 --> 00:46:32,290
of the code base and hopefully

920
00:46:32,290 --> 00:46:34,290
walk through some questions that

921
00:46:34,290 --> 00:46:36,290
start to build up your mental model

922
00:46:36,290 --> 00:46:38,290
of what adversarial thinking looks like

923
00:46:38,290 --> 00:46:40,290
when you're reviewing a PR in Bitcoin Core.

924
00:46:40,290 --> 00:46:42,290
And hopefully

925
00:46:42,290 --> 00:46:44,290
as you've done,

926
00:46:44,290 --> 00:46:46,290
maybe if you do five to ten

927
00:46:46,290 --> 00:46:48,290
of these review clubs, you've gotten

928
00:46:48,290 --> 00:46:50,290
a good breadth of different areas

929
00:46:50,290 --> 00:46:52,290
of the code base,

930
00:46:52,290 --> 00:46:54,290
and you find one that you want to dig into

931
00:46:54,290 --> 00:46:56,290
very deep, and

932
00:46:56,290 --> 00:46:58,290
maybe you write a functional

933
00:46:58,290 --> 00:47:00,290
test that tests something that

934
00:47:00,290 --> 00:47:02,290
is very specific

935
00:47:02,290 --> 00:47:04,290
that we don't have coverage for yet,

936
00:47:04,290 --> 00:47:06,290
or a unit test or whatever it is.

937
00:47:06,290 --> 00:47:08,290
And then you look

938
00:47:08,290 --> 00:47:10,290
through the issues and you find there are

939
00:47:10,290 --> 00:47:12,290
many features and bugs in that

940
00:47:12,290 --> 00:47:14,290
particular area of the code base that

941
00:47:14,290 --> 00:47:16,290
we don't have enough people to work

942
00:47:16,290 --> 00:47:18,290
on. Anyway,

943
00:47:18,290 --> 00:47:20,290
all I wanted to do was show PR

944
00:47:20,290 --> 00:47:22,290
review club, BitcoinCore.reviews.

945
00:47:22,290 --> 00:47:24,290
I guess I'll be

946
00:47:24,290 --> 00:47:26,290
annoying again and just say, who here, if there were not

947
00:47:26,290 --> 00:47:28,290
an obstacle to it, would like to be a Bitcoin

948
00:47:28,290 --> 00:47:30,290
Core developer?

949
00:47:30,290 --> 00:47:32,290
Okay. Come find us

950
00:47:32,290 --> 00:47:34,290
and tell us what the obstacle is that

951
00:47:34,290 --> 00:47:36,290
might be stopping you from doing that, and we'll try

952
00:47:36,290 --> 00:47:38,290
and find a pathway to

953
00:47:38,290 --> 00:47:40,290
making you do that thing.

954
00:47:40,290 --> 00:47:42,290
And for what it's worth,

955
00:47:42,290 --> 00:47:44,290
I think there's a lot of funding out there at this point.

956
00:47:44,290 --> 00:47:46,290
There's probably more funding out there than you think,

957
00:47:46,290 --> 00:47:48,290
and it's just been so fantastic

958
00:47:48,290 --> 00:47:50,290
to see companies in Bitcoin

959
00:47:50,290 --> 00:47:52,290
step up and provide those

960
00:47:52,290 --> 00:47:54,290
resources. So if you're kind of on the

961
00:47:54,290 --> 00:47:56,290
margin, if you want to get involved,

962
00:47:56,290 --> 00:47:58,290
really do consider it.

963
00:47:58,290 --> 00:48:00,290
Get into touch with any of us,

964
00:48:00,290 --> 00:48:02,290
and we can try and point you in the right directions.

965
00:48:02,290 --> 00:48:04,290
But it's a really

966
00:48:04,290 --> 00:48:06,290
great time to be a Bitcoin developer,

967
00:48:06,290 --> 00:48:08,290
so please consider it.

968
00:48:08,290 --> 00:48:10,290
And I would just say, you don't have to be smart,

969
00:48:10,290 --> 00:48:12,290
you just have to keep on trying.

970
00:48:12,290 --> 00:48:14,290
Absolutely. Persistence is totally underrated.

971
00:48:14,290 --> 00:48:16,290
We could always use more reviewers.

972
00:48:16,290 --> 00:48:18,290
Always use more reviewers.

973
00:48:18,290 --> 00:48:20,290
You don't necessarily need to be able to code, but if you can read code,

974
00:48:20,290 --> 00:48:22,290
reading code is very different from writing code.

975
00:48:22,290 --> 00:48:24,290
So more reviewers is great.

976
00:48:24,290 --> 00:48:26,290
I think it's worth

977
00:48:26,290 --> 00:48:28,290
mentioning, people don't often acknowledge

978
00:48:28,290 --> 00:48:30,290
that the main bottleneck in Bitcoin Core

979
00:48:30,290 --> 00:48:32,290
is getting suitable review, because nobody

980
00:48:32,290 --> 00:48:34,290
wants to merge code that hasn't

981
00:48:34,290 --> 00:48:36,290
been scrutinized, hasn't

982
00:48:36,290 --> 00:48:38,290
been analyzed by a lot of people

983
00:48:38,290 --> 00:48:40,290
working on the project.

984
00:48:40,290 --> 00:48:42,290
So get involved, and

985
00:48:42,290 --> 00:48:44,290
there are a number of ways you can review.

986
00:48:44,290 --> 00:48:46,290
You can just download the code and run it and build it.

987
00:48:46,290 --> 00:48:48,290
You don't even necessarily have to

988
00:48:48,290 --> 00:48:50,290
try and understand the code if you're doing

989
00:48:50,290 --> 00:48:52,290
something to add to the process.

990
00:48:52,290 --> 00:48:54,290
So great, we're out of time.

991
00:48:54,290 --> 00:48:56,290
Well, we've got...

992
00:48:56,290 --> 00:48:58,290
Oh yeah, now we're going up on the timer.

993
00:48:58,290 --> 00:49:00,290
Number go up.

994
00:49:00,290 --> 00:49:02,290
I want to thank

995
00:49:02,290 --> 00:49:04,290
all of our wonderful panelists.

996
00:49:04,290 --> 00:49:06,290
I want to thank you guys for coming to this.

997
00:49:06,290 --> 00:49:08,290
I hope it was enjoyable.

998
00:49:08,290 --> 00:49:10,290
Thank you.

999
00:49:12,290 --> 00:49:14,290
All right, let's go ahead and get started.

1000
00:49:42,290 --> 00:49:44,290
So my name's D++,

1001
00:49:44,290 --> 00:49:46,290
and the topic for today's

1002
00:49:46,290 --> 00:49:48,290
panel is Decentralized

1003
00:49:48,290 --> 00:49:50,290
Exchanges, or

1004
00:49:50,290 --> 00:49:52,290
DEX for short.

1005
00:49:52,290 --> 00:49:54,290
Now I'm thrilled to be

1006
00:49:54,290 --> 00:49:56,290
here on stage at Bitcoin

1007
00:49:56,290 --> 00:49:58,290
Miami 2022.

1008
00:49:58,290 --> 00:50:00,290
Specifically, I'm thrilled to

1009
00:50:00,290 --> 00:50:02,290
be on the best stage.

1010
00:50:05,448 --> 00:50:07,448
This is the real Bitcoin stage.

1011
00:50:10,448 --> 00:50:13,448
Just very quickly about me, I'm a Bitcoin educator.

1012
00:50:14,448 --> 00:50:18,448
My aim is to bring simple education to the next billion folks.

1013
00:50:19,448 --> 00:50:21,448
I have a background in computer engineering.

1014
00:50:22,448 --> 00:50:24,448
I've worked as an entrepreneur and a coding professor

1015
00:50:25,448 --> 00:50:27,448
before I devoted my life to Bitcoin.

1016
00:50:28,448 --> 00:50:31,448
Now, before we dive into the questions on today's topic,

1017
00:50:32,448 --> 00:50:35,448
I'd love it if our lovely panelists could quickly introduce themselves.

1018
00:50:36,448 --> 00:50:39,448
Hi, I'm Chris Stewart. I'm the founder of a company called Shirtbits,

1019
00:50:40,448 --> 00:50:42,448
and I'm here for Spicy Takes.

1020
00:50:43,448 --> 00:50:45,448
Hey, I'm Josef Jetek, Seth Joseph on Twitter,

1021
00:50:46,448 --> 00:50:48,448
and I'm an analyst and economist at Trezor.

1022
00:50:49,448 --> 00:50:53,448
Hey, I'm Liz. I work on Mempool Space, BISC, Bitcoin.

1023
00:50:53,448 --> 00:50:56,448
Hey, I'm Liz. I work on Mempool Space, BISC, Bitcoin TV,

1024
00:50:57,448 --> 00:50:59,448
and a bunch of other projects. It's great to be here.

1025
00:51:00,448 --> 00:51:02,448
Hey there, Daniel Buckner. I work at TBD at Block

1026
00:51:03,448 --> 00:51:05,448
on decentralized identity and protocols.

1027
00:51:06,448 --> 00:51:10,448
Awesome. So, speaking of Block and TBDEX,

1028
00:51:11,448 --> 00:51:13,448
Daniel, this question is for you.

1029
00:51:14,448 --> 00:51:16,448
I've gone through the white paper.

1030
00:51:17,448 --> 00:51:19,448
I really think Satoshi was onto something with this whole

1031
00:51:20,448 --> 00:51:22,448
six-page white paper thing. Can we make that a standard?

1032
00:51:23,448 --> 00:51:25,448
Just generally? That'd be great.

1033
00:51:26,448 --> 00:51:28,448
But that said, can you explain like I'm five?

1034
00:51:29,448 --> 00:51:32,448
Distill it into something that, maybe explain like I'm four.

1035
00:51:33,448 --> 00:51:35,448
What is TBDEX? Can you walk me through it?

1036
00:51:36,448 --> 00:51:38,448
Yeah, absolutely. So, it's a decentralized value exchange protocol,

1037
00:51:39,448 --> 00:51:41,448
a generalized protocol, where you can really exchange

1038
00:51:42,448 --> 00:51:44,448
any things of value between participants who can locate each other

1039
00:51:45,448 --> 00:51:48,448
using a protocol based on distributed systems and decentralized identity.

1040
00:51:49,448 --> 00:51:51,448
The first type of value exchange we're focused on is

1041
00:51:51,448 --> 00:51:55,448
fiat on and off ramps and being able to get people to exchange

1042
00:51:56,448 --> 00:51:58,448
Bitcoin for dollars or whatever the local currency is.

1043
00:51:59,448 --> 00:52:02,448
The interesting thing about the exchange itself is that

1044
00:52:03,448 --> 00:52:05,448
it gives the ability to transfer reputation and trust

1045
00:52:06,448 --> 00:52:07,448
in a way that's standards based.

1046
00:52:08,448 --> 00:52:10,448
So, we use centralized identifiers, verifiable credentials.

1047
00:52:11,448 --> 00:52:13,448
It doesn't mean that participants have to require reputation

1048
00:52:14,448 --> 00:52:16,448
and trust if they don't want to. It's completely optional.

1049
00:52:17,448 --> 00:52:20,448
But if they do require something, they can totally do so.

1050
00:52:21,448 --> 00:52:23,448
If it's a bank, they probably will require some sort of credential.

1051
00:52:24,448 --> 00:52:27,448
If it's not, if it's like peers, they might not.

1052
00:52:28,448 --> 00:52:29,448
They might just require pure reputation.

1053
00:52:30,448 --> 00:52:32,448
An interesting thing about the protocol is that it's actually useful

1054
00:52:33,448 --> 00:52:34,448
even beyond the stage of fiat.

1055
00:52:35,448 --> 00:52:37,448
So, imagine we're in a hyper-Bitcoinized world

1056
00:52:38,448 --> 00:52:39,448
and you want to buy a car with Bitcoin.

1057
00:52:40,448 --> 00:52:42,448
Well, it turns out that this value exchange protocol

1058
00:52:43,448 --> 00:52:45,448
can cover that use case in the sense that you might be able to locate

1059
00:52:46,448 --> 00:52:47,448
and find all the cars available out there.

1060
00:52:48,448 --> 00:52:50,448
And then you want to know that the car that you're buying

1061
00:52:51,448 --> 00:52:55,448
is backed by, you know, the pink slip is valid

1062
00:52:56,448 --> 00:52:58,448
and the person has money in their account, right?

1063
00:52:59,448 --> 00:53:00,448
So, these are things that you can exchange

1064
00:53:01,448 --> 00:53:02,448
as reputational proofs in the process.

1065
00:53:03,448 --> 00:53:05,448
And the last thing I'll note is that the protocol is built

1066
00:53:06,448 --> 00:53:08,448
on a generalized, decentralized app platform.

1067
00:53:09,448 --> 00:53:10,448
So, this is kind of the first app we're building on top of it.

1068
00:53:11,448 --> 00:53:14,448
And we'll have more news about that platform in the coming months.

1069
00:53:15,448 --> 00:53:17,448
Okay, let me say it back to you.

1070
00:53:17,448 --> 00:53:19,448
So, TVDEX is a messaging protocol

1071
00:53:20,448 --> 00:53:25,448
that I can use to discover people or financial institutions.

1072
00:53:26,448 --> 00:53:30,448
So, if I'm using it to discover other people,

1073
00:53:31,448 --> 00:53:34,448
could it be used in a peer-to-peer sort of local Bitcoin type of way?

1074
00:53:35,448 --> 00:53:36,448
Absolutely, yeah.

1075
00:53:37,448 --> 00:53:38,448
So, the protocol, the use of decentralized identifiers in the protocol

1076
00:53:39,448 --> 00:53:41,448
enables you to find any participants

1077
00:53:42,448 --> 00:53:44,448
in whatever type of value exchange you want to do,

1078
00:53:44,448 --> 00:53:47,448
whether it's currency or just any other type of good,

1079
00:53:48,448 --> 00:53:49,448
and then be able to communicate with them

1080
00:53:50,448 --> 00:53:51,448
privately, securely, and encrypted,

1081
00:53:52,448 --> 00:53:53,448
exchange reputational proofs,

1082
00:53:54,448 --> 00:53:55,448
and sort of come to agreement about, you know,

1083
00:53:56,448 --> 00:53:58,448
selling and buying of any type of goods.

1084
00:53:59,448 --> 00:54:01,448
Okay, so I can discover other people.

1085
00:54:02,448 --> 00:54:03,448
So, let's say Alice and Bob,

1086
00:54:04,448 --> 00:54:05,448
our friends Alice and Bob,

1087
00:54:06,448 --> 00:54:08,448
meet by way of the TVDEX protocol.

1088
00:54:09,448 --> 00:54:11,448
So, they can transact Bitcoin, of course.

1089
00:54:11,448 --> 00:54:14,448
What other types of things can Alice and Bob do

1090
00:54:15,448 --> 00:54:16,448
now that they've found each other?

1091
00:54:17,448 --> 00:54:18,448
It's so romantic.

1092
00:54:20,448 --> 00:54:21,448
This question is for Chris.

1093
00:54:22,448 --> 00:54:23,448
What else could they do now?

1094
00:54:25,448 --> 00:54:27,448
Yeah, once they've found each other,

1095
00:54:28,448 --> 00:54:30,448
they can build things like discrete log contracts.

1096
00:54:31,448 --> 00:54:32,448
But what I would have to say to the audience

1097
00:54:33,448 --> 00:54:34,448
is what I think Bitcoiners get right

1098
00:54:35,448 --> 00:54:38,448
is they're really focused on censorship-resistant money.

1099
00:54:39,448 --> 00:54:40,448
And I think we all in this room agree

1100
00:54:41,448 --> 00:54:43,448
that that's kind of one of the core principles of Bitcoin.

1101
00:54:44,448 --> 00:54:45,448
You can spend your Bitcoin how you want to.

1102
00:54:46,448 --> 00:54:47,448
What I think Bitcoiners get wrong

1103
00:54:48,448 --> 00:54:50,448
is they stop at censorship-resistant money

1104
00:54:51,448 --> 00:54:53,448
and don't advocate for censorship-resistant financial markets.

1105
00:54:54,448 --> 00:54:56,448
What my understanding of TVDEX and BISC,

1106
00:54:57,448 --> 00:54:58,448
which Wiz works on,

1107
00:54:59,448 --> 00:55:00,448
is that's what they're providing

1108
00:55:01,448 --> 00:55:02,448
is censorship-resistant financial markets

1109
00:55:03,448 --> 00:55:04,448
where people can trade different things.

1110
00:55:05,448 --> 00:55:06,448
Bitcoiners sometimes get up in arms

1111
00:55:07,448 --> 00:55:08,448
about what's being traded

1112
00:55:09,448 --> 00:55:10,448
on these censorship-resistant financial markets

1113
00:55:11,448 --> 00:55:12,448
because it's a token they don't like

1114
00:55:13,448 --> 00:55:15,448
or it's economic activity that they aren't fans of.

1115
00:55:16,448 --> 00:55:17,448
But if something's censorship-resistant,

1116
00:55:18,448 --> 00:55:19,448
you can't pick and choose

1117
00:55:20,448 --> 00:55:21,448
what you like and what you don't like.

1118
00:55:22,448 --> 00:55:24,448
It's a platform either everybody can use for everything

1119
00:55:25,448 --> 00:55:26,448
or nobody can use because it's going to get coerced

1120
00:55:27,448 --> 00:55:30,448
and co-opted by a government or a large corporation.

1121
00:55:32,448 --> 00:55:34,448
Okay, so then on that topic of censorship-resistance,

1122
00:55:35,448 --> 00:55:37,448
I feel like we're all going to have something to say on this,

1123
00:55:38,448 --> 00:55:39,448
and it's important to everyone here.

1124
00:55:39,448 --> 00:55:44,448
But Wiz, how does censorship-resistance play into BISC?

1125
00:55:45,448 --> 00:55:46,448
Yeah, that's a good question.

1126
00:55:47,448 --> 00:55:50,448
BISC is basically a decentralized exchange platform,

1127
00:55:51,448 --> 00:55:52,448
which means that it's a peer-to-peer network

1128
00:55:53,448 --> 00:55:54,448
running over Tor

1129
00:55:55,448 --> 00:55:56,448
where everyone running the BISC node software

1130
00:55:57,448 --> 00:55:58,448
on their computer connects to each other

1131
00:55:59,448 --> 00:56:00,448
and exchanges the order books.

1132
00:56:01,448 --> 00:56:03,448
And this allows users to make offers or take offers

1133
00:56:04,448 --> 00:56:05,448
and connect to each other.

1134
00:56:06,448 --> 00:56:08,448
And because there is no centralized network

1135
00:56:09,448 --> 00:56:10,448
with servers anywhere,

1136
00:56:11,448 --> 00:56:14,448
it just achieves censorship-resistance

1137
00:56:15,448 --> 00:56:16,448
by being decentralized in nature.

1138
00:56:17,448 --> 00:56:19,448
There's no BISC office or BISC company to shut down.

1139
00:56:20,448 --> 00:56:21,448
It's more of a trade protocol.

1140
00:56:25,448 --> 00:56:26,448
Okay, so can it be stopped?

1141
00:56:27,448 --> 00:56:28,448
Can it be shut down?

1142
00:56:29,448 --> 00:56:32,448
I guess if Tor had some issues,

1143
00:56:33,448 --> 00:56:34,448
which has happened in the past, sure.

1144
00:56:35,448 --> 00:56:38,448
I mean, BISC is also governed by a DAO

1145
00:56:39,448 --> 00:56:41,448
which manages the parameters of the network

1146
00:56:42,448 --> 00:56:43,448
like what the trading fees are and like this

1147
00:56:44,448 --> 00:56:47,448
and other limits or payment methods.

1148
00:56:48,448 --> 00:56:49,448
These are all controlled by the DAO

1149
00:56:50,448 --> 00:56:53,448
which has a kind of like a unique governance structure.

1150
00:56:54,448 --> 00:56:56,448
Basically, they have their own shitcoin token

1151
00:56:57,448 --> 00:56:58,448
where they do the voting.

1152
00:56:59,448 --> 00:57:01,448
And the DAO stakeholders can vote

1153
00:57:02,448 --> 00:57:03,448
to change certain parameters.

1154
00:57:04,448 --> 00:57:06,448
But the DAO stakeholders are not known.

1155
00:57:06,448 --> 00:57:09,448
And so because of their relative anonymity

1156
00:57:10,448 --> 00:57:11,448
and the decentralized nature,

1157
00:57:12,448 --> 00:57:13,448
it's not easily censorable.

1158
00:57:15,448 --> 00:57:16,448
Okay.

1159
00:57:17,448 --> 00:57:19,448
Do you think the shitcoin token is really necessary?

1160
00:57:20,448 --> 00:57:21,448
No, personally, I don't.

1161
00:57:22,448 --> 00:57:23,448
I don't use it.

1162
00:57:24,448 --> 00:57:25,448
I'm a Bitcoiner, you know.

1163
00:57:26,448 --> 00:57:28,448
And you don't need to use their shitcoin to use BISC.

1164
00:57:29,448 --> 00:57:31,448
You can just pay the trade fees in good old SATs

1165
00:57:32,448 --> 00:57:33,448
and it works great.

1166
00:57:34,448 --> 00:57:35,448
It's only if you really want to participate

1167
00:57:36,448 --> 00:57:37,448
in the network

1168
00:57:38,448 --> 00:57:39,448
which is mostly just the contributors anyway

1169
00:57:40,448 --> 00:57:41,448
at the end of the day.

1170
00:57:42,448 --> 00:57:43,448
So I'm curious for the audience,

1171
00:57:44,448 --> 00:57:45,448
how many of you are customers of BISC?

1172
00:57:46,448 --> 00:57:47,448
How many of you are passionate about

1173
00:57:48,448 --> 00:57:50,448
peer-to-peer Bitcoin exchange generally?

1174
00:57:51,448 --> 00:57:53,448
How many of you find local Bitcoiners in your area

1175
00:57:54,448 --> 00:57:56,448
and exchange cash for Bitcoin?

1176
00:57:57,448 --> 00:57:58,448
And how many of you earn Bitcoin,

1177
00:57:59,448 --> 00:58:00,448
get paid in Bitcoin

1178
00:58:01,448 --> 00:58:03,448
which is one of the best ways of getting KYC-free Bitcoin?

1179
00:58:04,448 --> 00:58:06,448
So, speaking of KYC,

1180
00:58:07,448 --> 00:58:08,448
Wiz, I'm sure you're going to have

1181
00:58:09,448 --> 00:58:10,448
a hot take on this as well.

1182
00:58:11,448 --> 00:58:13,448
You know, there is illicit activity

1183
00:58:14,448 --> 00:58:15,448
happening on Bitcoin

1184
00:58:16,448 --> 00:58:18,448
and the illicit activity is KYC.

1185
00:58:19,448 --> 00:58:20,448
Know your customer.

1186
00:58:21,448 --> 00:58:23,448
Is KYC going to be necessary

1187
00:58:24,448 --> 00:58:25,448
on decentralized exchanges?

1188
00:58:26,448 --> 00:58:27,448
No, if it's a peer-to-peer exchange

1189
00:58:28,448 --> 00:58:29,448
then the only two people

1190
00:58:30,448 --> 00:58:31,448
who need to know about each other

1191
00:58:31,448 --> 00:58:33,448
are the two counterparties of the transaction.

1192
00:58:34,448 --> 00:58:36,448
Because it's purely decentralized in nature

1193
00:58:37,448 --> 00:58:38,448
and there is no regulator

1194
00:58:39,448 --> 00:58:40,448
enforcing any rules,

1195
00:58:41,448 --> 00:58:42,448
it's purely peer-to-peer.

1196
00:58:43,448 --> 00:58:44,448
So it's kind of like Craigslist

1197
00:58:45,448 --> 00:58:46,448
if you post an ad to sell your sofa

1198
00:58:47,448 --> 00:58:48,448
and someone buys it.

1199
00:58:49,448 --> 00:58:50,448
The only two people who know about

1200
00:58:51,448 --> 00:58:52,448
the details of that transaction

1201
00:58:53,448 --> 00:58:54,448
are the buyer and the seller.

1202
00:58:55,448 --> 00:58:56,448
And that's exactly how it works on BISC.

1203
00:58:57,448 --> 00:58:58,448
The only person you send your bank details,

1204
00:58:59,448 --> 00:59:00,448
for example, would be to the other guy.

1205
00:59:01,448 --> 00:59:02,448
They're not supposed to snitch on each other.

1206
00:59:03,448 --> 00:59:05,448
So it achieves a very nice level of privacy

1207
00:59:06,448 --> 00:59:08,448
and also censorship resistance this way.

1208
00:59:09,448 --> 00:59:11,448
I just want to chime in here

1209
00:59:12,448 --> 00:59:13,448
because I think it's a really important point

1210
00:59:14,448 --> 00:59:15,448
what Wiz is bringing up here.

1211
00:59:16,448 --> 00:59:17,448
You can start with something that's

1212
00:59:18,448 --> 00:59:19,448
censorship resistant

1213
00:59:20,448 --> 00:59:21,448
and doesn't have AML KYC at the base layer

1214
00:59:22,448 --> 00:59:23,448
and you can always add it on top

1215
00:59:24,448 --> 00:59:25,448
if that's a feature that is required.

1216
00:59:26,448 --> 00:59:27,448
And I think that's an acceptable trade-off.

1217
00:59:28,448 --> 00:59:29,448
But if you bake in all these regulations

1218
00:59:29,448 --> 00:59:30,448
at the base layer,

1219
00:59:31,448 --> 00:59:32,448
you can never have something

1220
00:59:33,448 --> 00:59:34,448
that's no AML KYC on top of that.

1221
00:59:35,448 --> 00:59:36,448
So getting these levels of the stack

1222
00:59:37,448 --> 00:59:38,448
engineered correctly are really important.

1223
00:59:39,448 --> 00:59:40,448
And that's kind of one of the core innovations

1224
00:59:41,448 --> 00:59:42,448
of Bitcoin in my opinion

1225
00:59:43,448 --> 00:59:44,448
is we have this censorship resistant money,

1226
00:59:45,448 --> 00:59:46,448
this strictly computer protocol,

1227
00:59:47,448 --> 00:59:48,448
and we can build financial institutions

1228
00:59:49,448 --> 00:59:50,448
on top of it.

1229
00:59:51,448 --> 00:59:52,448
Many financial institutions have been

1230
00:59:53,448 --> 00:59:54,448
super successful built on top of Bitcoin.

1231
00:59:55,448 --> 00:59:56,448
But we can't go the opposite way.

1232
00:59:57,448 --> 00:59:58,448
So when thinking about designing these things,

1233
00:59:59,448 --> 01:00:00,448
you need to get the base level right

1234
01:00:01,448 --> 01:00:02,448
without these things baked in.

1235
01:00:03,448 --> 01:00:04,448
And if you want to add them on top,

1236
01:00:05,448 --> 01:00:06,448
go for it.

1237
01:00:07,448 --> 01:00:08,448
That's my two sads on that.

1238
01:00:09,448 --> 01:00:10,448
All right.

1239
01:00:11,448 --> 01:00:12,448
Why don't we back up?

1240
01:00:13,448 --> 01:00:14,448
We've talked about TBDEX,

1241
01:00:15,448 --> 01:00:16,448
but why don't we start with why?

1242
01:00:17,448 --> 01:00:18,448
Why decentralized exchanges?

1243
01:00:19,448 --> 01:00:20,448
Why does this matter

1244
01:00:21,448 --> 01:00:22,448
and why should we care?

1245
01:00:23,448 --> 01:00:24,448
Josef, I'd love to hear from you.

1246
01:00:25,448 --> 01:00:26,448
Yeah, so decentralized exchanges for me

1247
01:00:27,448 --> 01:00:28,448
are important for three reasons.

1248
01:00:29,448 --> 01:00:30,448
First is,

1249
01:00:31,448 --> 01:00:32,448
you are actually forced to self-custody

1250
01:00:33,448 --> 01:00:34,448
your Bitcoin from the start

1251
01:00:35,448 --> 01:00:36,448
because these exchanges

1252
01:00:37,448 --> 01:00:38,448
never hold your keys for you.

1253
01:00:39,448 --> 01:00:40,448
And unfortunately,

1254
01:00:41,448 --> 01:00:42,448
the default setting for centralized exchanges

1255
01:00:43,448 --> 01:00:44,448
is they are the custodians

1256
01:00:45,448 --> 01:00:47,448
and people tend to not withdraw their coins.

1257
01:00:48,448 --> 01:00:49,448
So that's the first one, self-custody.

1258
01:00:50,448 --> 01:00:51,448
The second one is

1259
01:00:52,448 --> 01:00:53,448
you actually get to use Bitcoin as a protocol

1260
01:00:54,448 --> 01:00:55,448
because on centralized exchanges

1261
01:00:56,448 --> 01:00:57,448
you usually just buy

1262
01:00:57,448 --> 01:00:58,448
some kind of weird financial derivative

1263
01:00:59,448 --> 01:01:00,448
that's maybe

1264
01:01:01,448 --> 01:01:02,448
settlable in physical Bitcoin

1265
01:01:03,448 --> 01:01:04,448
if you withdraw,

1266
01:01:05,448 --> 01:01:06,448
but most people don't withdraw

1267
01:01:07,448 --> 01:01:08,448
from these exchanges,

1268
01:01:09,448 --> 01:01:10,448
so they don't actually get to use Bitcoin,

1269
01:01:11,448 --> 01:01:12,448
whereas at BISC

1270
01:01:13,448 --> 01:01:14,448
you use multisig,

1271
01:01:15,448 --> 01:01:16,448
you are confronted with

1272
01:01:17,448 --> 01:01:18,448
handling your private keys

1273
01:01:19,448 --> 01:01:20,448
and with miner fees and stuff.

1274
01:01:21,448 --> 01:01:22,448
And the third one

1275
01:01:23,448 --> 01:01:24,448
is the privacy aspect.

1276
01:01:25,448 --> 01:01:26,448
There is no KYC,

1277
01:01:27,448 --> 01:01:28,448
everybody knows some of your details

1278
01:01:29,448 --> 01:01:30,448
but there is no reason to snitch,

1279
01:01:31,448 --> 01:01:32,448
as we said.

1280
01:01:33,448 --> 01:01:34,448
And KYC is this whole,

1281
01:01:35,448 --> 01:01:36,448
like you said,

1282
01:01:37,448 --> 01:01:38,448
that's the elicit activity,

1283
01:01:39,448 --> 01:01:40,448
that's the thing,

1284
01:01:41,448 --> 01:01:42,448
because it stays with you

1285
01:01:43,448 --> 01:01:44,448
and once you KYC yourself

1286
01:01:45,448 --> 01:01:46,448
it's hard to get rid of

1287
01:01:47,448 --> 01:01:48,448
because these exchanges

1288
01:01:49,448 --> 01:01:50,448
employ the chain analytic companies

1289
01:01:51,448 --> 01:01:52,448
and privacy in Bitcoin is hard

1290
01:01:53,448 --> 01:01:54,448
and if you dox yourself at the start

1291
01:01:55,448 --> 01:01:56,448
it's very hard

1292
01:01:57,448 --> 01:01:58,448
to correct that.

1293
01:02:00,448 --> 01:02:01,448
Yeah, that's a great topic actually

1294
01:02:02,448 --> 01:02:03,448
of privacy in general.

1295
01:02:04,448 --> 01:02:05,448
I'm curious for Wiz,

1296
01:02:06,448 --> 01:02:07,448
what kind of privacy information

1297
01:02:08,448 --> 01:02:09,448
would I be concerned about,

1298
01:02:10,448 --> 01:02:11,448
say leaking to my counterparty

1299
01:02:12,448 --> 01:02:13,448
if I'm exchanging peer-to-peer on BISC?

1300
01:02:14,448 --> 01:02:15,448
Yeah, that's a good question.

1301
01:02:16,448 --> 01:02:17,448
It really depends on the payment method.

1302
01:02:18,448 --> 01:02:19,448
The most private might be

1303
01:02:20,448 --> 01:02:21,448
meeting in person at the Starbucks

1304
01:02:22,448 --> 01:02:23,448
and just handing cash to someone.

1305
01:02:24,448 --> 01:02:25,448
There's also

1306
01:02:25,448 --> 01:02:26,448
US Postal Money Order.

1307
01:02:27,448 --> 01:02:28,448
You can physically mail

1308
01:02:29,448 --> 01:02:30,448
a money order to someone

1309
01:02:31,448 --> 01:02:32,448
for like a thousand bucks

1310
01:02:33,448 --> 01:02:34,448
and the post office website

1311
01:02:35,448 --> 01:02:36,448
allows you to verify

1312
01:02:37,448 --> 01:02:38,448
that the money order serial number

1313
01:02:39,448 --> 01:02:40,448
and the amount,

1314
01:02:41,448 --> 01:02:42,448
everything was cashed or not cashed

1315
01:02:43,448 --> 01:02:44,448
so you can verify

1316
01:02:45,448 --> 01:02:46,448
without going through the banking system

1317
01:02:47,448 --> 01:02:48,448
but also be able to send the money.

1318
01:02:49,448 --> 01:02:50,448
Of course if you use a payment method

1319
01:02:51,448 --> 01:02:52,448
like a bank transfer

1320
01:02:53,448 --> 01:02:54,448
then you'll need to send

1321
01:02:55,448 --> 01:02:56,448
the other guy's interest

1322
01:02:57,448 --> 01:02:58,448
to save those

1323
01:02:59,448 --> 01:03:00,448
or dox you for any reason.

1324
01:03:01,448 --> 01:03:02,448
So there's different trade-offs

1325
01:03:03,448 --> 01:03:04,448
with different payment methods.

1326
01:03:05,448 --> 01:03:06,448
Some of them are faster or slower.

1327
01:03:07,448 --> 01:03:08,448
Some of them are more expensive or cheaper.

1328
01:03:09,448 --> 01:03:10,448
Some of them are more private or less private.

1329
01:03:11,448 --> 01:03:12,448
And it also depends on the country.

1330
01:03:13,448 --> 01:03:14,448
If you're in Japan for example

1331
01:03:15,448 --> 01:03:16,448
you can actually do

1332
01:03:17,448 --> 01:03:18,448
anonymous bank transfers.

1333
01:03:19,448 --> 01:03:20,448
If you're in the US

1334
01:03:21,448 --> 01:03:22,448
the Postal Money Order is excellent

1335
01:03:23,448 --> 01:03:24,448
but every country has their own

1336
01:03:25,448 --> 01:03:26,448
on your threat model I guess.

1337
01:03:30,448 --> 01:03:31,448
So cash in the mail,

1338
01:03:32,448 --> 01:03:33,448
cash in person.

1339
01:03:34,448 --> 01:03:35,448
I mean I don't own any bitcoin

1340
01:03:36,448 --> 01:03:37,448
but if I did...

1341
01:03:38,448 --> 01:03:39,448
A lot of people in the crowd do though.

1342
01:03:40,448 --> 01:03:41,448
If I did I would use

1343
01:03:42,448 --> 01:03:43,448
the US Postal Money Order system on BISC.

1344
01:03:44,448 --> 01:03:45,448
It's pretty cool

1345
01:03:46,448 --> 01:03:47,448
because it's basically how people

1346
01:03:48,448 --> 01:03:49,448
sent money to each other before banks

1347
01:03:50,448 --> 01:03:51,448
were what they are today

1348
01:03:52,448 --> 01:03:53,448
and because the post office

1349
01:03:53,448 --> 01:03:54,448
has this really cool website

1350
01:03:55,448 --> 01:03:56,448
where you can verify everything

1351
01:03:57,448 --> 01:03:58,448
no one can claim that you didn't

1352
01:03:59,448 --> 01:04:00,448
send them the money or everything.

1353
01:04:01,448 --> 01:04:02,448
It shows what post office

1354
01:04:03,448 --> 01:04:04,448
it was cashed at and everything

1355
01:04:05,448 --> 01:04:06,448
so it's really well built

1356
01:04:07,448 --> 01:04:08,448
for BISC users in the United States.

1357
01:04:09,448 --> 01:04:10,448
I noticed that Strike is one option.

1358
01:04:11,448 --> 01:04:12,448
What kind of privacy

1359
01:04:13,448 --> 01:04:14,448
would I be expected to leak

1360
01:04:15,448 --> 01:04:16,448
say if I were to use Strike

1361
01:04:17,448 --> 01:04:18,448
to pay on BISC?

1362
01:04:19,448 --> 01:04:20,448
I guess Strike is

1363
01:04:21,448 --> 01:04:22,448
a newer payment option.

1364
01:04:23,448 --> 01:04:24,448
I don't have a Strike account

1365
01:04:25,448 --> 01:04:26,448
so I've never used it

1366
01:04:27,448 --> 01:04:28,448
but if that's true

1367
01:04:29,448 --> 01:04:30,448
then I would assume it works

1368
01:04:31,448 --> 01:04:32,448
like any other payment method.

1369
01:04:33,448 --> 01:04:34,448
I mean obviously Strike

1370
01:04:35,448 --> 01:04:36,448
you need to connect to your bank account

1371
01:04:37,448 --> 01:04:38,448
but the counterparty

1372
01:04:39,448 --> 01:04:40,448
wouldn't be able to see that.

1373
01:04:41,448 --> 01:04:42,448
Right. I believe they receive fiat

1374
01:04:43,448 --> 01:04:44,448
on the other side of that trade

1375
01:04:45,448 --> 01:04:46,448
so that's a great I think payment method

1376
01:04:47,448 --> 01:04:48,448
that now exists on BISC.

1377
01:04:48,448 --> 01:04:49,448
I've got like a thousand questions

1378
01:04:50,448 --> 01:04:51,448
for Daniel

1379
01:04:52,448 --> 01:04:53,448
and I think we're probably

1380
01:04:54,448 --> 01:04:55,448
not going to have enough time.

1381
01:04:56,448 --> 01:04:57,448
We'll probably have to talk later

1382
01:04:58,448 --> 01:04:59,448
but I'm curious to hear more

1383
01:05:00,448 --> 01:05:01,448
about TBDEX.

1384
01:05:02,448 --> 01:05:03,448
My understanding is that

1385
01:05:04,448 --> 01:05:05,448
TBDEX cannot exist without

1386
01:05:06,448 --> 01:05:07,448
some kind of verifiable credential

1387
01:05:08,448 --> 01:05:09,448
some kind of system of trust.

1388
01:05:10,448 --> 01:05:11,448
Right.

1389
01:05:12,448 --> 01:05:13,448
And the reason for that is

1390
01:05:14,448 --> 01:05:15,448
because Bitcoin of course is

1391
01:05:16,448 --> 01:05:17,448
trustless but the fiat system

1392
01:05:18,448 --> 01:05:19,448
when you're exchanging with another person

1393
01:05:20,448 --> 01:05:21,448
there is some level of trust

1394
01:05:22,448 --> 01:05:23,448
that's going to be required.

1395
01:05:24,448 --> 01:05:25,448
Now my understanding is that

1396
01:05:26,448 --> 01:05:27,448
TBDEX is predicated upon

1397
01:05:28,448 --> 01:05:29,448
decentralized identity

1398
01:05:30,448 --> 01:05:31,448
or DID for short.

1399
01:05:32,448 --> 01:05:33,448
And again if you could explain like I'm five

1400
01:05:34,448 --> 01:05:35,448
or preferably explain like I'm four

1401
01:05:36,448 --> 01:05:37,448
what is DID

1402
01:05:38,448 --> 01:05:39,448
and how is it used by DEX?

1403
01:05:40,448 --> 01:05:41,448
Yeah so DID is

1404
01:05:42,448 --> 01:05:43,448
the standard that has

1405
01:05:44,448 --> 01:05:45,448
gone through international standardization

1406
01:05:46,448 --> 01:05:47,448
at W3C.

1407
01:05:48,448 --> 01:05:49,448
It allows you to create

1408
01:05:50,448 --> 01:05:51,448
identifiers that are wholly yours

1409
01:05:52,448 --> 01:05:53,448
that you can rotate keys under

1410
01:05:54,448 --> 01:05:55,448
and you can prove so unlike an email address

1411
01:05:56,448 --> 01:05:57,448
you actually own your identifier

1412
01:05:58,448 --> 01:05:59,448
and can have the full

1413
01:06:00,448 --> 01:06:01,448
routability to like

1414
01:06:02,448 --> 01:06:03,448
to send messages to someone.

1415
01:06:04,448 --> 01:06:05,448
You can have multiple identifiers

1416
01:06:06,448 --> 01:06:07,448
and we encourage that.

1417
01:06:08,448 --> 01:06:09,448
It's not like one identifier

1418
01:06:10,448 --> 01:06:11,448
and you keep using it everywhere

1419
01:06:12,448 --> 01:06:13,448
to correlate yourself.

1420
01:06:14,448 --> 01:06:15,448
Like you want to retain privacy.

1421
01:06:16,448 --> 01:06:17,448
And then the other big component

1422
01:06:18,448 --> 01:06:19,448
is you don't need proofs of anything.

1423
01:06:20,448 --> 01:06:21,448
You can prove a diploma or whatever.

1424
01:06:22,448 --> 01:06:23,448
In this case you might

1425
01:06:24,448 --> 01:06:25,448
prove KYC details

1426
01:06:26,448 --> 01:06:27,448
or reputational proofs

1427
01:06:28,448 --> 01:06:29,448
if it's like peer-to-peer

1428
01:06:30,448 --> 01:06:31,448
and you don't need like a KYC component.

1429
01:06:32,448 --> 01:06:33,448
It's just modeling it with a standard.

1430
01:06:34,448 --> 01:06:35,448
So whatever your form of reputation

1431
01:06:36,448 --> 01:06:37,448
or proof is

1432
01:06:38,448 --> 01:06:39,448
we're trying to use these

1433
01:06:40,448 --> 01:06:41,448
standardized forms for it.

1434
01:06:42,448 --> 01:06:43,448
That's really interesting

1435
01:06:44,448 --> 01:06:45,448
because in BISC there is no identity system.

1436
01:06:46,448 --> 01:06:47,448
There is no reputation system.

1437
01:06:48,448 --> 01:06:49,448
Your security deposit system

1438
01:06:50,448 --> 01:06:51,448
is financially disincentivized.

1439
01:06:52,448 --> 01:06:53,448
So in BISC there is no identity system

1440
01:06:54,448 --> 01:06:55,448
because we want privacy.

1441
01:06:56,448 --> 01:06:57,448
We want anonymity.

1442
01:06:58,448 --> 01:06:59,448
You could create a new BISC account

1443
01:07:00,448 --> 01:07:01,448
for every trade

1444
01:07:02,448 --> 01:07:03,448
or you could use the same one.

1445
01:07:04,448 --> 01:07:05,448
There is no identity.

1446
01:07:06,448 --> 01:07:07,448
Yeah I think there's a misnomer

1447
01:07:08,448 --> 01:07:09,448
with identity.

1448
01:07:10,448 --> 01:07:11,448
You hear the word identity

1449
01:07:12,448 --> 01:07:13,448
people get really scared.

1450
01:07:14,448 --> 01:07:15,448
Identity just means

1451
01:07:16,448 --> 01:07:17,448
an identifier you use

1452
01:07:18,448 --> 01:07:19,448
you don't have a reputation

1453
01:07:20,448 --> 01:07:21,448
you're just using it to do the messaging exchange

1454
01:07:22,448 --> 01:07:23,448
and that's kind of how we work it.

1455
01:07:24,448 --> 01:07:25,448
And so identity

1456
01:07:26,448 --> 01:07:27,448
you have an identity

1457
01:07:28,448 --> 01:07:29,448
but you may have many facets of your identity

1458
01:07:30,448 --> 01:07:31,448
you may have millions of identifiers

1459
01:07:32,448 --> 01:07:33,448
every website you go to you use a new one.

1460
01:07:34,448 --> 01:07:35,448
So we believe in exactly the same thing

1461
01:07:36,448 --> 01:07:37,448
it's just a standardized means

1462
01:07:38,448 --> 01:07:39,448
of locating people if you needed to

1463
01:07:40,448 --> 01:07:41,448
in a recurring fashion.

1464
01:07:42,448 --> 01:07:43,448
The other thing is

1465
01:07:44,448 --> 01:07:45,448
we want to make on and off ramping

1466
01:07:46,448 --> 01:07:47,448
to existing financial institutions easier

1467
01:07:48,448 --> 01:07:49,448
Bitcoin for 10 years

1468
01:07:50,448 --> 01:07:51,448
I want that as much as anyone

1469
01:07:52,448 --> 01:07:53,448
but the reality on the ground

1470
01:07:54,448 --> 01:07:55,448
is that we need to get more people into Bitcoin

1471
01:07:56,448 --> 01:07:57,448
so we have to bring the world with us

1472
01:07:58,448 --> 01:07:59,448
and that's part of the reason

1473
01:08:00,448 --> 01:08:01,448
why we added these features

1474
01:08:02,448 --> 01:08:03,448
that are totally optional

1475
01:08:04,448 --> 01:08:05,448
so that those institutions can start

1476
01:08:06,448 --> 01:08:07,448
helping by participating in the system

1477
01:08:08,448 --> 01:08:09,448
and increasing the number of people

1478
01:08:10,448 --> 01:08:11,448
who have Bitcoin.

1479
01:08:12,448 --> 01:08:13,448
So my question is

1480
01:08:14,448 --> 01:08:15,448
would TBD

1481
01:08:16,448 --> 01:08:17,448
DID be compatible

1482
01:08:18,448 --> 01:08:19,448
with FIDO too?

1483
01:08:20,448 --> 01:08:21,448
There's this open standard

1484
01:08:22,448 --> 01:08:23,448
for online identification

1485
01:08:24,448 --> 01:08:25,448
I believe FI's

1486
01:08:26,448 --> 01:08:27,448
Fast Identification Online

1487
01:08:28,448 --> 01:08:29,448
and Trezor supports that

1488
01:08:30,448 --> 01:08:31,448
so I could prove my identity

1489
01:08:32,448 --> 01:08:33,448
like credentials

1490
01:08:34,448 --> 01:08:35,448
not my real identity

1491
01:08:36,448 --> 01:08:37,448
but I'm the same person

1492
01:08:38,448 --> 01:08:39,448
like the last time

1493
01:08:40,448 --> 01:08:41,448
with signing some kind of cryptographic message.

1494
01:08:42,448 --> 01:08:43,448
Yeah so I actually worked on some FIDO stuff

1495
01:08:44,448 --> 01:08:45,448
while I was at Microsoft

1496
01:08:46,448 --> 01:08:47,448
I was on the identity security team

1497
01:08:48,448 --> 01:08:49,448
where we were looking at

1498
01:08:50,448 --> 01:08:51,448
towards the end of my tenure

1499
01:08:52,448 --> 01:08:53,448
they're doing extensions

1500
01:08:54,448 --> 01:08:55,448
so that your DID's are backed by keys you own

1501
01:08:56,448 --> 01:08:57,448
can go through that same existing standard

1502
01:08:58,448 --> 01:08:59,448
FIDO right now

1503
01:09:00,448 --> 01:09:01,448
the way it's designed

1504
01:09:02,448 --> 01:09:03,448
it sort of assumes that you're using a single key

1505
01:09:04,448 --> 01:09:05,448
just a non-rollable key

1506
01:09:06,448 --> 01:09:07,448
and the PKI source is like a centralized entity

1507
01:09:08,448 --> 01:09:09,448
so you have like a key

1508
01:09:10,448 --> 01:09:11,448
with a website

1509
01:09:12,448 --> 01:09:13,448
and you have to go register it with them

1510
01:09:14,448 --> 01:09:15,448
so it's kind of not designed to be decentralized

1511
01:09:16,448 --> 01:09:17,448
you can extend it though

1512
01:09:18,448 --> 01:09:19,448
so that it uses DID's instead

1513
01:09:20,448 --> 01:09:21,448
of centralized accounts

1514
01:09:22,448 --> 01:09:23,448
so there's ways that we can uplift these things

1515
01:09:24,448 --> 01:09:25,448
into more decentralized forms

1516
01:09:26,448 --> 01:09:27,448
I wanted to ask

1517
01:09:28,448 --> 01:09:29,448
if BISC sort of uses reputation

1518
01:09:30,448 --> 01:09:31,448
because there's the account age

1519
01:09:32,448 --> 01:09:33,448
is that right?

1520
01:09:34,448 --> 01:09:35,448
and number of trades I believe

1521
01:09:36,448 --> 01:09:37,448
and do you tend to choose these accounts first?

1522
01:09:38,448 --> 01:09:39,448
It depends on the payment method

1523
01:09:40,448 --> 01:09:41,448
so I think in the US

1524
01:09:42,448 --> 01:09:43,448
there's a payment method called Zelle

1525
01:09:44,448 --> 01:09:45,448
which is I guess

1526
01:09:46,448 --> 01:09:47,448
the common way to quickly send money

1527
01:09:48,448 --> 01:09:49,448
to your account

1528
01:09:50,448 --> 01:09:51,448
and because there is a very

1529
01:09:52,448 --> 01:09:53,448
small amount of chargeback risk

1530
01:09:54,448 --> 01:09:55,448
it's not zero

1531
01:09:56,448 --> 01:09:57,448
they implemented a

1532
01:09:58,448 --> 01:09:59,448
small limit for new accounts

1533
01:10:00,448 --> 01:10:01,448
and once you trade a few times

1534
01:10:02,448 --> 01:10:03,448
with other counterparties

1535
01:10:04,448 --> 01:10:05,448
who are signed

1536
01:10:06,448 --> 01:10:07,448
then they'll sign your account

1537
01:10:08,448 --> 01:10:09,448
to build this decentralized level of trust

1538
01:10:10,448 --> 01:10:11,448
they're not signing your identity so much

1539
01:10:12,448 --> 01:10:13,448
as they are the hash of your payment account

1540
01:10:14,448 --> 01:10:15,448
so I guess

1541
01:10:16,448 --> 01:10:17,448
you could consider that

1542
01:10:18,448 --> 01:10:19,448
a pseudonymous identity

1543
01:10:20,448 --> 01:10:21,448
I would call that a pseudonymous identity

1544
01:10:22,448 --> 01:10:23,448
any identifier you have in the world

1545
01:10:24,448 --> 01:10:25,448
if it's a point of reference

1546
01:10:26,448 --> 01:10:27,448
when we talk about identifiers

1547
01:10:28,448 --> 01:10:29,448
like email or even your at name on twitter

1548
01:10:30,448 --> 01:10:31,448
it's a point of reference

1549
01:10:32,448 --> 01:10:33,448
so if someone is able to accrue reputation

1550
01:10:34,448 --> 01:10:35,448
or use it in any way

1551
01:10:36,448 --> 01:10:37,448
it forms an identity

1552
01:10:38,448 --> 01:10:39,448
now let's not confuse personal identity

1553
01:10:40,448 --> 01:10:41,448
like you as a person

1554
01:10:42,448 --> 01:10:43,448
with that identity

1555
01:10:44,448 --> 01:10:45,448
identity just means

1556
01:10:46,448 --> 01:10:47,448
I could be a dog on the internet

1557
01:10:48,448 --> 01:10:49,448
it's a little overblown

1558
01:10:50,448 --> 01:10:51,448
piggybacking off that

1559
01:10:52,448 --> 01:10:53,448
I think maybe

1560
01:10:54,448 --> 01:10:55,448
one of the ways you can think about identity

1561
01:10:56,448 --> 01:10:57,448
is simply a public key

1562
01:10:58,448 --> 01:10:59,448
a public key is an identity

1563
01:11:00,448 --> 01:11:01,448
on the lightning network for instance

1564
01:11:02,448 --> 01:11:03,448
our identity is our public key

1565
01:11:04,448 --> 01:11:05,448
with an IP address

1566
01:11:06,448 --> 01:11:07,448
and that's how you connect

1567
01:11:08,448 --> 01:11:09,448
a question I have for you

1568
01:11:10,448 --> 01:11:11,448
to make this a little bit more concrete

1569
01:11:12,448 --> 01:11:13,448
would you say that

1570
01:11:14,448 --> 01:11:15,448
if DIDs should be included in the lightning spec

1571
01:11:16,448 --> 01:11:17,448
to be that form of identity

1572
01:11:18,448 --> 01:11:19,448
would DIDs compare and contrast

1573
01:11:20,448 --> 01:11:21,448
to the current form of identity

1574
01:11:22,448 --> 01:11:23,448
on the lightning network

1575
01:11:24,448 --> 01:11:25,448
which is the public key and IP address

1576
01:11:26,448 --> 01:11:27,448
yeah so I do

1577
01:11:28,448 --> 01:11:29,448
I think it would be great

1578
01:11:30,448 --> 01:11:31,448
if lightning did embrace the DID spec

1579
01:11:32,448 --> 01:11:33,448
the spec is not actually prescriptive

1580
01:11:34,448 --> 01:11:35,448
in terms of how you would implement

1581
01:11:36,448 --> 01:11:37,448
a decentralized identity network

1582
01:11:38,448 --> 01:11:39,448
like when I was at microsoft

1583
01:11:40,448 --> 01:11:41,448
and now block working with ion

1584
01:11:42,448 --> 01:11:43,448
which is like a layer 2 on bitcoin

1585
01:11:44,448 --> 01:11:45,448
to do DIDs

1586
01:11:46,448 --> 01:11:47,448
it's mostly a data model

1587
01:11:48,448 --> 01:11:49,448
so anyone in a standard way

1588
01:11:50,448 --> 01:11:51,448
can find the keys

1589
01:11:52,448 --> 01:11:53,448
and routing endpoints

1590
01:11:54,448 --> 01:11:55,448
how much data?

1591
01:11:56,448 --> 01:11:57,448
not much, it's not personal identity

1592
01:11:58,448 --> 01:11:59,448
the DIDs themselves don't have any

1593
01:12:00,448 --> 01:12:01,448
so a 33 byte public key

1594
01:12:02,448 --> 01:12:03,448
is what we have on lightning today

1595
01:12:04,448 --> 01:12:05,448
I'm guessing it's more than that

1596
01:12:06,448 --> 01:12:07,448
we're talking kilobytes, megabytes

1597
01:12:08,448 --> 01:12:09,448
maybe 2 kilobytes at max

1598
01:12:10,448 --> 01:12:11,448
it's just public keys

1599
01:12:12,448 --> 01:12:13,448
and routing references

1600
01:12:14,448 --> 01:12:15,448
it could be decentralized URIs

1601
01:12:16,448 --> 01:12:17,448
to how I message you

1602
01:12:18,448 --> 01:12:19,448
so it's really important

1603
01:12:20,448 --> 01:12:21,448
because I think it gives efficient lookups

1604
01:12:22,448 --> 01:12:23,448
and locational finding

1605
01:12:24,448 --> 01:12:25,448
that could be even better potentially

1606
01:12:26,448 --> 01:12:27,448
than some of the constructs in lightning

1607
01:12:28,448 --> 01:12:29,448
that are required because they're doing

1608
01:12:30,448 --> 01:12:31,448
pathfinding for liquidity and stuff

1609
01:12:32,448 --> 01:12:33,448
it kind of feels like

1610
01:12:34,448 --> 01:12:35,448
the more modern way to do

1611
01:12:36,448 --> 01:12:37,448
decentralized web of trust

1612
01:12:38,448 --> 01:12:39,448
like back in the day we would have

1613
01:12:40,448 --> 01:12:41,448
key signing parties

1614
01:12:42,448 --> 01:12:43,448
where you would meet in person

1615
01:12:44,448 --> 01:12:45,448
and sign each other's PGP key

1616
01:12:46,448 --> 01:12:47,448
but now it seems like maybe

1617
01:12:48,448 --> 01:12:49,448
the entry of corporations

1618
01:12:50,448 --> 01:12:52,448
that will basically KYC people

1619
01:12:53,448 --> 01:12:54,448
and sign their key for them

1620
01:12:55,448 --> 01:12:56,448
so you'll have like at wiz

1621
01:12:57,448 --> 01:12:58,448
at twitter for example

1622
01:12:59,448 --> 01:13:01,448
or maybe some block or square

1623
01:13:02,448 --> 01:13:03,448
you could be at wiz at square

1624
01:13:04,448 --> 01:13:05,448
and that's KYC'd

1625
01:13:06,448 --> 01:13:07,448
but if you're at wiz at bisc

1626
01:13:08,448 --> 01:13:09,448
or something, maybe it's not KYC'd

1627
01:13:10,448 --> 01:13:11,448
and depending on who signed

1628
01:13:12,448 --> 01:13:13,448
what keys you might want to

1629
01:13:14,448 --> 01:13:15,448
trade with this person

1630
01:13:16,448 --> 01:13:17,448
based on those things

1631
01:13:18,448 --> 01:13:19,448
so let's say in one context of your life

1632
01:13:20,448 --> 01:13:21,448
you use a given identifier

1633
01:13:22,448 --> 01:13:23,448
and you accrue reputational trust

1634
01:13:24,448 --> 01:13:25,448
like I get a degree from an institution

1635
01:13:26,448 --> 01:13:27,448
or something like that

1636
01:13:28,448 --> 01:13:29,448
those are all verifiable credentials

1637
01:13:30,448 --> 01:13:31,448
like LinkedIn may soon accept these

1638
01:13:32,448 --> 01:13:33,448
and say oh I can verify

1639
01:13:34,448 --> 01:13:35,448
that this institution

1640
01:13:36,448 --> 01:13:37,448
that has a DID

1641
01:13:38,448 --> 01:13:39,448
signed this proof

1642
01:13:40,448 --> 01:13:41,448
and it is you who's with zero knowledge

1643
01:13:42,448 --> 01:13:43,448
proving that you actually are

1644
01:13:44,448 --> 01:13:45,448
the holder of the keys that back it

1645
01:13:46,448 --> 01:13:47,448
so absolutely

1646
01:13:48,448 --> 01:13:49,448
but what about ZKP cryptography?

1647
01:13:50,448 --> 01:13:51,448
Oh no, I mean

1648
01:13:52,448 --> 01:13:53,448
so some of the credentials

1649
01:13:54,448 --> 01:13:55,448
definitely will use ZKP stuff

1650
01:13:56,448 --> 01:13:57,448
I worked on a snark construction

1651
01:13:58,448 --> 01:13:59,448
with MSR colleagues

1652
01:14:00,448 --> 01:14:01,448
when I was at Microsoft

1653
01:14:02,448 --> 01:14:03,448
that we are looking to implement

1654
01:14:04,448 --> 01:14:05,448
in the community

1655
01:14:06,448 --> 01:14:07,448
and it is a zero knowledge credential

1656
01:14:08,448 --> 01:14:09,448
that you could say

1657
01:14:10,448 --> 01:14:11,448
let's say a credential

1658
01:14:12,448 --> 01:14:13,448
had like 10 things you can prove in it

1659
01:14:14,448 --> 01:14:15,448
you could do selective disclosure

1660
01:14:16,448 --> 01:14:17,448
where you only want to disclose a few of them

1661
01:14:18,448 --> 01:14:19,448
or advanced construction credentials

1662
01:14:20,448 --> 01:14:21,448
well like I said Daniel

1663
01:14:22,448 --> 01:14:23,448
I'm going to have a thousand more questions for you after

1664
01:14:24,448 --> 01:14:25,448
so I hope you have some time later this week

1665
01:14:26,448 --> 01:14:27,448
and I want to say thank you so much

1666
01:14:28,448 --> 01:14:29,448
to all of the panelists

1667
01:14:30,448 --> 01:14:31,448
unfortunately that's all the time we have for today

1668
01:14:32,448 --> 01:14:33,448
I'm very excited for the future

1669
01:14:34,448 --> 01:14:35,448
of the re-decentralization

1670
01:14:36,448 --> 01:14:37,448
of the web

1671
01:14:38,448 --> 01:14:39,448
which will hopefully be using

1672
01:14:40,448 --> 01:14:41,448
some of these exciting technologies

1673
01:14:42,448 --> 01:14:43,448
that we discussed today

1674
01:14:44,448 --> 01:14:45,448
and which definitely will not be

1675
01:14:46,448 --> 01:14:47,448
some kind of web 3

1676
01:14:48,448 --> 01:14:49,448
like Dino

1677
01:14:50,448 --> 01:14:51,448
decentralized and name only blockchain

1678
01:14:52,448 --> 01:14:53,448
it's going to be

1679
01:14:54,448 --> 01:14:55,448
the real decentralized web

1680
01:14:56,448 --> 01:14:57,448
and it's going to use Bitcoin

1681
01:14:58,448 --> 01:14:59,448
and Bitcoin only

1682
01:15:00,448 --> 01:15:01,448
yeah absolutely

1683
01:15:08,845 --> 01:15:16,285
they weren't joking they really should have brought the sunglasses how's it going

1684
01:15:16,285 --> 01:15:22,445
guys so just a quick shot up to the guys doing the workshops at the back it is a

1685
01:15:22,445 --> 01:15:27,805
little bit noisy so if you want to have conversations please go on the outside

1686
01:15:27,805 --> 01:15:33,705
because you are you really are going to want to you you really are going to want

1687
01:15:33,705 --> 01:15:38,085
to hear what these these incredible people have to say today I think you can

1688
01:15:38,085 --> 01:15:42,005
come back in at 3 o'clock and use the tables to do your your workshops and

1689
01:15:42,005 --> 01:15:47,645
your and your hacky stuff after so I'm just just a note on that so yeah welcome

1690
01:15:47,645 --> 01:15:51,525
everyone thank you for for joining us today so we're going to be talking about

1691
01:15:51,525 --> 01:15:56,845
improving and 10x in the Bitcoin development experience I've got some

1692
01:15:56,845 --> 01:16:02,445
amazing panelists with me today so my name is Connor I work at spiral we're

1693
01:16:02,445 --> 01:16:09,345
focused on improving the Bitcoin open source ecosystem via a number of

1694
01:16:09,345 --> 01:16:13,425
different initiatives some of which will kind of go into detail today so we'll

1695
01:16:13,425 --> 01:16:17,345
start by just getting to know our panelists a little bit today so Steve if

1696
01:16:17,345 --> 01:16:20,945
you want to start sure yeah so I'm Steve Myers and I'm a contributor

1697
01:16:20,945 --> 01:16:24,465
art contributor on the Bitcoin dev kit project and my work is sponsored by

1698
01:16:24,465 --> 01:16:29,705
spiral as are a bunch of other developers on our project so and yeah

1699
01:16:29,705 --> 01:16:34,885
we'll talk about what PDK is in a bit hey I'm a Stephen Delorme I hang out in

1700
01:16:34,885 --> 01:16:40,125
the Bitcoin design community I guess I spent a lot of my time contributing to

1701
01:16:40,125 --> 01:16:45,365
the Bitcoin design guide and other open source design related projects in

1702
01:16:45,365 --> 01:16:52,965
Bitcoin hey I'm Matt Corallo I work on the lightning dev kit project sponsored

1703
01:16:52,965 --> 01:16:59,565
by spiral as well or I guess work for spiral so our goal being to allow

1704
01:16:59,565 --> 01:17:03,825
people to build custom lightning nodes and lightning integrations super easy

1705
01:17:03,825 --> 01:17:08,865
and we take all the hard work out of that okay okay awesome just just another

1706
01:17:08,865 --> 01:17:11,865
note again if you're if you want to have a conversation please please leave the

1707
01:17:11,865 --> 01:17:15,505
room and you can come back in about three o'clock to to use to do the works

1708
01:17:15,505 --> 01:17:20,265
and stuff but so again so we're gonna talk about like improving the Bitcoin

1709
01:17:20,265 --> 01:17:23,745
development experience but before we talk about some of the projects that are

1710
01:17:23,745 --> 01:17:28,785
aimed at doing that let's talk about what the experience has been like over

1711
01:17:28,785 --> 01:17:33,445
the past couple of years and trying to build Bitcoin wallets and other types of

1712
01:17:33,445 --> 01:17:38,005
applications maybe Steve if you wanna yeah sure so the way I came to the BDK

1713
01:17:38,005 --> 01:17:41,925
project was that I wanted I had a solo project I was working on I wanted to do

1714
01:17:41,925 --> 01:17:46,085
something on mobile with a Bitcoin on chain multi-sig and there's just not a

1715
01:17:46,085 --> 01:17:49,525
lot of great options you know like there was some stuff in Java but it doesn't

1716
01:17:49,525 --> 01:17:54,605
work on iOS and then of course a lot of them didn't have the latest modern

1717
01:17:54,605 --> 01:17:59,105
features that you would want in a in a Bitcoin wallet teamed up with Alekos

1718
01:17:59,105 --> 01:18:03,545
Fellini and he's got you know there's this great library that uses another

1719
01:18:03,545 --> 01:18:07,465
library set of projects called rust Bitcoin which provide you know all the

1720
01:18:07,465 --> 01:18:12,665
primitives you need and then you know put together with another rust Bitcoin

1721
01:18:12,665 --> 01:18:17,065
project for many scripts you get descriptor support and of course SegWit

1722
01:18:17,065 --> 01:18:21,825
and all you know talking to different Bitcoin backends it just you know

1723
01:18:21,825 --> 01:18:25,005
basically gives you all the features so then one of the things I focus on is

1724
01:18:25,005 --> 01:18:30,005
making that available on mobile so you know with Kotlin and Swift so you can

1725
01:18:30,005 --> 01:18:34,605
just you know as a developer you just can pick up this library now and build a

1726
01:18:34,605 --> 01:18:40,365
Bitcoin wallet for a desktop or mobile okay also and so some of some of these

1727
01:18:40,365 --> 01:18:44,765
libraries that existed over the last couple years I'm assuming they haven't

1728
01:18:44,765 --> 01:18:50,685
been as well maintained and it requires like developers to operate at a very like

1729
01:18:50,685 --> 01:18:55,425
low level when they're trying to integrate Bitcoin online is that yeah I

1730
01:18:55,425 --> 01:18:59,105
mean it's kind of the other thing about having a library like BDK and LDK is

1731
01:18:59,105 --> 01:19:03,405
that it's got sort of the best the best practices built in implemented in a way

1732
01:19:03,405 --> 01:19:07,665
that a lot of people have looked at and you know you can you know you don't have

1733
01:19:07,665 --> 01:19:12,665
to necessarily be a bits and bytes Bitcoin developer you can understand the

1734
01:19:12,665 --> 01:19:17,625
API and you know and just use it with a whole community kind of supporting you

1735
01:19:17,625 --> 01:19:21,445
behind it okay awesome and Matt you've been around in Bitcoin development for

1736
01:19:21,445 --> 01:19:26,725
some time like how do you kind of see how Bitcoin development has kind of us

1737
01:19:26,725 --> 01:19:31,965
yeah yeah so I mean I came at this from from I worked on Bitcoin core for many

1738
01:19:31,965 --> 01:19:37,165
many years and have now kind of moved over the lightning space you know

1739
01:19:37,165 --> 01:19:42,105
historically when I when I started working on Bitcoin many 11 years ago or

1740
01:19:42,105 --> 01:19:46,845
something there weren't any funding for Bitcoin core developers there weren't

1741
01:19:46,845 --> 01:19:50,865
even any full-time Bitcoin core developers now that you know obviously

1742
01:19:50,865 --> 01:19:54,465
Bitcoin core can always use more resources probably but but that's kind

1743
01:19:54,465 --> 01:19:58,265
of a soft problem you know you there's there's a ton of people working on

1744
01:19:58,265 --> 01:20:01,825
Bitcoin core Bitcoin core has a lot of a lot of really smart people working on it

1745
01:20:01,825 --> 01:20:06,305
you know there's there's room to grow but but everything further up the stack

1746
01:20:06,305 --> 01:20:10,945
doesn't right and so BDK has been been really awesome you know Steve talked

1747
01:20:10,945 --> 01:20:14,425
about all these like libraries that have been kind of one-offs that people have

1748
01:20:14,425 --> 01:20:17,325
thrown out in various languages and they're not well maintained and they're

1749
01:20:17,325 --> 01:20:21,965
not really all that usable and so you know having a common base for for on

1750
01:20:21,965 --> 01:20:26,365
chain stuff is awesome but you know we looked at it as the spiral team and we

1751
01:20:26,365 --> 01:20:30,025
also and we also concluded like there needs to be something like this for

1752
01:20:30,025 --> 01:20:35,845
lightning to write is that the lightning is is even more complicated than the on

1753
01:20:35,845 --> 01:20:39,805
chain stuff there's even more to get right there's even more to to do and

1754
01:20:39,805 --> 01:20:43,885
and we've seen several kind of mobile lightning wallets we've seen several

1755
01:20:43,905 --> 01:20:47,105
lightning wallets come around and it's a full-time job for a team of three or

1756
01:20:47,105 --> 01:20:51,225
four people to not only build a lightning implementation but actually

1757
01:20:51,225 --> 01:20:54,105
keep up with all of the changes happening in lightning and everything

1758
01:20:54,105 --> 01:20:59,305
going on in lightning and so our goal is to kind of abstract that out right and

1759
01:20:59,305 --> 01:21:04,705
there's make it so that you don't need a team of four full-time engineers to

1760
01:21:04,705 --> 01:21:11,845
build a great Bitcoin wallet where you know there's there's frankly some some

1761
01:21:11,845 --> 01:21:16,505
work to be done right there's there's some good wallets out there that need to

1762
01:21:16,505 --> 01:21:20,625
grow need to add lightning support need a little better UX here there need a

1763
01:21:20,625 --> 01:21:25,645
little better design help design community folks and and you know we want

1764
01:21:25,645 --> 01:21:30,705
to see a lot more especially things like Bitcoin beach wallet things like where

1765
01:21:30,705 --> 01:21:34,625
there's like a localized community that that has some local features they might

1766
01:21:34,625 --> 01:21:38,745
need or where you know integration with some local services makes more sense and

1767
01:21:38,925 --> 01:21:44,365
really enable people to build good user experiences around Bitcoin that you know

1768
01:21:44,365 --> 01:21:48,465
that it's just currently you have to be a great low-level engineer to do that

1769
01:21:48,465 --> 01:21:52,445
and finding a great low-level engineer who is also good at building you UX and

1770
01:21:52,445 --> 01:21:57,605
good design is not I mean basically it doesn't exist right and so trying to

1771
01:21:57,605 --> 01:22:00,925
abstract away that low-level stuff so that we can do all that work for you and

1772
01:22:00,925 --> 01:22:05,685
then you can focus on how do you build a great user experience okay okay amazing

1773
01:22:05,685 --> 01:22:13,185
amazing and so it's yeah it's like it's this idea of like allowing people who

1774
01:22:13,185 --> 01:22:16,865
operate at different levels in this in the stack to really specialize in

1775
01:22:16,865 --> 01:22:20,585
specific areas so like you say if you're a protocol engineer you can operate and

1776
01:22:20,585 --> 01:22:24,985
build the tools that make it easy for application developers to build front

1777
01:22:24,985 --> 01:22:29,305
ends and and who work with more UI and UX focus people they can really hone in

1778
01:22:29,305 --> 01:22:33,865
in those areas so we've kind of identified that the developer

1779
01:22:33,865 --> 01:22:38,965
experience is something that is pivotal to 10x in the Bitcoin development

1780
01:22:38,965 --> 01:22:45,805
experience Steve Myers and Macquarie you're working on some projects to do

1781
01:22:45,805 --> 01:22:50,365
that one being the BDK and the LDK so do you want to explain to the people what

1782
01:22:50,365 --> 01:22:54,745
what the BDK actually is right so a BDK stands for Bitcoin dev kit the name

1783
01:22:54,745 --> 01:23:00,365
inspired by LDK which had the similar name and the idea that we're focused is

1784
01:23:00,365 --> 01:23:05,525
on building descriptor based wallets so these are on-chain wallets and you

1785
01:23:05,525 --> 01:23:08,465
basically get all the modern features you know you have like I said so

1786
01:23:08,465 --> 01:23:13,905
descriptors are a way of defining the spending conditions for a wallet but

1787
01:23:13,905 --> 01:23:17,105
it's you know it provides you a way to create those scripts in a way that's

1788
01:23:17,105 --> 01:23:21,545
portable between different wallet implementations as well as well reviewed

1789
01:23:21,545 --> 01:23:24,305
and audited like you can easily look at a descriptor and figure out what it does

1790
01:23:24,305 --> 01:23:28,505
for some more complicated spending conditions and as Matt was saying you

1791
01:23:28,505 --> 01:23:32,405
know people might want to build applications for specific you know

1792
01:23:32,405 --> 01:23:35,925
specific communities but it could also be like you're a company and you want to

1793
01:23:35,925 --> 01:23:39,085
build something in-house that uses Bitcoin you can now you know you don't

1794
01:23:39,085 --> 01:23:42,525
need to have a bunch of Bitcoin protocol engineers in-house you can take

1795
01:23:42,525 --> 01:23:46,805
this library it's gonna be reviewed by you know the Bitcoin community you can

1796
01:23:46,805 --> 01:23:51,165
contribute back to it if you have no features we had one one person that was

1797
01:23:51,165 --> 01:23:55,885
contributing back to our project and he had a use where he wanted to do proof of

1798
01:23:55,885 --> 01:23:59,625
reserves so he could easily within his company create a proof of reserve library

1799
01:23:59,625 --> 01:24:03,425
using BDK and then you know release it both open-source and now any company

1800
01:24:03,425 --> 01:24:06,565
that has that need can can use these two libraries together it's just like an

1801
01:24:06,565 --> 01:24:10,825
example of somebody that you know didn't have to start from scratch and it's it's

1802
01:24:10,825 --> 01:24:14,185
a really important thing to that a lot of things are changing on LDK but things

1803
01:24:14,185 --> 01:24:18,305
are still changing on BDK to you know taproot is coming out you know it's

1804
01:24:18,305 --> 01:24:22,665
gonna be it's gonna be difficult for somebody to you know implement a

1805
01:24:22,845 --> 01:24:25,885
taproot wallet from scratch but you start with BDK and BDK is gonna be

1806
01:24:25,885 --> 01:24:29,005
supporting taproot now you can just immediately get that feature in whatever

1807
01:24:29,005 --> 01:24:33,285
application you're building so that's part of the power. Fantastic and on the

1808
01:24:33,285 --> 01:24:39,645
LDK side? Yeah I mean so basically the same thing right yeah but but on the

1809
01:24:39,645 --> 01:24:42,485
lightning side right so the lightning protocol like I mentioned it is it's

1810
01:24:42,485 --> 01:24:45,485
complicated and it's really hard to get right and it's really important you get

1811
01:24:45,485 --> 01:24:50,645
right you get it wrong you're you or your customers lose money and that's not

1812
01:24:51,145 --> 01:24:56,645
experience so so we try to you know do something similar where we do all of the

1813
01:24:56,645 --> 01:25:00,545
lightning state machine we do all of the the logic around how you how you route

1814
01:25:00,545 --> 01:25:04,085
payments and how you how you even forward payments if you're running a

1815
01:25:04,085 --> 01:25:11,665
non kind of mobile node and do all of that stuff and then we expose it as kind

1816
01:25:11,665 --> 01:25:14,105
of the individual building blocks and they all work well together and it's

1817
01:25:14,105 --> 01:25:17,305
easy to hook them up together or you can separate them out you can say I'm gonna

1818
01:25:17,305 --> 01:25:21,925
run the routing part on a server and I'm gonna query that from the client and

1819
01:25:21,925 --> 01:25:26,245
then I'm gonna do my backups by doing live updates against you know iCloud or

1820
01:25:26,245 --> 01:25:31,165
whatever you want to do you know we give just neat little interfaces for all of

1821
01:25:31,165 --> 01:25:34,765
the different pieces that aren't kind of cordal lightning but like how do you

1822
01:25:34,765 --> 01:25:39,605
store your data how do you where do you get your private keys from how do you

1823
01:25:39,605 --> 01:25:45,565
sync the chain all these kinds of things that you could have many different ways

1824
01:25:45,565 --> 01:25:49,185
you want to do it we provide just interfaces for that and you have to go

1825
01:25:49,185 --> 01:25:53,345
kind of hook it up to the right places but you don't have to do all of the kind

1826
01:25:53,345 --> 01:25:58,625
of hard work of building a lightning state machine and so we we do that in

1827
01:25:58,625 --> 01:26:02,425
rust as well and then have like BDK language bindings and in a number of

1828
01:26:02,425 --> 01:26:06,565
different languages and more continuing to come so the developers can kind of

1829
01:26:06,565 --> 01:26:10,665
focus on how they want to build a Bitcoin application and now they want to

1830
01:26:10,665 --> 01:26:17,405
have the UX work and we can just kind of make it easy to hook it up and have

1831
01:26:17,405 --> 01:26:24,165
lightning suddenly running okay amazing and you have a developers working across

1832
01:26:24,165 --> 01:26:29,365
various different stacks whether it be on desktop on mobile on embedded devices

1833
01:26:29,365 --> 01:26:33,645
whatever it might be also working in different programming languages as well

1834
01:26:33,645 --> 01:26:38,365
so how do you approach trying to accommodate for all of those different

1835
01:26:38,365 --> 01:26:42,225
types of users yeah I mean that's a good point that it's one thing to have a

1836
01:26:42,225 --> 01:26:47,785
nice well-reviewed you know feature rich Bitcoin and lightning stack but then

1837
01:26:47,785 --> 01:26:50,505
it's a whole nother thing to support that ecosystem around it for mobile so

1838
01:26:50,505 --> 01:26:53,585
you have to have you know you have to support Android you have to support iOS

1839
01:26:53,585 --> 01:26:57,425
and in those environments you want to support those languages so you need to

1840
01:26:57,425 --> 01:27:02,585
support Kotlin or Java on Android and you want to support Swift you know that's

1841
01:27:02,585 --> 01:27:06,545
sort of like just you know the you know that's sort of the you know the price of

1842
01:27:06,545 --> 01:27:11,005
admission as you just need to support that and to do that as well as supporting

1843
01:27:11,005 --> 01:27:15,405
the core library gives you that just kind of you know easy pick it up off the

1844
01:27:15,405 --> 01:27:20,165
shelf and you can start building your app whatever environment you want which

1845
01:27:20,165 --> 01:27:24,445
is hard for you know hard it's it's it's it's a just sort of building that

1846
01:27:24,445 --> 01:27:28,045
ecosystem just opens it up for everybody cool and I think like the technical term

1847
01:27:28,045 --> 01:27:32,685
we kind of use is like language bindings and like Matt what would be somebody

1848
01:27:32,685 --> 01:27:40,385
around yeah I would say you know supporting different environments and

1849
01:27:40,385 --> 01:27:45,225
thinking hard about different deployment scenarios is like 60% of the work we do

1850
01:27:45,225 --> 01:27:50,385
the other 40 is actually doing lightning stuff yeah I mean we built a language

1851
01:27:50,385 --> 01:27:54,465
bindings framework from scratch we we sat down and said like all of these

1852
01:27:54,465 --> 01:27:58,545
existing line you know we have a rich object-oriented interface with different

1853
01:27:58,545 --> 01:28:03,045
classes and different interfaces that you have to plug into and use and we

1854
01:28:03,045 --> 01:28:05,685
want to support that in different languages turns out there are no

1855
01:28:05,685 --> 01:28:10,545
language bindings frameworks to support it just doesn't exist you know all the

1856
01:28:10,545 --> 01:28:13,725
all the existing language bindings frameworks are for people who are saying

1857
01:28:13,725 --> 01:28:18,565
like well I've got my my app and it's written in Java or Swift or whatever and

1858
01:28:18,565 --> 01:28:21,725
then this this one function is too slow and I have an implementation and see I

1859
01:28:21,725 --> 01:28:25,525
want to call and it's like one function and it's a pure function and it doesn't

1860
01:28:26,145 --> 01:28:30,545
have all of these interdependencies or whatever and there's a ton of frameworks

1861
01:28:30,545 --> 01:28:34,945
for that and they're really great and then you want to have like well I have

1862
01:28:34,945 --> 01:28:38,485
these classes and I want native you know I want wanted to feel like a native

1863
01:28:38,485 --> 01:28:41,225
interface where you're like instantiating these classes that are

1864
01:28:41,225 --> 01:28:44,185
secretly written in rust but they're actually you know exposed to you in

1865
01:28:44,185 --> 01:28:48,265
Java or Swift and then you have interfaces that you want to write an

1866
01:28:48,265 --> 01:28:51,945
implementation of in Java that like the rust code is actually calling all the

1867
01:28:51,945 --> 01:28:57,125
way into yet turns out that didn't exist so we had to we spent about two

1868
01:28:57,125 --> 01:29:04,445
years of engineering time a little more actually building that from scratch and

1869
01:29:04,445 --> 01:29:09,925
yeah I mean an insane amount of work but it ended up working really well and so

1870
01:29:09,925 --> 01:29:15,445
you know cash up shipped with with LDK powering their lightning node and they

1871
01:29:15,445 --> 01:29:18,205
didn't write a single line of rust they didn't look at a single line of rust

1872
01:29:18,205 --> 01:29:22,705
they wrote it all in Java or I guess they wrote it all in Kotlin but so that

1873
01:29:22,705 --> 01:29:27,185
that turned out to be a good investment it worked incredibly well at the end of

1874
01:29:27,185 --> 01:29:31,305
the day but but that ends up being almost all of our work is is a

1875
01:29:31,305 --> 01:29:35,705
combination of that and also just thinking about how do we design an

1876
01:29:35,705 --> 01:29:39,265
interface that is hard to misuse how do we design an interface that's either

1877
01:29:39,265 --> 01:29:42,625
gonna like immediately spontaneously combust and the application won't even

1878
01:29:42,625 --> 01:29:51,105
run or it works right and you can't lose money and the you know the payments

1879
01:29:51,105 --> 01:29:57,025
go through reliably and it all works right so you want to trying to design

1880
01:29:57,025 --> 01:30:02,105
interfaces is hard art form right and so that that ends up being the other half

1881
01:30:02,105 --> 01:30:05,145
of our work is is just how do we make sure that this interface is going to be

1882
01:30:05,145 --> 01:30:08,785
robust and users are going to know how to use this correctly just by looking at

1883
01:30:08,785 --> 01:30:14,785
it and and they can't screw it up right yeah actually LDK also provides great

1884
01:30:14,785 --> 01:30:18,385
documentation you know API documentation as well as examples that's the other

1885
01:30:18,385 --> 01:30:22,225
thing BDK also tries to provide is examples documentation which is another

1886
01:30:22,225 --> 01:30:26,345
big piece of work it's not you know you can't take it for granted that every

1887
01:30:26,345 --> 01:30:31,105
library would have that yeah awesome okay so Steven we've not heard from you

1888
01:30:31,105 --> 01:30:36,425
just yet but you come from a slightly different perspective being a

1889
01:30:36,425 --> 01:30:42,225
designer so do you want to talk to us a little bit about the Bitcoin design

1890
01:30:42,225 --> 01:30:47,225
community what that is what that effort is what type of things are involved and

1891
01:30:47,225 --> 01:30:52,585
on that side of things and then we'll dive into a bit of how we tie the fact

1892
01:30:52,585 --> 01:30:58,585
that we have these awesome SDKs and with the UI expertise that comes from that

1893
01:30:58,585 --> 01:31:02,705
community as well yeah so the Bitcoin design community is just kind of a

1894
01:31:02,705 --> 01:31:07,825
decentralized community of designers and creatives who are interested in

1895
01:31:07,825 --> 01:31:12,585
working on open source Bitcoin you know I guess the kind of central thesis of

1896
01:31:12,585 --> 01:31:17,425
would be thesis of it would be that you know Bitcoin is the best money so it

1897
01:31:17,425 --> 01:31:21,585
should have the best user experience and you know I think a lot of people would

1898
01:31:21,585 --> 01:31:24,945
agree that it's you know it's currently lacking a lot of people find Bitcoin

1899
01:31:24,945 --> 01:31:30,865
difficult to use there's a lot of uncertainty for people about how to you

1900
01:31:30,865 --> 01:31:36,625
know self custody their own Bitcoin so you know kind of the flagship product of

1901
01:31:36,625 --> 01:31:39,985
the the design community is this a project called the Bitcoin design guide

1902
01:31:39,985 --> 01:31:44,505
and the Bitcoin design guide is you can think of it kind of is like human

1903
01:31:44,505 --> 01:31:49,105
interface guidelines for Bitcoin products if you're building a non

1904
01:31:49,105 --> 01:31:55,305
custodial Bitcoin product you know this you can turn to this guide to look for

1905
01:31:55,305 --> 01:32:00,625
principles and techniques that you can employ to build a better experience for

1906
01:32:00,625 --> 01:32:04,225
your users and like it might be good to differentiate a little bit like you

1907
01:32:04,225 --> 01:32:07,825
meant you said the word UI like you know it's also I think important to

1908
01:32:07,825 --> 01:32:12,345
differentiate between like UI like just the the thing that the user sees on

1909
01:32:12,345 --> 01:32:17,825
screen like the the specific color of the button or the font choice right that

1910
01:32:17,825 --> 01:32:22,345
that I consider to be more UI but like UX I consider to be a little bit more

1911
01:32:22,345 --> 01:32:25,625
broader than that like we're trying to think about like the whole experience

1912
01:32:25,625 --> 01:32:30,945
the user has to go through you know is the application you're building let's

1913
01:32:30,945 --> 01:32:34,625
just say it's a wallet for example do when they turn it on for the first time

1914
01:32:34,625 --> 01:32:39,345
do they know what they're supposed to do when they receive their first Bitcoin

1915
01:32:39,345 --> 01:32:47,145
you know is there a backup facilitated how is the user still using it a year

1916
01:32:47,145 --> 01:32:51,065
down the road are they still using it a five years down the road and is the way

1917
01:32:51,065 --> 01:32:54,825
that they're using it changing so these are kind of like all you know things

1918
01:32:54,825 --> 01:32:58,665
that I would consider kind of under the umbrella of user experience and I guess

1919
01:32:58,665 --> 01:33:03,585
kind of like similar to LDK or like BDK and LDK is that um you know if you think

1920
01:33:03,585 --> 01:33:06,705
about like why should every single developer have to repeat the same work

1921
01:33:06,705 --> 01:33:10,145
over and over again like let's find what works like let's you know build our

1922
01:33:10,145 --> 01:33:14,225
goods you know lightning state machine and just put that into a toolkit and

1923
01:33:14,225 --> 01:33:20,585
everybody can use that you know similar with design like we don't need everybody

1924
01:33:20,585 --> 01:33:25,225
to come up with a new design solution every time like if some other wallet or

1925
01:33:25,225 --> 01:33:29,505
Bitcoin service has come up with a good design solution that makes it really

1926
01:33:29,505 --> 01:33:34,265
easy to use for people why don't we document that in an open source way and

1927
01:33:34,265 --> 01:33:40,105
then other projects can take you know take advantage of that amazing and just

1928
01:33:40,105 --> 01:33:46,425
to touch on a few things around like the design guide and kind of documenting

1929
01:33:46,425 --> 01:33:50,545
patterns that work regardless of you know what what wallet you're trying to

1930
01:33:50,545 --> 01:33:54,345
build or what Bitcoin application you're trying to build do you want to talk

1931
01:33:54,345 --> 01:33:59,265
maybe about a concrete example and one that was you know announced earlier by

1932
01:33:59,265 --> 01:34:04,865
myles and the cash up team the bit 21 URIs and like how that's an example of

1933
01:34:04,865 --> 01:34:09,745
developers and designers who you know developers who have created this

1934
01:34:09,745 --> 01:34:15,705
standard and getting some some some aid I guess from the UX side to kind of tie

1935
01:34:15,705 --> 01:34:19,385
it together as like a concrete example yeah yeah that's a good one so for if

1936
01:34:19,385 --> 01:34:24,425
if anyone didn't see the cash app talk this morning you know miles announced a

1937
01:34:24,425 --> 01:34:29,585
lot of cool features but yeah one one of them in particular was this plan to kind

1938
01:34:29,585 --> 01:34:34,865
of move to a new type of QR code or using an existing type of QR code but

1939
01:34:34,865 --> 01:34:39,105
differently and this you know there's been this you know big conversation

1940
01:34:39,105 --> 01:34:43,265
about it in the Bitcoin design community and other open source Bitcoin

1941
01:34:43,265 --> 01:34:48,985
communities about this you know like just as a real-world example I think you

1942
01:34:48,985 --> 01:34:53,345
know many of us witnessed this last year in El Salvador just the difference in

1943
01:34:53,345 --> 01:35:00,825
payment formats you know for example you go into you know like a little bodega or

1944
01:35:00,825 --> 01:35:04,185
pupus area and you want to order something and you know you ask to pay in

1945
01:35:04,185 --> 01:35:07,265
Bitcoin and you know there's usually some kind of toggle that they have to

1946
01:35:07,265 --> 01:35:12,385
switch between an on-chain address QR code or a bolt 11 invoice QR code or a

1947
01:35:12,505 --> 01:35:17,865
proprietary Chivo QR code so you know and there's just not a lot of education

1948
01:35:17,865 --> 01:35:22,105
people aren't sure what what what to do in many situations and you think about

1949
01:35:22,105 --> 01:35:25,745
QR code it's kind of like an ugly human unreadable thing like you can't look at

1950
01:35:25,745 --> 01:35:29,905
a QR code and just like know what's inside of it unless it tells you so

1951
01:35:29,905 --> 01:35:33,345
there was a big problem and you know there's been many people have tried to

1952
01:35:33,345 --> 01:35:36,945
come up with solutions for that like Galoy at Bitcoin Beach they had kind of a

1953
01:35:36,945 --> 01:35:41,305
solution that they were experimenting with there with these kind of QR codes

1954
01:35:41,305 --> 01:35:45,065
on these signs and they were they were trying to solve you know the same kind

1955
01:35:45,065 --> 01:35:49,385
of problem like how do you make it easy on the user but I'm not sure exactly

1956
01:35:49,385 --> 01:35:53,265
where the idea originated from I first I think heard it from you know Pavlonek's

1957
01:35:53,265 --> 01:35:58,705
and you know John's Bahari and Steve Lee some combination of those three but

1958
01:35:58,705 --> 01:36:04,705
basically this idea of you know just taking a bit 21 which is this it's this

1959
01:36:04,705 --> 01:36:09,105
payment URI formats been around for about 10 years I think you weren't you

1960
01:36:09,105 --> 01:36:11,945
involved I think I might have written the original yeah I think I saw your I

1961
01:36:11,945 --> 01:36:16,425
think I saw your name on the paper but you know it's basically this idea we can

1962
01:36:16,425 --> 01:36:21,385
use this existing spec we can put an optional parameter in there put a

1963
01:36:21,385 --> 01:36:24,705
lightning invoice in there and I think the spec was very forward-looking like

1964
01:36:24,705 --> 01:36:27,725
it you know you're kind of predicting that people would want to use it in

1965
01:36:27,725 --> 01:36:30,105
different ways and we don't know how we're gonna want to use it in 10 years

1966
01:36:30,105 --> 01:36:34,745
well this is an example of that so we're now able to use this existing open

1967
01:36:34,745 --> 01:36:39,225
source standard and you know in the Bitcoin design community we started

1968
01:36:39,225 --> 01:36:43,225
experimenting with it we built a website we started documenting which wallets

1969
01:36:43,225 --> 01:36:47,705
could support the standard and which don't and we started reaching out the

1970
01:36:47,705 --> 01:36:52,305
projects and this is just an example of like you know designers can get involved

1971
01:36:52,305 --> 01:36:56,825
in open source and you can go on github and you can open an issue with a project

1972
01:36:56,825 --> 01:37:01,505
and make a bug report or a feature request or suggestions for UI

1973
01:37:01,625 --> 01:37:05,625
improvements and so we've gotten pretty positive feedback I mean there's it's an

1974
01:37:05,625 --> 01:37:09,545
ongoing discussion but we've gotten very positive feedback and even cash app was

1975
01:37:09,545 --> 01:37:13,025
able to get involved and have discussions with the Bitcoin design

1976
01:37:13,025 --> 01:37:18,465
community about about this project so it's really cool thing if you think

1977
01:37:18,465 --> 01:37:24,985
about like if you have the best UI the slickest UI the best UX in the world for

1978
01:37:24,985 --> 01:37:30,145
your wallet if every other Bitcoin while out there has has is hard to use it hurts

1979
01:37:30,305 --> 01:37:34,865
you too like we're kind of all in this together when it comes to Bitcoin UX so

1980
01:37:34,865 --> 01:37:38,585
you know cash app I was really I thought was really great that they they got

1981
01:37:38,585 --> 01:37:42,905
involved with the design community got involved in these discussions and now we

1982
01:37:42,905 --> 01:37:47,705
basically seen in a very short period of time designers and developers

1983
01:37:47,705 --> 01:37:53,665
collaborating together to you know improve improve the UX yeah and I want

1984
01:37:53,665 --> 01:37:58,105
to zone in on that last little thing you said there around developers and

1985
01:37:58,105 --> 01:38:01,185
designers coming together like sometimes we term it like bridging

1986
01:38:01,185 --> 01:38:04,985
bridging the gap between designers and developers now that we have these

1987
01:38:04,985 --> 01:38:13,665
development tools and and a design guide why why why is it important to kind of

1988
01:38:13,665 --> 01:38:17,865
bridge that gap is it the fact that now we can get more experimentation happening

1989
01:38:17,865 --> 01:38:23,825
quicker is it the fact that like those tools just naturally bring bring those

1990
01:38:23,825 --> 01:38:27,785
two users together like what would you say about about that side of things I

1991
01:38:27,785 --> 01:38:33,385
mean in terms of you know bridging the gap I'd say you know I think this is a

1992
01:38:33,385 --> 01:38:38,065
running problem in you know software engineering and product development this

1993
01:38:38,065 --> 01:38:42,865
idea that like if you're if you're trying to build something and you you

1994
01:38:42,865 --> 01:38:48,185
spend you know six months planning it out and then three months building it

1995
01:38:48,185 --> 01:38:52,225
and then you know two months testing it and then eventually by the time it gets

1996
01:38:52,225 --> 01:38:57,705
to market it's like you you know the competitors beat you or users you know

1997
01:38:57,705 --> 01:39:01,665
customers demands have changed so I think like what we've witnessed over you

1998
01:39:01,665 --> 01:39:05,065
know the past several decades is just that you know development cycles for

1999
01:39:05,065 --> 01:39:09,705
products are getting a lot you know I hate to use this word but I guess you'd

2000
01:39:09,705 --> 01:39:13,385
say it's becoming more agile like we're figuring out how to we're figuring out

2001
01:39:13,385 --> 01:39:17,345
how to like ship features quicker and so an important part of that is like you

2002
01:39:17,345 --> 01:39:21,185
don't want a situation where like the designer is you know building this

2003
01:39:21,185 --> 01:39:25,145
perfect you know layout and then I pass it over to the developer and then you

2004
01:39:25,145 --> 01:39:30,065
know the developer you know kind of has their own interpretation of it and then

2005
01:39:30,065 --> 01:39:34,185
you know by the time it hits the market it's you know something's been lost in

2006
01:39:34,185 --> 01:39:39,005
translation I think like on the open-source side what's what I've

2007
01:39:39,005 --> 01:39:42,145
witnessed just in the design community is that like some of the most successful

2008
01:39:42,145 --> 01:39:46,225
Bitcoin open-source projects are one where the designers and the developers

2009
01:39:46,225 --> 01:39:50,545
work very closely together and they have like kind of a constant feedback loop so

2010
01:39:50,545 --> 01:39:53,585
like if you come in and you say you ask the designer like can you solve this

2011
01:39:53,585 --> 01:39:57,225
problem for me what's the answer to my what's the answer to my question and

2012
01:39:57,225 --> 01:40:00,385
then take it and run with it you know here's the thing this isn't like a

2013
01:40:00,385 --> 01:40:04,665
perfect science like you know like there's not like one just answer to UI

2014
01:40:04,665 --> 01:40:07,425
because it's gonna depend on like where you are in the world what kind of

2015
01:40:07,425 --> 01:40:09,062
customer you're trying to serve

2016
01:40:09,062 --> 01:40:09,742
like where you are in the world what kind of customer you're trying to serve you
know what

2017
01:40:09,742 --> 01:40:13,662
you're the needs of your community are and so there's not just like you know this
isn't like

2018
01:40:13,662 --> 01:40:18,622
you know physics or something where we can like you know absolutely define something
down to a

2019
01:40:18,622 --> 01:40:24,622
molecule so the ongoing collaboration between the designer and developer I think is
so that you know

2020
01:40:24,622 --> 01:40:30,622
you can test stuff see what works and just very quickly find what works for the the
product or

2021
01:40:30,622 --> 01:40:37,502
for the customer that you're trying to serve okay fantastic and so just to recap a
little bit we

2022
01:40:37,502 --> 01:40:45,182
have the BDK which is helping with on-chain Bitcoin functionality exposing all these
high-level APIs

2023
01:40:45,182 --> 01:40:50,782
similarly on the LDK side if you want to integrate instant lightning payments into
into any wallet or

2024
01:40:50,782 --> 01:40:59,822
application what what types of what types of applications and and are we seeing
being built

2025
01:40:59,822 --> 01:41:08,142
with like BDK and then we'll go into LDK in a second so yeah yeah yeah so I so right
now

2026
01:41:08,142 --> 01:41:12,382
you know we primarily have sort of example applications we we did I mentioned there
was a

2027
01:41:12,382 --> 01:41:19,102
bank looking to use you know looking at BDK for some proof of reserve stuff kind of
our big focus

2028
01:41:19,102 --> 01:41:24,462
now is just getting more you know more of the mobile stuff built out to support more
mobile

2029
01:41:24,462 --> 01:41:29,022
applications and you know that's part of you know what I'm doing here and the rest
of the BDK team

2030
01:41:29,022 --> 01:41:33,422
is doing is just finding open source developers or finding closed source developers
anybody who

2031
01:41:33,422 --> 01:41:39,502
wants to build something using on-chain Bitcoin and you know getting to know them
and getting to

2032
01:41:39,502 --> 01:41:44,862
solve their problems with BDK you know I don't think we have any big like commercial
programs

2033
01:41:44,862 --> 01:41:50,062
yet using BDK but the goal is we hope to soon yeah we're certainly that's our that's
our goal is

2034
01:41:50,062 --> 01:41:55,582
to make that happen yeah yeah okay yeah and on the LDK side we've been around for a
little longer

2035
01:41:55,582 --> 01:42:03,582
than the BDK side um and so we have so CashApp was our first uh user to go live in a
big way

2036
01:42:03,582 --> 01:42:10,382
um it was actually the the second uh user to start integrating uh over torments back
here somewhere

2037
01:42:10,622 --> 01:42:15,262
from BlueWallet uh suffered through a lot of the pain of some of our very early
alpha language

2038
01:42:15,262 --> 01:42:22,542
bindings um projects um and so they have they're they're more in flight as well um
obviously uh

2039
01:42:22,542 --> 01:42:28,462
you know building for mobile is is just a little harder in almost every way um not
only on the

2040
01:42:28,462 --> 01:42:32,782
language bindings end but but also especially on the lightning end there's just so
many more

2041
01:42:32,782 --> 01:42:37,422
things you want to get right to have a really great user experience especially as a
non-custodial

2042
01:42:37,422 --> 01:42:42,622
and user application um and so CashApp kind of beat them to the punch it's a little
easier to

2043
01:42:42,622 --> 01:42:49,662
build a a custom a custom lightning node that is just custodial than the
non-custodial um but but

2044
01:42:49,662 --> 01:42:56,382
it kind of highlights the the very different uses for LDK and projects like this um
where you know

2045
01:42:56,382 --> 01:43:01,422
CashApp is a large corporate they have a ton of back-end infrastructure that existed
already for

2046
01:43:01,422 --> 01:43:06,862
all of their existing you know obviously CashApp does a whole lot more than than
Bitcoin um and

2047
01:43:06,862 --> 01:43:11,022
they really wanted a lightning node that tightly integrated with all of that
infrastructure right

2048
01:43:11,022 --> 01:43:15,902
so uh using their own logging infrastructure their own database infrastructure their
own

2049
01:43:15,902 --> 01:43:22,622
uh node failover and and uh hosting infrastructure all of the stuff that they
already had they

2050
01:43:22,622 --> 01:43:27,342
wanted their lightning node to really integrate well with that um and just taking
something like

2051
01:43:27,342 --> 01:43:32,462
C Lightning or LND which which are great um but and running it off the shelf doesn't
provide them

2052
01:43:32,462 --> 01:43:37,262
that right and so they wanted to build something super custom and they were able to
in in a number

2053
01:43:37,262 --> 01:43:43,742
of months put together a full lightning node from scratch that uh used LDK to do all
of the kind of

2054
01:43:43,742 --> 01:43:47,982
lightning parts but then uh integrated and worked in exactly the way they wanted a
lightning node

2055
01:43:47,982 --> 01:43:53,822
to work for them on the other side you know BlueWallet um just completely different
scenario

2056
01:43:53,822 --> 01:43:59,022
but again where it's they already had an on-chain non-custodial wallet they already
synced the

2057
01:43:59,022 --> 01:44:03,742
blockchain they already had key derivation they already have had a backup system you
know they

2058
01:44:03,742 --> 01:44:08,542
already had all of these pieces and they didn't want to you know take something like
LND and try

2059
01:44:08,542 --> 01:44:14,382
to make it run on mobile and then uh sync the chain twice and have two separate key
derivation

2060
01:44:14,382 --> 01:44:19,422
systems and have so you know they wanted a lightning node that worked with their
existing

2061
01:44:19,422 --> 01:44:24,782
infrastructure and actually integrated into the app and not something that just was
completely

2062
01:44:24,782 --> 01:44:30,782
fresh from scratch um or was from scratch kind of for them and so there again you
know this LDK

2063
01:44:30,782 --> 01:44:34,222
where it's really just building blocks you know we provide a bunch of different
building blocks

2064
01:44:34,222 --> 01:44:37,742
and some sample implementations and you can take the pieces you want and hook them
up in the way

2065
01:44:37,742 --> 01:44:43,182
you want and end up with a lightning node that works in exactly the way you want um
so so being

2066
01:44:43,182 --> 01:44:49,822
able to build super tailored systems for exactly what you need um is really kind of
the I would

2067
01:44:49,822 --> 01:44:54,302
say the value of everyone standing on this stage is helping people build exactly
what they need

2068
01:44:54,782 --> 01:44:59,342
yes it's interesting because although like sometimes we talk about like LDK having
the sweet

2069
01:44:59,342 --> 01:45:05,102
spot of like non-custodial mobile where there are like constraints on memory storage
background

2070
01:45:05,102 --> 01:45:12,542
tasking all of these kind of things we are seeing something like uh Sensei which is
a um I guess a

2071
01:45:12,542 --> 01:45:19,102
lightning node implementation based off of LDK as well um which we hope might be in
the in the

2072
01:45:19,102 --> 01:45:24,142
umbral app store soon and you know there might be instances where although out of
the box it's

2073
01:45:24,142 --> 01:45:29,902
not really designed to be like an out-of-the-box node experience like you have the
tools to to make

2074
01:45:29,902 --> 01:45:37,422
a custom node yourself right so that's really cool and on on the Bitcoin design side
although

2075
01:45:37,422 --> 01:45:42,142
we talk about the user experience and getting developers to work with designers to
build you

2076
01:45:42,142 --> 01:45:47,822
know customer facing stuff like wallets and other types of applications what other
things do we see

2077
01:45:47,822 --> 01:45:54,142
from the Bitcoin design community around art and a narrative and and all of these
kind of things

2078
01:45:55,022 --> 01:45:59,742
yeah so I mean uh there's there's a lot a lot of different projects uh you know in
the design

2079
01:45:59,742 --> 01:46:04,942
community other than just the design guide um you know around art I'd say uh yeah I
mean there's a

2080
01:46:04,942 --> 01:46:09,582
whole channel in our uh our slack workspace where people post like art they're
working on and stuff

2081
01:46:09,582 --> 01:46:14,462
which is really cool um you know we've gotten involved with other you know there's a
lot of um

2082
01:46:14,462 --> 01:46:19,902
just kind of I guess like collaborations you'd say um you know which is basically
somebody's

2083
01:46:19,902 --> 01:46:24,222
doing a project on Bitcoin they come to us and you know they might need some help
with something and

2084
01:46:24,222 --> 01:46:28,382
you know we'll put together a call and people in the community who might want to
help this project

2085
01:46:30,142 --> 01:46:34,782
can jump in and help out and so you know like on the the narrative side you know
there was this

2086
01:46:34,782 --> 01:46:39,022
hello Bitcoin project that you were involved with and uh you know it's kind of a
video series that

2087
01:46:39,022 --> 01:46:43,502
kind of teaches people the fundamentals of Bitcoin and why it's valuable and several
people in the

2088
01:46:43,502 --> 01:46:47,662
community got involved with that and started working on the animation for that and
also just

2089
01:46:47,662 --> 01:46:52,622
like with like wallet projects and stuff I mean there's currently a collaboration
with join market

2090
01:46:52,622 --> 01:46:57,822
um I think there's some people there's a team working on uh trying to redesign the
UI for

2091
01:46:57,822 --> 01:47:04,862
Bitcoin core like the wallet um portion of it um there is uh there's the Zeus wallet
which has been

2092
01:47:04,862 --> 01:47:11,822
an incredible incredibly good collaboration um there's uh you know also just some
some um kind of

2093
01:47:12,622 --> 01:47:18,702
other flagship products next to the design guy would be like the UI kit and the
Bitcoin icons kit

2094
01:47:18,702 --> 01:47:23,742
um Christoph Ono and Bosch like those are basically kind of toolkits you can use so

2095
01:47:24,382 --> 01:47:30,302
you can take the icons kit and install it as a viewer react module and just
instantly have icons

2096
01:47:30,302 --> 01:47:37,342
for your your Bitcoin product um you can use the the UI kit it's a Figma prototype
um you know so

2097
01:47:37,342 --> 01:47:41,342
you can basically rip screens from that and incorporate them into your project it's
kind of

2098
01:47:41,342 --> 01:47:46,302
like why and why reinvent the wheel not to limit your creativity in any way but it's
a good starting

2099
01:47:46,302 --> 01:47:52,462
point so you don't have to rebuild um everything from scratch so there's really just
a ton of of

2100
01:47:52,462 --> 01:47:57,342
projects going on in the community sometimes new initiatives just kind of spring up
out of nowhere

2101
01:47:57,342 --> 01:48:03,502
without any central authority which is cool yeah awesome and then just trying trying
to tie things

2102
01:48:03,502 --> 01:48:09,822
back to you know 10x in the development experience um what what advice would you
give

2103
01:48:10,542 --> 01:48:16,462
people who want to get involved in a space whether it be contributing directly to
BDK LDK

2104
01:48:16,462 --> 01:48:22,382
in the design community or taking these tools and and building applications
themselves like any any

2105
01:48:22,382 --> 01:48:26,702
advice for for these people I can say one thing that I know that on the design side
I used to

2106
01:48:26,702 --> 01:48:31,982
work in enterprise software and we basically never built anything until we had UX
and UI

2107
01:48:31,982 --> 01:48:37,102
primarily UX actually because you know that's like you want to developers sometimes
aren't great

2108
01:48:37,102 --> 01:48:41,502
talking to users and UX that's part of what they do to bridge the gap is they're
basically collecting

2109
01:48:41,502 --> 01:48:45,582
that user feedback about you know what does user want to do how do they want to use
it you know

2110
01:48:45,582 --> 01:48:49,902
maybe they don't know what they want um and maybe what they want isn't actually what
they want what

2111
01:48:49,902 --> 01:48:55,982
they think they want so that like that's obviously part of it part of it but on the
BDK side or on

2112
01:48:55,982 --> 01:49:01,502
the on-chain side just being able to take a library that's well reviewed has
examples allows you to

2113
01:49:01,502 --> 01:49:07,582
kind of bootstrap whatever project you have um and then I think it's also you know
from the

2114
01:49:07,582 --> 01:49:11,822
closed source world you might have all these companies replicating the exact same
software

2115
01:49:11,822 --> 01:49:15,982
and that's pretty inefficient you know with open source and you know projects like
LDK and BDK you

2116
01:49:15,982 --> 01:49:20,462
have all these people that want to do the same thing all these smart people that can
just get

2117
01:49:20,462 --> 01:49:24,702
together combine forces trade ideas back and forth people all over the world you're
going to get a

2118
01:49:24,702 --> 01:49:29,742
cross-section of developers that you could never as a company afford to buy like
they're not for

2119
01:49:29,742 --> 01:49:35,342
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

2120
01:49:35,342 --> 01:49:39,502
know it's a resource that you can only get in an open source project you're not
going to get that

2121
01:49:39,502 --> 01:49:43,902
on a closed source project so how about on the design side if you want to if you
guys want to

2122
01:49:43,902 --> 01:49:49,102
get involved yes on the design side I mean uh just from a you know a purely tactical
perspective you

2123
01:49:49,102 --> 01:49:53,582
go onto bitcoin.design our website go to the contribute page and follow what it says
there

2124
01:49:53,582 --> 01:49:58,542
you can join our slack channel you can add our calendar um to like your google or
apple calendar

2125
01:49:58,542 --> 01:50:06,622
and all of that um you know but just to dig into that a little bit more I mean you
know we do calls

2126
01:50:06,622 --> 01:50:12,302
you know talking about specific projects or issues and it's all pretty open so I
mean I would really

2127
01:50:12,302 --> 01:50:18,702
encourage you to just lurk um you know once you get on a call and you you know you
can just hang

2128
01:50:18,702 --> 01:50:23,822
out you don't have to ask questions or be involved if you don't want to and you can
just kind of see

2129
01:50:23,822 --> 01:50:30,462
how an open source community functions and then jump in and contribute uh when you
feel comfortable

2130
01:50:30,462 --> 01:50:34,462
and I'll just say that like I really encourage you to do it especially like
especially if you're

2131
01:50:34,462 --> 01:50:39,022
like starting out your career and you're thinking of doing an unpaid internship I'd
say don't do

2132
01:50:39,022 --> 01:50:43,582
that and I would say contribute to an open source project instead because you know
like Steve said

2133
01:50:43,582 --> 01:50:47,342
you're going to meet like people all around the world with different ideas you're
gonna you're

2134
01:50:47,342 --> 01:50:52,782
just you know kind of connected to this Hivemind of ideas um and and also like the
open source

2135
01:50:52,782 --> 01:50:56,382
contributions you make people are going to see them so it's not going to be like
some proprietary

2136
01:50:56,382 --> 01:51:01,102
thing that's hidden um and you have to kind of like hype yourself up like people can
see when

2137
01:51:01,102 --> 01:51:05,342
you're doing your work in the open um exactly what you're contributing and those
open source

2138
01:51:05,342 --> 01:51:11,902
contributions I think will follow you from one job to the next cool yeah definitely
and maybe

2139
01:51:11,902 --> 01:51:18,462
to summarize a little bit like you know there's a lot a lot a lot of focus in this
space of like

2140
01:51:18,462 --> 01:51:21,582
oh I want to contribute to bitcoin core I want to contribute to like the lowest
levels of the

2141
01:51:21,582 --> 01:51:27,422
protocol and and that's awesome you know those those spaces need as much contribute
uh contribution

2142
01:51:27,422 --> 01:51:33,422
as they can get as many eyes on it as they can get um but they also have over the
last few years

2143
01:51:33,422 --> 01:51:37,582
started getting a lot of eyes on it a lot of contributors a lot of a lot of great
people

2144
01:51:37,582 --> 01:51:43,022
working on those projects and further up the stack you know you see a lot of these
you know

2145
01:51:43,022 --> 01:51:47,742
awesome wallets that people have started building and that people use every day and
the real touch

2146
01:51:47,742 --> 01:51:54,302
points for users on bitcoin non-custodial have teams of two or three or four people
right and

2147
01:51:54,302 --> 01:52:00,862
and these projects you know they they often don't even have a ux or a designer they
or they you know

2148
01:52:00,862 --> 01:52:05,502
have have some contribution from the design community and and work or you know
turning to

2149
01:52:05,502 --> 01:52:10,942
that increasingly um and they you know they don't have the resources to to build out
a lot of really

2150
01:52:10,942 --> 01:52:14,942
awesome ux that they might want to build because they're too focused on some of
these lower level

2151
01:52:14,942 --> 01:52:19,902
things and so there's there's a lot more room to contribute to some of these
projects further up

2152
01:52:19,902 --> 01:52:26,142
the stack um and and make a much bigger impact on how people actually use and
experience bitcoin

2153
01:52:26,142 --> 01:52:31,582
um because these are the real touch points you know people actually are using an app
to to receive

2154
01:52:31,582 --> 01:52:37,102
their bitcoin and they're not they're not using bitcoin core on the regular basis um
and so i

2155
01:52:37,102 --> 01:52:41,582
think there's a lot of room to to contribute to these communities certainly
especially the design

2156
01:52:41,582 --> 01:52:45,742
community and going out and actually working with some of these wallets um and then
there's also

2157
01:52:45,742 --> 01:52:51,582
just a lot of room to to build great user experiences using bitcoin um you know
there's only

2158
01:52:51,582 --> 01:52:58,222
probably a handful of wallets that that people strongly recommend that have great ux
um and

2159
01:52:59,182 --> 01:53:04,142
you know go build another one you know go go build something that's that's unique
and and has

2160
01:53:04,142 --> 01:53:09,502
some other user experience that that you think might win yet more people over to
bitcoin and

2161
01:53:09,502 --> 01:53:14,462
give them really the the experience that they want um and there's there's a lot of
room in the

2162
01:53:14,462 --> 01:53:20,382
space for that kind of contribution awesome and then just a kind of final closing
thoughts um from

2163
01:53:20,382 --> 01:53:26,942
the from the three of you what are you kind of most excited to see in in bitcoin
development this

2164
01:53:26,942 --> 01:53:32,622
year and um then just tell people where they can like find your projects again the
projects that

2165
01:53:32,622 --> 01:53:37,262
you're working on again so maybe steve do you want to start sure well i mean as a an
on-chain library

2166
01:53:37,262 --> 01:53:41,822
i think taproot's probably the most exciting thing right now just from what you're
going to

2167
01:53:41,822 --> 01:53:45,662
be able to do with it and being able to support that in an open source you know easy
to accept

2168
01:53:45,662 --> 01:53:51,262
sort of way um if you want to go to bitcoindevkit.org that's our website you can get
links there to the

2169
01:53:51,262 --> 01:53:56,302
the github repository and also our discord community um if you have questions or
have ideas

2170
01:53:56,302 --> 01:53:59,982
for an app or you want to contribute to the project you know you can chat with us
there we're

2171
01:54:00,542 --> 01:54:03,982
we're around the we're around the globe so there's always somebody around online
there

2172
01:54:03,982 --> 01:54:09,582
awesome yeah and steven yeah i'm uh you know one kind of thing i mean obviously i'm
excited about

2173
01:54:09,582 --> 01:54:14,542
the unified qr code another thing i'm kind of excited is just like stabilized
lightning

2174
01:54:14,542 --> 01:54:18,222
channels i mean obviously bitcoin's the best money and it's what you want your
savings in but one

2175
01:54:18,222 --> 01:54:22,782
thing i've just kind of seen you know like with adoption and developing nations is
that like you

2176
01:54:22,782 --> 01:54:27,742
know there's obviously this need for like having a little bit that's stabilized you
know for your

2177
01:54:27,742 --> 01:54:32,302
weekly expenses and i think the overton window has kind of shifted around that
conversation and

2178
01:54:32,302 --> 01:54:37,262
we've seen this like kind of explosion of ideas over the past like two months here
of just

2179
01:54:37,262 --> 01:54:43,742
different ways of accomplishing that so i'm really curious to see how you know what
what the engineers

2180
01:54:43,742 --> 01:54:49,502
decide is the right approach but um you know after the the whole kind of rough
consensus process but

2181
01:54:49,502 --> 01:54:53,902
i'm also curious to see what the design uh around that how we solve those design
problems um

2182
01:54:54,462 --> 01:54:58,062
but yeah you can uh like i said you can follow what we're working on in bitcoin
design just by

2183
01:54:58,062 --> 01:55:04,062
going to bitcoin.design on the web perfect i'm about to finish this off yeah um oh
man there's

2184
01:55:04,062 --> 01:55:10,942
so many things going on in lightning um uh all of the things um so yeah on the ledk
side let's see

2185
01:55:10,942 --> 01:55:17,022
we're we're working on bolt 12 integration so so improving uh the the way people pay
in lightning

2186
01:55:17,022 --> 01:55:21,822
to add uh to address a number of shortcomings in the user experience and a number of
different

2187
01:55:21,822 --> 01:55:28,542
ways people expect to pay especially things like static invoices um so that's huge
um shipping

2188
01:55:28,542 --> 01:55:33,342
zero conf and other features that are kind of needed for first class good mobile
user experience

2189
01:55:33,342 --> 01:55:39,342
and what people expect from existing lightning wallets um that's going to be huge um
and and

2190
01:55:39,342 --> 01:55:45,182
just helping people start building a lot more lightning wallets and a lot better ux
and helping

2191
01:55:45,182 --> 01:55:51,342
people not have to spend four developers three developers full-time just to maintain
stuff and

2192
01:55:51,342 --> 01:55:54,542
actually enabling people to really start experimenting more with lightning start
building

2193
01:55:54,542 --> 01:55:59,822
more stuff start uh extending more stuff and and you know getting stuff getting to
the point where

2194
01:55:59,822 --> 01:56:06,542
we can start you know having people build good uh dollar denominated lightning
channels um on on a

2195
01:56:06,542 --> 01:56:12,222
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

2196
01:56:12,222 --> 01:56:16,142
um and yeah you see you can go to the lightningdevkit.org um if you want to check it
out

2197
01:56:16,142 --> 01:56:21,182
and we have a slack and a discord community because i don't know uh we like we like
making

2198
01:56:21,182 --> 01:56:26,462
sure we're available to anyone who has questions um so you can you can join one of
those there's

2199
01:56:26,462 --> 01:56:31,662
always someone around to answer questions and and you know like like all these great
folks we try to

2200
01:56:31,662 --> 01:56:36,542
be pretty hands-on and pretty uh available to to answer any questions and to help
you figure out

2201
01:56:36,542 --> 01:56:40,862
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

2202
01:56:40,862 --> 01:56:45,502
to do back to work yeah back to work thank you for listening really appreciate it
see you guys around

2203
01:56:52,862 --> 01:56:57,422
oh my god why is it so bright i feel kind of far away from you guys but

2204
01:56:57,982 --> 01:57:04,062
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

2205
01:57:04,062 --> 01:57:08,142
awkward actually it's better if we stay in order for them i think all right yeah
we're all good i

2206
01:57:08,142 --> 01:57:13,662
hope we don't yeah the camera people sorry i think they framed the shot with that
last chair

2207
01:57:13,662 --> 01:57:21,822
in mind so uh welcome everybody um my name is ben i'm host of the btc sessions on
youtube uh

2208
01:57:21,822 --> 01:57:26,302
i guess i'll just let you guys introduce yourselves we'll start with paul sure my
name is Paul Sztorc

2209
01:57:26,302 --> 01:57:30,382
um we're going to be talking about soft forks today so i have a soft fork proposal
bib 300

2210
01:57:31,102 --> 01:57:37,422
um i've also written a lot about soft forks in the past so i guess that's my intro
awesome jimmy i'm

2211
01:57:37,422 --> 01:57:43,982
a bitcoin expert i guess or educator or something i i do a lot of stuff in bitcoin i
write lots of

2212
01:57:43,982 --> 01:57:52,542
books and yeah i'm up here mostly to look pretty i think uh hey i'm uh jeremy rubin
i'm a bitcoin

2213
01:57:52,542 --> 01:57:58,302
core rabble rouser and uh i also have a software proposal that i've been doing
called bib 119

2214
01:57:58,942 --> 01:58:04,462
and happy to be here to talk about it with y'all awesome uh welcome guys let's give
him a round

2215
01:58:04,462 --> 01:58:15,022
of applause for being here and uh so i i want to start this talk out uh by making it
accessible to

2216
01:58:15,022 --> 01:58:19,982
to uh you know some people that may not be super familiar so we'll just set a few
baseline things

2217
01:58:19,982 --> 01:58:25,182
then we'll get into the weeds after that so uh i'll open it up to anybody here but
let's just

2218
01:58:25,182 --> 01:58:30,462
break down really really quickly briefly the difference between a hard and soft fork
for

2219
01:58:30,462 --> 01:58:35,102
whoever wants to take what i've just teed up i will do it because a fork is a very
serious thing

2220
01:58:35,102 --> 01:58:41,102
it is really how the protocol changes from one protocol to a different protocol
which can cause

2221
01:58:41,102 --> 01:58:45,422
people a little bit of consternation because they worry about oh am i going to lose
the old the

2222
01:58:45,422 --> 01:58:49,342
things i really like about the old protocol and that is the difference between the
hard and soft

2223
01:58:49,342 --> 01:58:55,742
fork which is that the hard fork is an absolute permanent split where the you've
formed two

2224
01:58:55,742 --> 01:59:00,142
networks and it's you you break up and you are never getting back together and then
with the

2225
01:59:00,142 --> 01:59:06,942
soft fork there's this theoretical compatibility where all all the these different
these different

2226
01:59:06,942 --> 01:59:12,942
protocols are nonetheless interoperable with each other so you can stay this idea of
it being

2227
01:59:12,942 --> 01:59:19,502
compatible and opt-in which is a nuanced point but the idea of the old node you can
stay there

2228
01:59:19,502 --> 01:59:23,742
you can stay with the old protocol and that is why that's what makes it soft and i
could talk

2229
01:59:23,742 --> 01:59:28,782
more about that if you want but i'm sure you i would say that it's soft forks are
backwards

2230
01:59:28,782 --> 01:59:35,742
compatible hard forks are not backwards compatible and you and the idea of a fork is
that you have two

2231
01:59:36,702 --> 01:59:42,942
blockchains or two ledgers that have some difference uh and that is terrible for any

2232
01:59:42,942 --> 01:59:48,622
sort of consensus mechanism because they're not in consensus and that that's what we
want to avoid

2233
01:59:48,622 --> 01:59:56,462
generally and soft fork or hard fork that's um unless you are permanently wanting to
split like

2234
01:59:56,462 --> 02:00:02,782
bitcoin cash and and what precedent does that set for uh the rather for the user
like in terms of a

2235
02:00:02,782 --> 02:00:08,862
soft fork versus a hard fork if you're a user you're perhaps running a bitcoin node
for instance

2236
02:00:08,862 --> 02:00:14,782
um what responsibilities do you or don't you have in a soft fork versus a hard fork
what do you have

2237
02:00:14,782 --> 02:00:19,902
to do so i'll jump in there and just kind of with a more contrarian take riding off
of this and tell

2238
02:00:19,902 --> 02:00:24,382
people what their responsibilities actually are but uh ultimately like they're not
really so

2239
02:00:24,382 --> 02:00:30,462
different like both of them can result to a bad thing happening to your bitcoin and
so from that

2240
02:00:30,462 --> 02:00:35,582
perspective they're the same and i think ultimately what it comes down to is how do
you participate

2241
02:00:35,582 --> 02:00:39,582
and the choice of the soft fork is really something that allows people who are just
kind of

2242
02:00:39,582 --> 02:00:44,862
disinterested in what's happening with development to uh and disinterested in
upgrading or whatever

2243
02:00:44,862 --> 02:00:49,902
to just like continue to be a part of the network um the downside of that is is that
like changes can

2244
02:00:49,902 --> 02:00:55,342
happen to the bitcoin network even if you're not participating so in some senses
soft forks are

2245
02:00:55,342 --> 02:01:00,142
maybe bad because how do you oppose something that can happen if you're just not
even aware that it's

2246
02:01:00,142 --> 02:01:05,262
happening and then hard forks on the other hand it's like well if you don't want it
to happen the

2247
02:01:05,262 --> 02:01:08,942
rest of the network does it now you're off the network permanently and that's like
not really

2248
02:01:08,942 --> 02:01:13,822
great but on the other hand for a hard fork you have to have like much more
overwhelming consensus

2249
02:01:13,822 --> 02:01:19,022
to make it happen so each of them have trade-offs and ultimately like the end
negative outcome is

2250
02:01:19,022 --> 02:01:22,302
the same which is that like a bad thing could happen to you but we get to choose the
trade-offs

2251
02:01:22,302 --> 02:01:28,542
and right now in the community the dominant choice is that people prefer seemingly
soft works but

2252
02:01:28,542 --> 02:01:33,422
that is a preference it's not like a mathematical proof that one is superior to the
other let's let's

2253
02:01:33,422 --> 02:01:40,062
go a bit deeper into yes a very important point yeah so what what precedent does it
set uh given

2254
02:01:40,062 --> 02:01:46,382
that that bitcoin leans heavily the the community has leaned heavily towards keeping
things

2255
02:01:46,382 --> 02:01:51,902
backwards compatible versus protocols that have gone off and basically have regular
hard forks

2256
02:01:51,902 --> 02:01:59,662
what do we lose by normalizing regular hard forks versus what has been preserved
with bitcoin well

2257
02:01:59,662 --> 02:02:04,942
the main problem with hard forks is that you're forcing essentially everybody to
upgrade and if

2258
02:02:04,942 --> 02:02:08,942
you if they don't upgrade then they're no longer part of the consensus and that

2259
02:02:10,142 --> 02:02:15,182
who's doing the forcing right if if if you're being forced by some central entity
then you're

2260
02:02:15,182 --> 02:02:20,382
clearly centralized because whoever made that hard fork is demanding it of you this
is how ethereum

2261
02:02:20,382 --> 02:02:25,742
works they demand you to upgrade if you're if you don't upgrade then you're no
longer part of the

2262
02:02:25,742 --> 02:02:31,742
consensus and your blockchain is essentially invalid whereas if you are part of the
new

2263
02:02:31,742 --> 02:02:37,102
you know hard fork that they the software that they tell you to run at uh then then
you're part

2264
02:02:37,102 --> 02:02:43,102
of that consensus in which case it's not really consensus as much as it is somebody
from authority

2265
02:02:43,102 --> 02:02:47,182
telling you what you have to run in order to be compatible with the rest of the
network so

2266
02:02:47,982 --> 02:02:54,062
hard forks for me are centralized and and it's it's an indication of centralization
at least the

2267
02:02:54,062 --> 02:03:03,022
way they've been used so for uh for coins to go do that it reveals their centralized
single point

2268
02:03:03,022 --> 02:03:08,382
of failure whereas you know with a soft work what you what you have is this ability
to be backwards

2269
02:03:08,382 --> 02:03:14,062
compatible you're not forcing anybody anything on anybody um hard forks like almost
all rules

2270
02:03:14,062 --> 02:03:19,822
are up for grabs including you know the supply limit and stuff like that which i
find an anathema

2271
02:03:19,822 --> 02:03:25,502
like part part of what you have that's very valuable about bitcoin is that you know
certain

2272
02:03:25,502 --> 02:03:32,622
things aren't going to change because of the way uh because it's uh backwards
compatible and it

2273
02:03:32,622 --> 02:03:38,062
enforces the rules that you all know including 21 million right like that's yeah
sacred but of course

2274
02:03:38,062 --> 02:03:42,142
he just said that uh but jeremy just said that soft and hard forks really aren't
that different

2275
02:03:42,142 --> 02:03:46,862
so i'd like to maybe and you're saying they're very very different of course and uh
i agree with

2276
02:03:46,862 --> 02:03:50,622
a lot of what you're saying but we have to now on maybe unpack this for the audience
because this

2277
02:03:50,622 --> 02:03:55,742
is where the rubber meets the road so to speak because this as i said the fork is a
very serious

2278
02:03:55,742 --> 02:04:01,822
matter of changing the protocol and it was thought that first of all the soft fork
is clearly it's

2279
02:04:01,822 --> 02:04:08,382
not only backwards but forwards compatible all the nodes share the same network um
and it used to

2280
02:04:08,382 --> 02:04:13,902
be thought that because they were all compatible you can just stay where you were
and therefore

2281
02:04:13,902 --> 02:04:22,142
the opt-in property was came from the the compatibility property but it was later uh
the

2282
02:04:22,142 --> 02:04:27,582
couple there were a couple sort of chinks in the armor of that uh argument where
peter todd proposed

2283
02:04:27,582 --> 02:04:32,942
the evil fork idea where you can change lots of things with the soft fork and then
uh SegWit

2284
02:04:32,942 --> 02:04:39,102
actually increased the block size uh with a soft fork which was sort of a very it
was something

2285
02:04:39,102 --> 02:04:44,542
that everyone had to experience there was there's another case actually that i think
is a very good

2286
02:04:44,542 --> 02:04:50,622
example which is the s value signature case where that is something that is very
very soft and the

2287
02:04:50,622 --> 02:04:56,782
very old definition of the soft fork was that if you got miners on your side any
time there the

2288
02:04:57,662 --> 02:05:02,862
two different blocks were mine following incompatible rules since the miners already

2289
02:05:02,862 --> 02:05:07,262
always went with one everyone would end up going along that was the old old
definition of the

2290
02:05:07,262 --> 02:05:09,902
soft fork so this s value

2291
02:05:10,040 --> 02:05:37,040
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

2292
02:05:37,040 --> 02:06:07,040
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

2293
02:06:07,040 --> 02:06:11,520
you know we have a delayed activation that would be like two years in the future for
a hard fork

2294
02:06:11,520 --> 02:06:16,320
and that would probably be pretty good uh in terms of not being something where we
just like the devs

2295
02:06:16,320 --> 02:06:21,360
decided there's a hard fork happening and but it still would be the old nodes at
that two-year

2296
02:06:21,360 --> 02:06:27,520
mark would fall off um there have been proposals previously like somebody said you
know bitcoin core

2297
02:06:27,520 --> 02:06:33,280
should i think luke jr made this point bitcoin core should just like have a fixed
number of

2298
02:06:33,280 --> 02:06:38,880
block headers it can consume by default and so it shuts off in 10 years so all nodes
just have a

2299
02:06:39,440 --> 02:06:43,840
shelf life and now every hard fork is a soft fork based on if you're running bitcoin
core

2300
02:06:43,840 --> 02:06:47,760
because we could deploy it and then the node automatically shuts off after some
fixed deadline

2301
02:06:47,760 --> 02:06:51,680
it's like well i don't love that but like yeah you can kind of map one on the other

2302
02:06:53,680 --> 02:06:57,280
i think the thing that you know to wrap it up into a coherent point is

2303
02:06:57,920 --> 02:07:02,560
uh hard or soft like you know feature or whatever what matters is that we do these

2304
02:07:02,560 --> 02:07:09,440
things in a way that involves uh mass participation and consent of the i don't want
to say the word

2305
02:07:09,440 --> 02:07:14,720
governed but that's the phrase you know consent of the ungoverned well i would say
that you can

2306
02:07:14,720 --> 02:07:18,640
do evil things with a soft fork i think that's the point that you're making of
course you can do that

2307
02:07:18,640 --> 02:07:24,080
you can eliminate SegWit you can eliminate all all kinds of things by saying these
are no longer

2308
02:07:24,080 --> 02:07:29,360
allowed on the network i don't think we're denying that the the real question i
think in in your sort

2309
02:07:29,360 --> 02:07:35,600
of equivalence of hard fork and soft work is that okay is it possible to have sort
of like a

2310
02:07:35,600 --> 02:07:42,320
benevolent hard fork i suppose in some metaphysical way it can be somewhat
benevolent but i i think

2311
02:07:42,320 --> 02:07:47,600
what we're saying is uh with soft works at least the ones that bitcoin has done it's
generally

2312
02:07:47,600 --> 02:07:52,400
benevolent soft works not the evil soft works i think that you're talking about like
eliminating

2313
02:07:52,400 --> 02:07:58,560
pay to script hash or something like that uh and those are the ones that it's within
the space of

2314
02:07:58,560 --> 02:08:04,080
soft works that i think you know benevolent or good things for the network are
because it once

2315
02:08:04,080 --> 02:08:08,960
you change sort of like permanent rules or anything like that that that opens up a
whole

2316
02:08:10,000 --> 02:08:15,360
like can of worms that i don't think we want to go down so for me like soft works
are very

2317
02:08:15,360 --> 02:08:22,560
important to like stay within that area of soft works and not and you know obviously
avoid the

2318
02:08:22,560 --> 02:08:28,720
evil soft works but you know go go with this uh sort of subset that's actually
benevolent okay

2319
02:08:28,720 --> 02:08:36,000
let's let's go back historically um in terms of paul when i was speaking to you over
email prior

2320
02:08:36,000 --> 02:08:44,000
to this you you made reference to it's a question of of is it worth it in the
instance of of a hard

2321
02:08:44,000 --> 02:08:50,720
fork and and we saw historically like for 2017 when when uh there's this push to go
from one

2322
02:08:50,720 --> 02:08:56,080
megabyte to two megabytes i mean the the resounding answer from a lot of individuals
was

2323
02:08:56,080 --> 02:09:02,320
no we don't we don't want to set the precedent of changing for for small incremental
uh increases in

2324
02:09:02,320 --> 02:09:09,360
block size like that um but we bitcoin has hard fork before so i'm wondering if
somebody wants to

2325
02:09:09,360 --> 02:09:14,880
maybe touch on it has when it was um i'm not sure that it ever intentionally has
because the only

2326
02:09:14,880 --> 02:09:20,640
two that i'm it's like kind of like one and a half one was when satoshi added the op
nops in

2327
02:09:20,640 --> 02:09:26,880
2010 or something and he's the creator so he sort of you know it's like creators
right or whatever

2328
02:09:26,880 --> 02:09:31,200
it's like doesn't really make it's not very very relevant consideration right since
he created in

2329
02:09:31,200 --> 02:09:37,840
the first place and then there was the other one was after the uh the summer 2015
database lock

2330
02:09:39,760 --> 02:09:43,680
situation i'm not exactly sure what to call that but there was something where a

2331
02:09:43,680 --> 02:09:48,800
database configuration rule had become a consensus rule without anyone knowing

2332
02:09:49,440 --> 02:09:54,480
and then it had been changed and so it is possible to sync old nodes but you have to
do

2333
02:09:54,480 --> 02:09:59,280
this extra step and so that sort of makes it a hard fork and i don't know like no
one has ever

2334
02:09:59,280 --> 02:10:06,240
like intentionally done a hard fork like through the whole peer review slow process

2335
02:10:07,040 --> 02:10:11,200
debated depending on how you interpret maybe i just drank too much last night but uh
i don't

2336
02:10:11,200 --> 02:10:16,960
think either of those are hard forks uh i actually can't think of any that because a
soft fork is

2337
02:10:16,960 --> 02:10:25,600
like sort of uh uh you know increasing the rules and like making it stricter um and
i don't think

2338
02:10:25,600 --> 02:10:32,800
either soft work is shrinking the rules yeah soft work is shrink you know well it's
it's increasing

2339
02:10:32,800 --> 02:10:37,760
the number of rules shrinking the set of things that are valid um but i i actually
can't think

2340
02:10:37,760 --> 02:10:43,280
of and maybe you know again the drinking thing um but i can't think of any that were
actually a

2341
02:10:43,280 --> 02:10:47,040
hard fork even like remove because you're talking about removing like OP_CAT and
stuff like that no

2342
02:10:47,040 --> 02:10:52,400
i'm talking does he added the opnops zero through whatever that's 20 they didn't
exist and he added

2343
02:10:52,400 --> 02:10:57,440
them for the specific purpose of later using them in software so he added like so
like what

2344
02:10:57,440 --> 02:11:03,600
what later became up uh check template verify or whatever or not excuse me now
you've got me all

2345
02:11:03,600 --> 02:11:11,120
confused i'm talking about um uh check check lock time verify uh that was added by
satoshi as a blank

2346
02:11:11,120 --> 02:11:15,680
thing that was like a blank check so when he added all the blank checks it was hard
but then when we

2347
02:11:15,680 --> 02:11:20,000
repurposed them individually that was soft but it doesn't make any difference
because it was so long

2348
02:11:20,000 --> 02:11:25,200
ago yeah and i think also just in terms of like this this notion of like time ago i
think there's

2349
02:11:25,200 --> 02:11:30,480
something you know to be said for like if you were considering a change and we knew
two ways of

2350
02:11:30,480 --> 02:11:35,760
accomplishing the identical goal in terms of the effect on the system except one had
a lot more

2351
02:11:35,760 --> 02:11:41,040
technical debt in how you might do it one of the things that bothers me sometimes
about a software

2352
02:11:41,040 --> 02:11:45,280
process is if you go through too much extra work to do the thing you're actually
signing up the

2353
02:11:45,280 --> 02:11:49,680
rest of the future of humanity to like maintain technical debt forever i'm like it
actually might

2354
02:11:49,680 --> 02:11:55,440
not be like we might be able to swallow a small amount of governance now for saving
like a bunch

2355
02:11:55,440 --> 02:12:00,240
of complexity and potential risk in the future well let's go down that road in in
what instances

2356
02:12:00,240 --> 02:12:06,800
would you see a hard fork as as not an absolute no like for each of you what well i
agree with

2357
02:12:06,800 --> 02:12:14,720
jimmy that the you don't want to do see the the way it kind of um played out was for
a while i

2358
02:12:14,720 --> 02:12:19,600
thought or and i guess people agreed with me also thought that the soft fork sort of
protects us

2359
02:12:19,600 --> 02:12:26,160
from arbitrary tyranny by the development process or something else because you can
stay on your

2360
02:12:26,160 --> 02:12:31,840
own node and then move to the new node if you want or stay but then now these things
have been just

2361
02:12:31,840 --> 02:12:38,160
these ways of discovery that equivocate the hard and soft work is these sort of
modern uh things

2362
02:12:38,160 --> 02:12:43,200
that are make it so that they're very similar in terms of what you can do and so the
way i say we

2363
02:12:43,200 --> 02:12:50,640
lose some of the protection and then what i my BIP300 is really about ending all
soft and hard

2364
02:12:50,640 --> 02:12:57,120
forks and putting them into to some extent uh so that the protocol can do an
unlimited number of

2365
02:12:57,120 --> 02:13:01,520
hard and soft works without actually without actually changing at all so the
protocol can

2366
02:13:01,520 --> 02:13:05,840
have a fixed amount of code you don't need to do any pull requests or write anything
else

2367
02:13:05,840 --> 02:13:13,760
and i kind of feel that we should move towards the direction of not uh changing
layer one bitcoin

2368
02:13:13,760 --> 02:13:18,320
code at all i'll give you a really concrete one where i think it's okay which is if
we did a soft

2369
02:13:18,320 --> 02:13:22,720
fork that turned out to be constitutory for a user who can demonstrate that you know
that what

2370
02:13:22,720 --> 02:13:28,560
they were doing their funds got stuck i would advocate for a hard fork to remove
that rule and

2371
02:13:28,560 --> 02:13:32,320
allow the user to get their funds out because it was the software community stole
money from this

2372
02:13:32,320 --> 02:13:37,040
person like to me that's a bad thing and they probably should have been more vocal
in that

2373
02:13:37,040 --> 02:13:41,760
process but if we have to patch in a hard fork to say we will allow this transaction
to proceed

2374
02:13:41,760 --> 02:13:46,160
to restore this person's funds i i think that that would at least from my
perspective like i don't

2375
02:13:46,160 --> 02:13:50,160
love the governance around it that would be in the shape of the right thing to do
well that that would

2376
02:13:50,160 --> 02:13:54,320
be interesting because you're kind of assuming that an evil software could go
through and that

2377
02:13:54,320 --> 02:13:59,360
you have to reverse not evil so for example if i wrote a smart contract that was
like in early

2378
02:13:59,360 --> 02:14:04,480
days of bitcoin using OP_CAT to do something and then cat got soft worked out which
it did

2379
02:14:04,480 --> 02:14:10,880
and then i demonstrated hey look like imagine like uh you know i don't know uh how
finney comes back

2380
02:14:10,880 --> 02:14:14,480
and he's like hey you know by the way like when and he was still you know around at
this point

2381
02:14:14,480 --> 02:14:18,480
but he's like by the way when you did this i couldn't advocate for myself but i got
unfrozen

2382
02:14:18,480 --> 02:14:22,800
and like i now i can't get to my coins because you thought and we talk about doing
these things all

2383
02:14:22,800 --> 02:14:27,040
the time um there's this thing called and i don't want to pick on anyone in
particular but like the

2384
02:14:27,040 --> 02:14:31,280
great consensus cleanup to clean up some of these really like edge condition things
that we don't

2385
02:14:31,280 --> 02:14:36,320
think anybody actually uses but if somebody relied on that i would want to honor the
reliance interest

2386
02:14:36,320 --> 02:14:41,600
so but to push back against that is in that setting the same kind of precedent that
was set with the

2387
02:14:41,600 --> 02:14:47,520
dow yeah i i i kind of agree with what you're saying here because i i i don't think
you want

2388
02:14:47,520 --> 02:14:53,120
a hard fork for any of that stuff if if like you should the time to speak up is at
the heart uh

2389
02:14:53,120 --> 02:14:58,480
at the soft fork hey you're going to confiscate some of my money if if you don't do
that at that

2390
02:14:58,480 --> 02:15:03,920
point now it's like oh you know what by the way i have this thing so i gotcha didn't
we just say

2391
02:15:03,920 --> 02:15:07,520
the whole point of the soft fork was that if you don't want to be a part of whatever
these people

2392
02:15:07,520 --> 02:15:12,640
are doing you can ignore what's going on yes but you were saying that before but
that's also the

2393
02:15:12,640 --> 02:15:18,800
the the feature of it that's now like the sort of fading away and doesn't it's not
present i didn't

2394
02:15:18,880 --> 02:15:23,360
say that i said it's backwards compatible well i think part of the point of the soft
fork is that

2395
02:15:23,360 --> 02:15:27,520
like a user who and these aren't things that are like necessarily like evil it's
just like things

2396
02:15:27,520 --> 02:15:34,160
that we do that have an unanticipated consequence but like if you are a you know
relying on this

2397
02:15:34,160 --> 02:15:37,600
thing and you're not paying attention to what's happening like this is a big deal
for us developers

2398
02:15:37,600 --> 02:15:40,880
is that we don't want to make it feel like the community has to pay attention to
what we're

2399
02:15:40,880 --> 02:15:45,200
doing we actually would prefer uh not for like reasons of like hiding stuff but we'd
prefer if

2400
02:15:45,200 --> 02:15:49,280
we operated in a way that most of bitcoin doesn't have to care if we're doing
something to tinker

2401
02:15:49,280 --> 02:15:55,360
with it but if that does happen like i i just don't you know like like i i would see
if i were

2402
02:15:55,360 --> 02:15:59,040
involved in such a thing i feel a personal responsibility to work on restoring funds

2403
02:15:59,040 --> 02:16:02,400
and maybe if it's a small amount of money you would just pay it out as like a okay
sure we'll

2404
02:16:02,400 --> 02:16:07,200
make you whole but i i do think that it's that it's like sort of uh like it ruins
part of the

2405
02:16:07,200 --> 02:16:10,800
promise of softworks if somebody can come forward later and be like you did
something that's

2406
02:16:10,800 --> 02:16:14,720
incompatible with what i was doing and now my funds are frozen you know i think i
can reply to

2407
02:16:14,720 --> 02:16:19,920
that by answering your question about what kind of hard fork actually would work in
practice maybe

2408
02:16:19,920 --> 02:16:24,320
because it doesn't make any difference what i think might i might like or whatever
but i think

2409
02:16:24,320 --> 02:16:29,280
you'd really have to get buy-in from the most important group in bitcoin which is a
bitcoin

2410
02:16:29,280 --> 02:16:36,080
investor and they are probably not technical which is means that they the status quo
will

2411
02:16:36,080 --> 02:16:43,600
have an enormous amount of leverage for lack of a better word and they you also need
to make it

2412
02:16:43,600 --> 02:16:49,440
seem as though this is in their best interest which probably would it would be
almost impossible

2413
02:16:49,440 --> 02:16:53,360
if you were saying like well some people lost their money somehow and we need to get
it back

2414
02:16:53,360 --> 02:16:57,520
they i would imagine it would make a lot of people nervous and so i i'm not i share
your

2415
02:16:57,520 --> 02:17:02,320
suspicion that that would that type of a hard fork to reassign funds to people would
be very

2416
02:17:02,320 --> 02:17:07,520
would be viewed with that it would be very skeptical and also like we're we're
presumed

2417
02:17:07,520 --> 02:17:11,760
we're doing like a presumption on top of a presumption that there's a soft work

2418
02:17:11,760 --> 02:17:16,880
that somehow confiscates someone's funds because it was used in this very weird way

2419
02:17:16,880 --> 02:17:24,560
an example would be like before SegWit somebody used the you know particular form
and it's okay

2420
02:17:24,560 --> 02:17:29,280
now now you can't redeem it because you know SegWit rules make it so that you can't
you can't

2421
02:17:29,280 --> 02:17:36,000
redeem that like that's a very specific like you you almost have to be pathological
to have done

2422
02:17:36,000 --> 02:17:44,400
that and it's it and we try to sort of like make sure that doesn't happen and it's
it's like

2423
02:17:44,400 --> 02:17:50,240
such a corner case to me that i i don't see this as like a thing that would
realistically happen

2424
02:17:50,240 --> 02:17:58,160
there is something uh where like in bitcoin um we have something called like the
like sequence field

2425
02:17:58,720 --> 02:18:02,720
and usually well let me jump up for a second usually when we have one of these
things like

2426
02:18:02,720 --> 02:18:07,120
a SegWit version we try to reserve it make it so it's really hard to send to the
network so we're

2427
02:18:07,120 --> 02:18:11,760
kind of communicating very clearly like hey you shouldn't rely on using this thing
because it's

2428
02:18:11,760 --> 02:18:15,920
for an upgrade if you use it like we can't guarantee what will happen so it's kind
of

2429
02:18:15,920 --> 02:18:21,120
undefined behavior and programmers we all love undefined behavior right so that's
kind of okay

2430
02:18:21,120 --> 02:18:26,720
use undefined behavior get screwed like that that's that's a clear contract but what
happened

2431
02:18:26,720 --> 02:18:32,240
is we had for n sequence which is how you do a relative time lock in bitcoin we had
something

2432
02:18:32,240 --> 02:18:36,160
that was intended for future upgrades but we forgot to do this thing where we don't
let you

2433
02:18:36,160 --> 02:18:41,280
send it to the network and so people actually started using it and recently i i
found this and

2434
02:18:41,280 --> 02:18:44,800
i was like hey we actually kind of screwed up on this we don't prevent people from
broadcasting

2435
02:18:44,800 --> 02:18:51,840
this is anybody using this because you probably like undocumented unspecified
behavior and then

2436
02:18:51,840 --> 02:18:56,720
we're like okay no one's using it good maybe we can do a just not even a software
just a policy

2437
02:18:56,720 --> 02:19:00,320
change to make them unbroadcastable and then people from the light network were like
no actually we

2438
02:19:00,320 --> 02:19:04,720
decided to put some extra metadata in there because we need a memo field we're like
why and

2439
02:19:04,720 --> 02:19:09,120
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

2440
02:19:09,120 --> 02:19:13,520
this is kind of still being debated and discussed but like now we've maybe like
permanently burned

2441
02:19:13,520 --> 02:19:17,040
n sequence for future upgrades and other people have been like no we haven't burned
it we just

2442
02:19:17,040 --> 02:19:21,200
need to do this trick and that trick and this other trick i'm like i personally like
i'm not sure

2443
02:19:21,200 --> 02:19:27,680
is it can uh can like a behavioral norm or a tradition become a mandatory soft fork
or

2444
02:19:27,680 --> 02:19:33,200
something yeah possible and we have a we have four bytes and every transaction has a
version

2445
02:19:33,200 --> 02:19:37,520
field that it's like what if people started using that or something does that just
we kind of do

2446
02:19:37,520 --> 02:19:43,760
right uh i'll check uh but we use like three of the of the four billion we use like
yeah well i

2447
02:19:43,760 --> 02:19:47,200
guess that that's where i was just saying you know in this example this is entirely
something

2448
02:19:47,200 --> 02:19:52,720
where i could imagine that if i had like and if i weren't you know maybe just like a
very selfish

2449
02:19:52,720 --> 02:19:57,200
developer i could have been like i noticed this thing but i want to propose
something for n

2450
02:19:57,200 --> 02:20:01,360
sequence and so i'm just not going to tell people about this issue and we might have
gotten pretty

2451
02:20:01,360 --> 02:20:05,440
far down the software path before anybody actually noticed that like hey actually we
have a hard

2452
02:20:05,440 --> 02:20:09,920
dependency on on using this and that's an example where i just think that these
things are at the

2453
02:20:09,920 --> 02:20:14,720
limits of our capabilities as like a software community well i i mean in a sense
like the

2454
02:20:15,840 --> 02:20:21,520
you you don't want to disenfranchise the people that are currently like kind of
using it and you

2455
02:20:21,520 --> 02:20:27,360
know like there's no permission required that's that's kind of the whole point so if
some people

2456
02:20:27,360 --> 02:20:33,520
are using it then you know i yeah it sucks as a developer because you don't have as
much freedom

2457
02:20:33,520 --> 02:20:40,240
to use certain fields or whatever but that's kind of the burden that you have as
somebody that's

2458
02:20:40,240 --> 02:20:46,800
trying to add features that you want to add that i think that's entirely fair it's
it's it's okay

2459
02:20:47,600 --> 02:20:53,040
that you know sequence of field is used in a way that maybe you don't like but you
know it is what

2460
02:20:53,040 --> 02:20:57,440
it is it's you can't force anybody on the network that's the five minutes so i want
to we've been

2461
02:20:57,440 --> 02:21:02,720
discussing a lot about things that can go wrong with soft forks implications for
people uh despite

2462
02:21:02,720 --> 02:21:08,880
it being a backwards compatible mechanism i'd like to talk a little bit about um
right now we're

2463
02:21:08,880 --> 02:21:15,280
talking about preventing bad things being put into the code but on the other side of
things we also

2464
02:21:15,360 --> 02:21:21,120
want to for the time that it's still malleable enough to introduce these types of
things things

2465
02:21:21,120 --> 02:21:26,240
that can uh give us huge improvements in bitcoin we still want to be able to do them
and i want to

2466
02:21:26,240 --> 02:21:32,160
maybe dive down the road of of activation methods and what we've gleaned from things
like like

2467
02:21:32,800 --> 02:21:39,840
SegWit uh because obviously there was we had some difficult time there uh things
that should not have

2468
02:21:39,840 --> 02:21:47,360
been maybe as contentious uh as they were uh became contentious so what do you guys
feel that

2469
02:21:47,360 --> 02:21:56,480
we learned about activation methods from SegWit to start with well i i i don't know
if like we can

2470
02:21:56,480 --> 02:22:01,440
assign moral value like saying we should have it should have been easier or whatever
it was what

2471
02:22:01,440 --> 02:22:07,280
it was right and there there's no sort of moral judgment that i i think we can
really cast on it

2472
02:22:07,280 --> 02:22:12,560
what what i will say though is that what we showed was that the corporations are
were not

2473
02:22:12,560 --> 02:22:19,760
in control and that was a major major event in bitcoin history and it's not a
coincidence that

2474
02:22:19,760 --> 02:22:24,480
bitcoin went up in price afterwards i at least i don't think so because we proved
that the

2475
02:22:24,480 --> 02:22:31,200
corporations don't control it uh now like like what what's what's the right way what
i mean

2476
02:22:31,200 --> 02:22:37,280
ultimately i i i'm not sure that it's like a permanent thing right like oh 90 is the
right

2477
02:22:37,280 --> 02:22:42,560
number and that's going to be the case for the rest of time or whatever i i think
each software

2478
02:22:42,560 --> 02:22:51,280
has its own sort of like sort of environment in which it has to activate and it you
you have to

2479
02:22:51,280 --> 02:22:58,320
get consensus whatever way you can for that particular software with each one um and
that

2480
02:22:58,320 --> 02:23:04,560
kind of sucks for people like like that are on stage with me because they want to
get something

2481
02:23:04,560 --> 02:23:10,240
on there and it's like well what's the process well i i hate to tell you but there
there is no

2482
02:23:10,240 --> 02:23:15,280
process and like you you just kind of have to go get consensus and i don't know
exactly what that

2483
02:23:15,280 --> 02:23:19,920
looks like but it's on it the burden is on you to prove to the rest of the community
that this

2484
02:23:19,920 --> 02:23:23,920
is something that's desirable yeah i can tell you and certainly i think jeremy will
agree that it's

2485
02:23:23,920 --> 02:23:29,040
very kafka-esque you're just sort of like i'll get consensus and it's like oh okay
thanks earlier

2486
02:23:29,040 --> 02:23:33,680
i said it's like kind of groundhog day you come out you see if you're there is there
consensus

2487
02:23:33,680 --> 02:23:39,600
today um i think just kind of adding on to that i think people really want to uh
learn from

2488
02:23:39,600 --> 02:23:45,200
anecdotes and i only care to learn from data uh is sort of my perspective on this
and i don't think

2489
02:23:45,200 --> 02:23:50,080
that there's any generalizable lesson out of what happened with SegWit other than
maybe oh

2490
02:23:50,080 --> 02:23:54,000
corporations like don't have this unilateral control like if they did we would have
seen

2491
02:23:54,000 --> 02:23:59,520
something else in this anecdote um but even that is not like the most useful thing
is maybe for

2492
02:23:59,520 --> 02:24:04,400
like a less controversial SegWit had controversy around it maybe it itself wasn't as
controversial

2493
02:24:04,400 --> 02:24:09,040
but hey it kind of was a little bit cautionatory to some miners who developed some
ip around it

2494
02:24:09,040 --> 02:24:13,840
right and that's like maybe something that we are like we fucked up like sorry for
the live streamers

2495
02:24:13,840 --> 02:24:19,840
or whatever but you know we messed up and uh you know we we don't want to uh uh we
we really

2496
02:24:19,840 --> 02:24:24,240
strive not to break anyone's mining hardware and that's something that like i think
it's a big egg

2497
02:24:24,240 --> 02:24:28,320
on the face of the you know development community that like okay like if i wanted to
learn something

2498
02:24:28,320 --> 02:24:32,560
it'd be like we should probably have much better integration testing that we have
some way of

2499
02:24:32,560 --> 02:24:37,600
making sure uh that you know every developer is like intimately familiar with how
mining

2500
02:24:37,600 --> 02:24:42,400
hardware works so that maybe we can you know avoid things like this in the future
that said

2501
02:24:42,400 --> 02:24:46,160
from my perspective we're probably not going to have a lot of forks that are like
SegWit

2502
02:24:46,160 --> 02:24:51,040
even softworks most of them are much simpler so that if you're trying to generalize
a lesson from

2503
02:24:51,040 --> 02:24:56,560
SegWit activation for check template verify which is you know what i work on it's
like i think most

2504
02:24:56,560 --> 02:25:00,880
of the learnings there just don't really map um you know there's some stuff that
maps but like

2505
02:25:00,880 --> 02:25:05,760
it's a very different thing it's a very different mining climate um and it's a
change that is just

2506
02:25:05,760 --> 02:25:10,880
like it's not coming in to solve something that's controversial it's something that
every it's in a

2507
02:25:10,880 --> 02:25:16,480
problem space that i think most people are like oh we're gonna make the uh i say
that make the

2508
02:25:16,480 --> 02:25:21,040
hardest money ever even harder yeah right it's like okay we can all agree on that um
we can all

2509
02:25:21,040 --> 02:25:25,520
agree on things like self-custody like i think that those are things that just like
the the type

2510
02:25:25,520 --> 02:25:29,920
of thing the lessons of like oh these things have to be really hard and we've got to
really like

2511
02:25:29,920 --> 02:25:34,640
be afraid of like pissing people off it's like yeah i'm not sure that everything
goes through

2512
02:25:34,640 --> 02:25:39,840
that same sort of gauntlet so i mean you know SegWit was controversial you're saying
there's

2513
02:25:39,840 --> 02:25:47,680
not a lot of those that are likely to we did just have a a large uh upgrade soft
fork that was not

2514
02:25:47,680 --> 02:25:53,760
uh especially controversial taproot um and so i'm wondering if if you guys just for
people

2515
02:25:53,760 --> 02:26:00,160
watching that are unfamiliar maybe just touch on what that enabled for us and uh and
and where that

2516
02:26:00,160 --> 02:26:05,840
can go and and things that are still needed beyond that that could uh be implemented
later but start

2517
02:26:05,840 --> 02:26:13,520
with what what did taproot do for us well for me i i think it gave us a lot more
privacy uh so you

2518
02:26:13,520 --> 02:26:18,880
you have this mass syntax tree and you have you you have the single key unlock on so
you have the

2519
02:26:18,880 --> 02:26:26,320
key spend and the um and the script spend and you you uh those were two different
types of addresses

2520
02:26:26,320 --> 02:26:31,600
all throughout bitcoin's history up until taproot so you had the pay to pubkey hash
addresses the

2521
02:26:31,600 --> 02:26:35,440
addresses that start with the one pay to script hash addresses which are the
addresses that start

2522
02:26:35,520 --> 02:26:40,240
with a three um even within SegWit there was the back 32 addresses that were shorter
and then the

2523
02:26:40,240 --> 02:26:44,640
back 32 addresses that were longer one was pay to witness pubkey hash the other one
was pay to

2524
02:26:44,640 --> 02:26:50,560
witness script hash you've combined those so essentially you can't tell which one is
and

2525
02:26:50,560 --> 02:26:58,800
in fact all taproot uh spends can can be uh one or the other and you have the option
of both and

2526
02:26:58,800 --> 02:27:03,680
there's no real penalty that you're paying for that um and that that gives you
additional privacy

2527
02:27:03,680 --> 02:27:09,520
but also you have this tap tree so you you can make some very very complicated
scripts or like

2528
02:27:09,520 --> 02:27:14,320
have many many different conditions under which you can unlock it and many of them
can be hidden

2529
02:27:14,320 --> 02:27:20,640
behind uh you know many um you know very deep in the mastery and so on so you know
depending on

2530
02:27:20,640 --> 02:27:27,840
the probability of their execution um and that this gives us a lot more flexibility
and sort of

2531
02:27:27,840 --> 02:27:34,720
how we spent uh you know have backups to our funds and stuff like that most of which
hasn't

2532
02:27:34,720 --> 02:27:40,640
really been you know adopted by wallets and so on so i i look forward to sort of
seeing a lot of

2533
02:27:40,640 --> 02:27:48,080
that um but i i would say that the main benefit is that we we've sort of upgraded
the security

2534
02:27:48,080 --> 02:27:55,200
for each user so you you have this ability to go and back up your wallet to you know
two of three

2535
02:27:55,200 --> 02:28:01,760
of this and four or five of this and you know even like um have you know public
companies or

2536
02:28:01,760 --> 02:28:06,720
something that you know publish their public key and have it possible for them to
unlock it and

2537
02:28:06,720 --> 02:28:11,840
they don't even know that they hold those keys right like those are some really cool
things that

2538
02:28:11,840 --> 02:28:20,400
we can have within taproot um you know so i i see it as like a beneficial software
but to go back

2539
02:28:20,400 --> 02:28:27,040
a little bit to you know you know what what what jeremy said and i think he's
absolutely right on

2540
02:28:27,040 --> 02:28:33,600
this you know the the process for SegWit and taproot i i really don't think you can
have

2541
02:28:33,600 --> 02:28:38,880
generalized lessons and i see that kind of as a feature not a bug right like it is
frustrating for

2542
02:28:38,880 --> 02:28:45,200
these guys obviously to you know have to go and try to find okay how do i get
consensus and you

2543
02:28:45,200 --> 02:28:51,520
know paul described it as kafka-esque or whatever it's like how do i convince well
you know if we

2544
02:28:51,520 --> 02:28:57,600
had like a strict process or something that i i think that would imply that we have
a permanent

2545
02:28:57,600 --> 02:29:02,160
governance model or something right like and that's exactly what we don't want this
is a

2546
02:29:02,160 --> 02:29:06,720
decentralized network and in a decentralized network what you need to do is convince
the people

2547
02:29:06,720 --> 02:29:11,200
that are part of that decentralized network and there are more people coming in and
out of this

2548
02:29:11,200 --> 02:29:18,320
decentralized network all the time so we should expect the sort of process by which
we add

2549
02:29:18,320 --> 02:29:24,240
softworks to be different each time because we have more constituents we have more
use cases we

2550
02:29:24,240 --> 02:29:32,080
have different features different thing things that are happening and in a sense
like each each

2551
02:29:32,080 --> 02:29:37,680
software has to be different because you have different people using it and that's a
good thing

2552
02:29:37,680 --> 02:29:42,160
i don't see that as a bad thing yeah i completely agree i don't think that the
controversy about

2553
02:29:42,160 --> 02:29:47,680
SegWit i think was almost zero percent about the actual SegWit part i don't i'm even
skeptical

2554
02:29:47,680 --> 02:29:52,880
that asic boost had anything to do with it um so i totally agree with that it's an
extra layer of

2555
02:29:52,880 --> 02:29:58,720
irony with BIP300 because what i'm sort of saying is that it should i can make it
not if you just

2556
02:29:58,720 --> 02:30:02,880
give me this one thing it won't be kafka-esque anymore because it will be uh there
won't be

2557
02:30:02,880 --> 02:30:06,754
any more changes to layer one bitcoin and if you want to do any hard or soft forks

2558
02:30:06,754 --> 02:30:33,754
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

2559
02:30:33,754 --> 02:30:37,594
actually people like that but don't we have everything perfect in bitcoin core i i
really

2560
02:30:37,594 --> 02:30:41,994
don't like that like lightning requires external software you know for example it's
like yeah so i

2561
02:30:41,994 --> 02:30:45,834
think that um so right it doesn't really it doesn't really apply but i think that's
part of

2562
02:30:45,834 --> 02:30:50,154
what people sort of stumble over it's also there's other features of it that are
very different or

2563
02:30:50,154 --> 02:30:58,314
maybe um like it alters who is the most important person i think to some extent so
that i think may

2564
02:30:58,314 --> 02:31:04,394
have something to do with it but i think it's also the the since it opens up this
unlimited space of

2565
02:31:04,394 --> 02:31:11,994
of of possibility uh people are the very conservative bitcoiner is sort of trying to
wonder

2566
02:31:12,874 --> 02:31:19,514
um well will one of those infinite things be really really bad and the answer is no
because

2567
02:31:19,514 --> 02:31:24,234
it's BIP300 is designed very cleverly so that your full node is totally ignoring
everything

2568
02:31:24,234 --> 02:31:30,074
that is happening on those other networks which is unlike the hard fork and unlike
even the what

2569
02:31:30,074 --> 02:31:33,754
we thought the soft fork had that property but it doesn't really have that property
so

2570
02:31:33,754 --> 02:31:39,434
this is a designed to be a big improvement on the process but it must go since it
doesn't exist yet

2571
02:31:39,434 --> 02:31:44,154
it must go through the process maybe instead of like soft work you should rename
Drivechains to

2572
02:31:44,154 --> 02:31:49,354
over easy forks yeah over easy fork i think people are saying like uh people have
tried to change the

2573
02:31:49,354 --> 02:31:53,514
terminology as i wrote a whole article about this at one point about people's
changing the

2574
02:31:53,514 --> 02:31:57,354
terminology and how the existing terminology doesn't really work because and then
there's a

2575
02:31:57,354 --> 02:32:01,354
very funny thread between i mean i don't know how far we should just throw this out
into like other

2576
02:32:01,354 --> 02:32:05,914
people but there's a reddit thread between adam back and Luke Dashjr where they're
like they're

2577
02:32:05,914 --> 02:32:09,594
going back and forth about whether or not something is a hard fork and it's very
funny it's like they

2578
02:32:09,594 --> 02:32:15,994
really don't agree but it's like it's because the the concepts have um they don't
have the

2579
02:32:15,994 --> 02:32:21,114
properties that people thought they had i think when it originally um well and
that's that's

2580
02:32:21,114 --> 02:32:27,434
something that we we really haven't defined in this talk right is is the definition
of a soft

2581
02:32:27,434 --> 02:32:33,114
work and you know like we've thrown around terms like evil soft work or whatever and
there and

2582
02:32:33,754 --> 02:32:39,514
this is a little bit of a problem because you know like for some uh developers like
that's not

2583
02:32:39,514 --> 02:32:43,914
a soft work that's actually a hard fork or something like that and it's like these
are these

2584
02:32:43,914 --> 02:32:49,914
are you know these things matter like they're they're technical minutiae that's not
transparent

2585
02:32:49,914 --> 02:32:57,994
to most users but they they matter um and you know this is where you know consensus
building

2586
02:32:57,994 --> 02:33:02,954
is especially hard again i feel for these guys right because it's not easy it's
really not

2587
02:33:03,754 --> 02:33:08,714
so we got about four minutes left um i think the last thing i'm going to love at you
guys

2588
02:33:08,714 --> 02:33:17,354
is what do you see as what's next coming down the pipeline and also at what point

2589
02:33:18,234 --> 02:33:22,074
if ever does bitcoin just ossify and these conversations are moved

2590
02:33:24,074 --> 02:33:28,954
i don't know uh so i guess like in ossification it's a popular topic people probably
don't

2591
02:33:28,954 --> 02:33:33,034
necessarily know what that means it means the the thing turns to bone it's like you
can't change it

2592
02:33:33,034 --> 02:33:38,634
anymore and so don't stop trying um and it also is kind of a pun because it's like
open source

2593
02:33:38,634 --> 02:33:45,914
software so the thing is if you look at like societies in general through history
they have

2594
02:33:45,914 --> 02:33:50,474
some amount of like technologically complicated product that they can produce and
it's a curve

2595
02:33:50,474 --> 02:33:56,154
and then when that curve starts turning the other way uh so the societies usually
like imminently

2596
02:33:56,154 --> 02:34:00,714
collapse it's just sort of a phenomenon of like okay there's some sort of you know
the decline

2597
02:34:00,714 --> 02:34:03,834
of the roman empire it's like okay well you look at the technologies they were
producing and i think

2598
02:34:03,834 --> 02:34:08,954
that for this ossification like maybe we can get bitcoin to the point but we if we
get to a point

2599
02:34:08,954 --> 02:34:13,754
where we don't have the type of developers available who could produce the same type
of

2600
02:34:13,754 --> 02:34:19,434
artifact i think we get ourselves into really hot water um just in terms of like
bitcoin as

2601
02:34:19,434 --> 02:34:25,274
a society um and that's something that really uh concerns me and i think one of the
ways that you

2602
02:34:25,274 --> 02:34:30,314
defray that is by keeping talent fresh that can actually work on these complicated
topics and

2603
02:34:30,314 --> 02:34:34,474
understands how bitcoin even works and that's something that that does concern me in
terms of

2604
02:34:34,474 --> 02:34:38,634
like is this ossification of bitcoin going to happen it's like i actually think it's
sort of

2605
02:34:38,634 --> 02:34:43,434
like the demise of bitcoin if it does even though i think the idea of we wouldn't
have to change it

2606
02:34:43,434 --> 02:34:48,954
is appealing yeah i'm gonna disagree with that because i really don't think of this
as technology

2607
02:34:48,954 --> 02:34:54,474
first i think of it as money first and money is better when it doesn't change and at
some point

2608
02:34:54,474 --> 02:34:59,514
yeah i think it'll ossify and i i don't think that's necessarily a bad thing because
you have

2609
02:34:59,514 --> 02:35:05,994
rules that are permanently in place and you know how to plan for the future as a
result of money

2610
02:35:05,994 --> 02:35:11,994
being permanent and and that ability to plan for the future is critical to
entrepreneurship to

2611
02:35:11,994 --> 02:35:16,634
civilization building and all that stuff and you know yeah there there are sort of
like

2612
02:35:16,634 --> 02:35:24,314
technological curves it's usually because of bad money that you get sort of like
this uh technological

2613
02:35:24,314 --> 02:35:29,754
fall off or something like that because you allow in a lot more rent seekers and so
on so for me

2614
02:35:30,474 --> 02:35:36,554
i don't see bitcoin that way that if we stop like soft working or something or
adding features that

2615
02:35:36,554 --> 02:35:42,874
it suddenly like means that we're on the decline or something like that money that
stays that that's

2616
02:35:42,874 --> 02:35:48,154
easy to predict is a very good feature of civilization i see that as like a stable

2617
02:35:48,154 --> 02:35:55,834
foundation uh of uh having a civilization built on the stable foundation of money as
a very good

2618
02:35:55,834 --> 02:36:02,314
thing and allowing uh which allows civilization to thrive i i would say i know a
real amount of

2619
02:36:02,314 --> 02:36:07,674
time like i find bugs like relatively often and like to fix them like i have to have
a lot of

2620
02:36:07,674 --> 02:36:12,154
specialized knowledge and if we don't know have people who are understanding how
these things

2621
02:36:12,154 --> 02:36:16,954
work adversaries will continue to find them and then they can take out the system
over time that's

2622
02:36:16,954 --> 02:36:21,914
what scares me about it i'll see that i'll leave it to paul you got one minute left
okay great i

2623
02:36:21,914 --> 02:36:27,034
think it's a very nuanced point um i think there's some things that have ossified
like you can argue

2624
02:36:27,034 --> 02:36:32,874
different parts of like the network the uh infrastructure of the internet uh have
sort of

2625
02:36:32,874 --> 02:36:37,434
they're sort of here to stay forever or warts and all right uh i mean again
obviously i'm a

2626
02:36:37,434 --> 02:36:42,714
proponent of this BIP300 thing which and then ossifying so i i am concerned about
the exactly

2627
02:36:42,714 --> 02:36:47,754
what you're talking about which is that we want something reliable for the long term
that that is

2628
02:36:47,754 --> 02:36:55,194
not is tamper resistant basically but i also agree with jeremy because i do think
that i don't you

2629
02:36:55,194 --> 02:36:59,514
know i don't agree that money is actually very stable across time i mean after all
moved from

2630
02:36:59,514 --> 02:37:03,754
shells to gold and then it became bank no money you can say whether or not you you
hate that but

2631
02:37:03,754 --> 02:37:07,834
that and then it's sort of becoming bitcoin but these are those are all changes and
i'm not sure

2632
02:37:07,834 --> 02:37:13,594
that in the modern world people are very you know i think in a sense like what
matters for bitcoin

2633
02:37:13,594 --> 02:37:19,034
is the UTXO set yeah and that's like ultimately the thing that matters a lot and we
can have any

2634
02:37:19,034 --> 02:37:22,714
you know system that we devise around that but it's really the property right system
that we

2635
02:37:22,714 --> 02:37:28,634
have to maintain over time awesome i think we'll leave it there uh gentlemen thank
you so much for

2636
02:37:28,634 --> 02:37:42,554
being here let's give them a big round of applause hello how's everybody doing got
that uh nice belly

2637
02:37:42,554 --> 02:37:47,594
full of food hopefully and ready to listen to a talk about discrete log contracts
and so let's

2638
02:37:47,594 --> 02:37:54,074
just start off with a raise of hands how many people have heard of dlcs before okay
quite a few

2639
02:37:54,074 --> 02:38:02,234
people how many people have tried dlcs before quite a few less people so i you know
i gotta

2640
02:38:02,234 --> 02:38:07,434
start off the talk with a little bit of shilling we're doing some dlc demos right
after this talk

2641
02:38:07,434 --> 02:38:12,874
by the big moon in the expo hall in the esports gaming arena if this stuff interests
you that

2642
02:38:12,874 --> 02:38:17,354
we're talking about today um come get some hands-on experience with it bring some
sats bring

2643
02:38:17,354 --> 02:38:22,714
an address that we can send the payout to for a dlc and a fun bet idea and you know
what we're

2644
02:38:22,714 --> 02:38:27,434
going to talk about here today on this panel is kind of you know what dlcs are what
problems do

2645
02:38:27,434 --> 02:38:32,714
they solve and how they actually work so i'm kind of like kicking us off here i want
to start with

2646
02:38:32,714 --> 02:38:38,554
uh you know introductions uh taj do you want to start sure uh sorry i'm taj draja
i've been working

2647
02:38:38,554 --> 02:38:44,874
on bitcoin for a long time uh i invented the lightning network with joseph boone
back in 2015

2648
02:38:44,874 --> 02:38:50,954
and similar like from that uh also wrote the paper discrete log contracts uh a
couple years

2649
02:38:50,954 --> 02:38:56,394
after that and sort of introduced this way to do smart contracts on bitcoin uh and
i'm actually

2650
02:38:56,394 --> 02:39:02,554
mostly working on u-tree xo a different new bitcoin thing um but today we're talking
about dlcs and so

2651
02:39:02,554 --> 02:39:05,594
i'm definitely really excited to see that like people are actually starting to use
it and stuff

2652
02:39:05,594 --> 02:39:13,594
so it's great cool hey everyone i'm tony uh i'm one of the co-founders and ceo of
atomic finance

2653
02:39:13,914 --> 02:39:19,034
so we're a toronto-based startup uh super early stage still but uh we're building a
mobile app

2654
02:39:19,034 --> 02:39:25,834
for folks to be able to put their bitcoin to work and earn a yield uh potentially on
their bitcoin

2655
02:39:25,834 --> 02:39:30,874
using options-based strategies that are built on top of dlcs which uh we're going to
talk more

2656
02:39:30,874 --> 02:39:37,594
about later today um i started in space uh 2017 actually started on the ethereum
space

2657
02:39:37,594 --> 02:39:43,114
and then decided to pivot and focus on the bitcoin side of things later on and you
know

2658
02:39:43,114 --> 02:39:48,154
found out that hey there's actually all this sort of cool functionality that we can
build

2659
02:39:48,154 --> 02:39:52,874
natively uh cool products cool uh applications that we can build natively on bitcoin
so why not

2660
02:39:52,874 --> 02:39:58,634
just do it natively on bitcoin and focus there and uh build build products for
bitcoiners so

2661
02:39:58,634 --> 02:40:04,074
yeah that's a quick intro for me hell yeah um i'm ben i worked with chris at shirt
bits for

2662
02:40:04,074 --> 02:40:10,794
about two years doing dlc stuff and i do a lot in my free time too and uh it helps
like build

2663
02:40:10,794 --> 02:40:15,594
the dlc wallet there like crystal ball or oracle software um me and justin moon are
working on like

2664
02:40:15,594 --> 02:40:23,434
a sdk for mobile wallet dlc stuff but um all work in progress stuff there um i'm
gonna steal a line

2665
02:40:23,434 --> 02:40:31,434
from ben on the end here and uh say uh uh taj is probably responsible for two
inventions that

2666
02:40:31,434 --> 02:40:36,794
employ a lot of people in this room lightning network and discrete log contracts can
i get a

2667
02:40:36,794 --> 02:40:43,354
raise of hands if you have employment because of this man here yeah the intent is
not job creation

2668
02:40:43,354 --> 02:40:46,874
ideally bitcoin would be like job destruction everyone would just hang out and not
have to

2669
02:40:46,874 --> 02:40:52,634
work but sorry about that yeah you trick so no there's like four people maybe in
three or four

2670
02:40:52,634 --> 02:40:57,354
years i guess yeah it takes a little while for it to catch on but yeah there's more
people working

2671
02:40:57,354 --> 02:41:03,274
on that now too so okay sorry um yeah back to like kind of discrete log contracts
it's uh you know

2672
02:41:03,274 --> 02:41:07,034
why is this an important problem to be solving in the first place you know we hear
about like

2673
02:41:07,034 --> 02:41:12,314
defi over in other blockchain ecosystems and like tony i'm gonna kick this over to
you why this is

2674
02:41:12,314 --> 02:41:17,834
you know a problem we should be solving in the bitcoin world yeah um the way we look
at it um

2675
02:41:17,834 --> 02:41:23,914
you know dlcs is a very interesting way to build some uh really cool products and
primitives uh

2676
02:41:23,914 --> 02:41:30,394
decentralized finance defi products for bitcoin um and the reason that uh our team
thinks about it

2677
02:41:30,394 --> 02:41:36,874
and why we think it's necessary to kind of explore ways to build bitcoin defi is
twofold

2678
02:41:36,874 --> 02:41:41,194
um well i'll break it down into like obviously defi consists of decentralized and
finance so why

2679
02:41:41,194 --> 02:41:46,794
is why are both of those parts necessary on bitcoin um the financial part i think is
a bit

2680
02:41:46,794 --> 02:41:54,234
more obvious um you know basically uh kind of like when you look at some of the
greatest assets or

2681
02:41:54,234 --> 02:41:59,594
currencies around the world um you know you notice that there's a very robust and uh
ecosystem of

2682
02:41:59,594 --> 02:42:05,274
financial tools around them and i think part of bitcoin's maturation uh process as a
financial

2683
02:42:05,274 --> 02:42:11,594
asset as a currency as a store of value is that there's going to be more and more
financial tools

2684
02:42:11,594 --> 02:42:16,874
uh that are built on top of bitcoin and i think that you know financial tools um you
know are

2685
02:42:16,874 --> 02:42:21,354
just going to be a large part of that maturation process in terms of decentralized
part of things

2686
02:42:21,354 --> 02:42:27,114
um i think that's where it starts to get a bit more interesting um right now uh the
way that

2687
02:42:27,114 --> 02:42:35,114
we look at it um there's kind of a big gap or dichotomy between bitcoin finance and
uh bitcoin

2688
02:42:35,114 --> 02:42:40,874
the asset today um bitcoin the asset as we all know you know censorship resistant
verifiable

2689
02:42:40,874 --> 02:42:46,234
transparent all that jazz um but the issue is you know when we look at a lot of
bitcoin finance

2690
02:42:46,234 --> 02:42:51,194
tools that are available today um you know it's kind of the opposite right you kind
of hand over

2691
02:42:51,194 --> 02:42:56,314
your coins to them then you don't know really what happens after the fact um you
know you can't

2692
02:42:56,314 --> 02:43:03,514
really verify much uh and even kind of removes the provable scarcity aspect of
bitcoin to some

2693
02:43:03,514 --> 02:43:09,594
degree because of potential uh you know of rehypothecation and all that kind of
stuff

2694
02:43:09,594 --> 02:43:15,354
and so that's why like we think that it's it's very necessary to build kind of sound
financial

2695
02:43:15,354 --> 02:43:20,874
tools or decentralized financial tools um that match a bit that you know for the
most part match

2696
02:43:20,874 --> 02:43:26,154
bitcoin's uh aspects in terms of you know provable scarcity in terms of
verifiability

2697
02:43:26,154 --> 02:43:30,954
transparency all that kind of stuff um and we think that that's uh you know we don't
want to

2698
02:43:30,954 --> 02:43:36,634
replicate some of the same issues that we see in the fiat world um you know uh
happen on bitcoin

2699
02:43:36,634 --> 02:43:41,994
and so why not build sound financial tools from the ground up that also carry most
of bitcoin's

2700
02:43:41,994 --> 02:43:48,474
best uh traits um that's kind of why we are really kind of strong believers in the
need to build

2701
02:43:48,474 --> 02:43:53,914
bitcoin defi the need to build sound financial tools for sound money um natively
here on bitcoin

2702
02:43:54,474 --> 02:44:02,394
so um i think that's like a good segue into um why we haven't seen like as much
development

2703
02:44:02,394 --> 02:44:07,914
for these tools on bitcoin and like a question i have for you taj is like kind of
like you know

2704
02:44:07,914 --> 02:44:12,394
what's the what why is it so hard to build things on bitcoin do you think it's a
cultural issue that

2705
02:44:12,394 --> 02:44:18,954
you know bitcoiners don't want this or do you think it's a technical issue of they
want it but

2706
02:44:18,954 --> 02:44:24,874
it's really freaking hard and you know it's not as easy as just deploying a smart
contract right

2707
02:44:24,874 --> 02:44:30,474
so yeah the sort of interesting thing is like the thing that eventually became
discrete log

2708
02:44:30,474 --> 02:44:35,114
contracts was one someone i knew uh joey zoo back in san francisco was like oh i'm
working on

2709
02:44:35,114 --> 02:44:39,594
ethereum like what's that like he explained the idea of a theory you know this is
way before their

2710
02:44:39,594 --> 02:44:44,234
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

2711
02:44:44,234 --> 02:44:50,554
wonder there's probably a way um and so yes it's one of the aspects is it's it's
easier right the

2712
02:44:50,554 --> 02:44:55,274
ethereum ecosystem has all these like tools and and you can just write whatever
crazy thing you

2713
02:44:55,274 --> 02:45:00,394
want and like lose 600 million dollars of other people's money and yeah
theoretically yeah and

2714
02:45:00,394 --> 02:45:04,954
and it is it is more difficult in bitcoin but i do think there are some technical
things that like

2715
02:45:05,914 --> 02:45:11,514
are funded quite different where if you actually look in ethereum what people are
spending a lot

2716
02:45:11,514 --> 02:45:17,594
of gas and using it for um a lot of its discovery and so what we have with discrete
log contracts

2717
02:45:17,594 --> 02:45:22,234
and like you know people have worked on it a lot it's it's contract execution and
you have all

2718
02:45:22,234 --> 02:45:26,714
this security it's like okay and we always talk about alice and bob's like okay
alice and bob

2719
02:45:26,714 --> 02:45:30,874
you know alice's long bitcoin bob is short bitcoin so bob has sort of something like
a

2720
02:45:30,874 --> 02:45:34,554
stable coin and alice has this like super volatile bitcoin because she thinks it's
going to

2721
02:45:34,554 --> 02:45:37,914
go up and that's like a good trade like they both want to do this and we have all
these really

2722
02:45:37,914 --> 02:45:43,914
secure ways to make that happen but we start with alice and bob yeah and really we
need to start

2723
02:45:43,914 --> 02:45:49,834
with alice doesn't know about like nobody knows anything and and it you need an
order book you

2724
02:45:49,834 --> 02:45:55,274
need a marketplace and i think that is what you sort of see being one of the use
cases one of the

2725
02:45:55,274 --> 02:46:00,954
things ethereum does have that is on the one hand horrible because it's enormous and
enormously

2726
02:46:00,954 --> 02:46:07,674
efficient for someone to say hey i'm interested in going long this asset anyone want
or like i have

2727
02:46:07,674 --> 02:46:12,634
an order i want to buy something for this amount i changed it my mind i cancel right
because i know

2728
02:46:12,634 --> 02:46:16,874
that in like wall street it's something like 100 to 1 like total number of orders
that go into a

2729
02:46:16,874 --> 02:46:22,074
market versus order execution right most people put in orders and then cancel them
and and so you

2730
02:46:22,074 --> 02:46:27,514
sort of see that recorded for all time in ethereum where it's all these orders and
cancellations and

2731
02:46:27,514 --> 02:46:33,834
it's very inefficient but people can find each other and that's one of the hard
parts that is

2732
02:46:33,834 --> 02:46:39,834
sort of still unsolved in bitcoin land where you're you know same with coin joins
same with a

2733
02:46:39,834 --> 02:46:44,234
lot of these other protocols it's like well yeah if you can find your counterparty
we know how to do

2734
02:46:44,234 --> 02:46:49,274
these things but finding each other in this like decentralized trustless way is
still something of

2735
02:46:49,274 --> 02:46:54,234
an open question so i think that's one of the big hurdles left and just to i mean i
100 agree with

2736
02:46:54,234 --> 02:46:59,354
that and think that's kind of one of the big unknown problems that we need to solve
in the

2737
02:46:59,354 --> 02:47:04,474
bitcoin ecosystem is to make that work with the UTXO model and then you know what i
call these

2738
02:47:04,474 --> 02:47:09,514
things is censorship resistant financial markets rather than just kind of censorship
resistant

2739
02:47:09,514 --> 02:47:13,914
money that we have at the moment and that's something that i think other blockchain
ecosystems

2740
02:47:13,914 --> 02:47:19,594
are kicking our butt at just by the sheer fact that it's possible there and yeah
it's not even

2741
02:47:19,594 --> 02:47:24,314
possible the you can see why bitcoin people don't want it because it's like we don't
want hundreds

2742
02:47:24,314 --> 02:47:29,514
of gigabytes of people trying to find each other recorded for all time that you have
about right

2743
02:47:29,514 --> 02:47:33,674
it's like no don't that should be offline that doesn't need to be on the blockchain
but it

2744
02:47:33,674 --> 02:47:38,154
doesn't need to be somewhere that's decentralized and so you know i i sort of have
actually this

2745
02:47:38,154 --> 02:47:42,234
conference started saying we need a layer two mempool right like i don't know if
that's the

2746
02:47:42,234 --> 02:47:47,274
cool catchphrase but like yeah we have the mempool make it happen twitter yeah we
have this mempool

2747
02:47:47,274 --> 02:47:50,954
where things are sort of floating around and miners grab stuff and make blocks and
make the

2748
02:47:50,954 --> 02:47:55,754
blockchain and the mempool is a huge i mean people have been talking you know so
other people today

2749
02:47:55,754 --> 02:47:59,274
have been talking about you know the open source work on the mempool it's super
important and

2750
02:47:59,274 --> 02:48:03,114
difficult we don't really have a layer two mempool we don't you know if you're
trying to find

2751
02:48:03,114 --> 02:48:06,954
counterparties on lightning if you're trying to do these things it's there's all
these sort of

2752
02:48:06,954 --> 02:48:11,354
sporadic uh peer-to-peer interactions it's work but there isn't what's nice is like
there's the

2753
02:48:11,434 --> 02:48:16,394
mempool and we can sort of all put stuff together so we don't quite have that as
like a layer two

2754
02:48:16,394 --> 02:48:19,994
thing but that's sort of still an open question there's lots of cool ideas about
that do you have

2755
02:48:19,994 --> 02:48:25,034
anything in the works to solve that just ask i'm just kidding it's it's a question
we keep talking

2756
02:48:25,034 --> 02:48:30,474
about but we don't we don't like oh silver burl not yet yeah maybe um i think that's
a really a

2757
02:48:30,474 --> 02:48:34,314
fair characterization it's something i'd you know like to say to the audience it's a
problem we're

2758
02:48:34,314 --> 02:48:40,234
solving and you know where does liquidity aggregate and where can you go find you
know

2759
02:48:40,874 --> 02:48:45,274
alice and where can alice and bob go to match each other in a decentralized way so
we don't

2760
02:48:45,274 --> 02:48:50,394
have this like regulatory pressure of you know depositing your coins on a
centralized exchange

2761
02:48:50,394 --> 02:48:55,194
and then you know they of course are um you know subject to the whims of whatever
jurisdiction

2762
02:48:55,194 --> 02:49:00,634
they're in and um i i think you know i think bitcoiners should take the problem more
seriously

2763
02:49:00,634 --> 02:49:06,474
but uh you know in terms of like what we can do with dlcs assuming that alice and
bob have found

2764
02:49:06,474 --> 02:49:11,194
each other already can we just like enumerate some of the the use cases of uh you
know what types of

2765
02:49:11,194 --> 02:49:15,034
contracts we can do uh ben do you do maybe you want to take that i mean like it's
cool you can

2766
02:49:15,034 --> 02:49:18,474
do almost anything like they have the options contracts for your betting on the
price of

2767
02:49:18,474 --> 02:49:23,354
bitcoin you know i also build a game where you just bet on super smash bros games or
you could

2768
02:49:23,354 --> 02:49:28,874
bet you know you guys are doing the thing how long is justin moon's mullet like uh
like you can you

2769
02:49:28,874 --> 02:49:35,034
can do like anything it's super 230 be there how long is justin moon's mullet so
like um because

2770
02:49:35,034 --> 02:49:39,594
all you're doing is having oracle sign a message of what something is so it could be
you know the

2771
02:49:39,594 --> 02:49:43,834
bitcoin price it could be the length of a mullet it could be a smash bros game it
could be like

2772
02:49:43,834 --> 02:49:48,794
what's the coordination of the stars or something like it can be almost anything so
it opens up

2773
02:49:48,794 --> 02:49:53,514
like a million use cases and you can like with that you can make lots of cool stuff
or like you

2774
02:49:53,514 --> 02:49:58,874
know the design with the bitcoin price so you could say like what's the execution of
this script

2775
02:49:58,874 --> 02:50:03,674
and make a real like actual smart contract that way yeah i mean i think like one of
the the most

2776
02:50:03,674 --> 02:50:10,074
clever things about dlcs is like the scripting is very minimal and intentionally a
lot of

2777
02:50:10,074 --> 02:50:15,434
information is left off chain and maybe ben or taj you guys want to speak to kind of
how that's

2778
02:50:15,994 --> 02:50:21,514
advantageous from a privacy and scalability perspective but ben yeah i mean it's
huge so

2779
02:50:21,514 --> 02:50:25,514
like um you know today like if you're using ethereum you're saying like this is
everything

2780
02:50:25,514 --> 02:50:29,674
i'm doing here's the exact price i'm trying to buy at and like they have a huge
problem where

2781
02:50:29,674 --> 02:50:33,274
there's like a minor extracted value where they just front run all the orders clean
up what

2782
02:50:33,274 --> 02:50:37,754
everyone's trying to do and just make free money and bitcoin or at least in dlcs you
can't do that

2783
02:50:37,754 --> 02:50:42,394
because all my contract data is off chain just between me and my counterparty just
like in a

2784
02:50:42,394 --> 02:50:47,754
database that we own and the uh and the actual contract is just like negotiating
between us and

2785
02:50:47,994 --> 02:50:52,394
all results in is spending from a multi-state and then spending out of it that's all
anyone can see

2786
02:50:52,394 --> 02:50:57,274
so i don't know like what we're betting on if we are even betting and i'm even like
your oracle

2787
02:50:57,274 --> 02:51:01,274
doesn't know so they might like maybe they you know see your ip address ping the
server i was

2788
02:51:01,274 --> 02:51:05,434
like oh they got the bitcoin price but i don't know if you were short or long what
the how big

2789
02:51:05,434 --> 02:51:09,674
your bet was anything like that so it's extremely private that way and then since
all this is all

2790
02:51:09,674 --> 02:51:15,354
off chain and just like two transactions it's a lot more scalable yeah i mean you
mentioned a i

2791
02:51:15,354 --> 02:51:20,314
guess a word that we haven't actually defined yet on this talk but uh you know what
is an oracle

2792
02:51:20,314 --> 02:51:27,674
does anybody want to take that question sure it's you know some you need a bridge
from the real

2793
02:51:27,674 --> 02:51:32,794
world why can't bitcoin go and just know what the bitcoin price is why can't bitcoin
know who won

2794
02:51:32,794 --> 02:51:37,754
the superbowl like why don't we just embed a http client into bitcoin and have it
reach out and

2795
02:51:37,754 --> 02:51:42,554
consensus figure out how long justin moon's mullet is yeah no none of these chains
like you know

2796
02:51:42,554 --> 02:51:47,674
everything needs an oracle because you can't you can't assume consensus on this
thing that

2797
02:51:47,674 --> 02:51:51,194
fundamentally we don't have consensus on right like what's the temperature outside

2798
02:51:51,194 --> 02:51:57,034
well we're outside you know and and so you need some kind of entity to just post and
say here

2799
02:51:57,034 --> 02:52:02,074
this is the score of the superbowl um and and you do have to trust that entity and
this is like a

2800
02:52:02,074 --> 02:52:08,234
problem um that i don't know there's like whole entire altcoins that are entirely
devoted to

2801
02:52:08,234 --> 02:52:13,914
oracles i don't know what they're doing but like to me to me it's always like well
you want to

2802
02:52:13,914 --> 02:52:18,874
minimize like here's this trust needed and so you want to minimize that right like
we we can't

2803
02:52:18,874 --> 02:52:22,954
really get around it but we want to reduce the power of the this oracle as much as
possible so

2804
02:52:22,954 --> 02:52:27,834
the goal is sort of like let's make the oracle as oblivious as possible to what's
going on so

2805
02:52:27,834 --> 02:52:32,314
they report this data but they don't see what people are doing with it or they don't
see how

2806
02:52:32,314 --> 02:52:37,754
many contracts are using this or anything like that um so to try to and also
cryptographically

2807
02:52:37,754 --> 02:52:44,634
they can't equivocate they can't um say oh the rams won the superbowl no the you
know oilers are

2808
02:52:44,634 --> 02:52:48,794
on the superbowl they can't they can't do both at the same time without losing their
private keys

2809
02:52:48,794 --> 02:52:54,474
which is sort of a nice extra thing but yeah it's it's you know some entity in the
real world

2810
02:52:54,474 --> 02:53:00,474
may be known may be anonymous that reports on real world data um and and that report
doesn't

2811
02:53:00,474 --> 02:53:06,154
have to go into the blockchain and ideally won't right so that that report
influences the blockchain

2812
02:53:06,154 --> 02:53:11,674
but can be on a website or something and so that's that's sort of the you know my
goal is like

2813
02:53:11,674 --> 02:53:16,634
limit the oracles yeah um and hopefully discrete law contracts can help do that and
i think that's

2814
02:53:16,634 --> 02:53:21,274
such a valuable point about how the data is not going into the blockchain itself and
another you

2815
02:53:21,274 --> 02:53:27,754
know property of this is that this the way the dlc specification works is this same
oracle can

2816
02:53:27,754 --> 02:53:32,234
be used across different blockchain ecosystems and you know we're at a bitcoin
conference today

2817
02:53:32,234 --> 02:53:38,074
but it's really nice not to have to have the oracle have you know a different
reputation for

2818
02:53:38,074 --> 02:53:43,594
you know the litecoin blockchain versus the Zcash blockchain versus the bitcoin
blockchain

2819
02:53:43,594 --> 02:53:49,674
the same oracle can be used across the entire dlc ecosystem and you kind of prevent
this like

2820
02:53:49,674 --> 02:53:56,714
fragmentation going on and also um you know an oracle can build a reputation that
way we are

2821
02:53:56,714 --> 02:54:00,794
like seeing that like the link guys announced they're trying to do dlc stuff so like
it's kind

2822
02:54:00,794 --> 02:54:05,194
of cool that like the shit coins are coming and trying to like adopt our stuff which
rarely happens

2823
02:54:06,794 --> 02:54:12,314
um yeah i mean it is really cool do you have any opinions on what oracles should

2824
02:54:12,314 --> 02:54:18,714
report on versus not reporting on or uh you know what what is the limitations of an
oracle like

2825
02:54:18,714 --> 02:54:23,594
how i think about it is you know you should always make sure if you're going to be
an oracle

2826
02:54:23,594 --> 02:54:31,914
in the dlc ecosystem the event has to be very cut and dry of what happened and like
taj was kind of

2827
02:54:31,914 --> 02:54:38,234
hinting at this earlier of like you know if what what's the temperature outside you
needed to define

2828
02:54:38,234 --> 02:54:44,234
like what the thing that you're going to attest to is very um airtight as possible
kind of almost

2829
02:54:44,234 --> 02:54:49,914
like a legal agreement otherwise you can have ambiguity and uh your smart contract
execution

2830
02:54:49,914 --> 02:54:55,274
is only as good as the oracles input into the you know the smart contract itself

2831
02:54:55,500 --> 02:55:22,500
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

2832
02:55:22,500 --> 02:55:27,140
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

2833
02:55:27,140 --> 02:55:33,780
and if one lies then i'm okay and so it's a really nice property it scales pretty
well or like your

2834
02:55:33,780 --> 02:55:38,740
contracts on chain is the exact same still you just need more data off chain but um
you're able

2835
02:55:38,740 --> 02:55:42,660
to like you know abstract out all these things and kind of protect yourself there if
you have

2836
02:55:42,660 --> 02:55:49,140
multiple oracles yeah um another thing that comes up a lot is like should oracles be
paid should

2837
02:55:49,140 --> 02:55:54,260
they not be paid does anyone have any thoughts on on the panel about you know
compensation for

2838
02:55:54,260 --> 02:56:01,060
the services that oracles are providing i think that like it depends um basically
it's it's an

2839
02:56:01,060 --> 02:56:05,460
interesting it's an interesting like question because like oh there's an oracle
being paid

2840
02:56:06,020 --> 02:56:12,020
open up the door for potential collusion or whatever um but like it's it's also
interesting

2841
02:56:12,020 --> 02:56:17,460
because maybe oracle should be thought of as a public good or something like that um
and so

2842
02:56:17,460 --> 02:56:23,940
yeah it's an interesting kind of like discussion topic i think that um you know if
if uh you know

2843
02:56:23,940 --> 02:56:30,980
if if say i'm building a product and i need you know an oracle with uh you know a
guaranteed

2844
02:56:30,980 --> 02:56:36,100
amount of uptime or something like that or some some sort of kind of like um you
know minimum

2845
02:56:36,100 --> 02:56:41,220
level of service then you know maybe then it makes sense for me to pay a little bit
more to like kind

2846
02:56:41,220 --> 02:56:47,140
of guarantee that kind of like uh uptime and stuff like that but uh otherwise like
um i mean it's

2847
02:56:47,140 --> 02:56:52,500
it's certainly an open question curious to hear what uh todd and ben have to say
yeah i mean i

2848
02:56:52,500 --> 02:56:57,620
think like like the actually operational cost of running an oracle is like basically
zero it's like

2849
02:56:57,620 --> 02:57:01,940
you post 64 bytes like you know when an event happens that's about it right so like
you know

2850
02:57:01,940 --> 02:57:06,020
all you're doing is you know making http request probably like you know nfl.com to
get the score

2851
02:57:06,020 --> 02:57:10,580
and then posting it so it they don't totally need to be paid it is good like you
know as an oracle

2852
02:57:10,580 --> 02:57:15,700
you want to be paid because who doesn't like getting paid but um it is like i don't
think it's

2853
02:57:15,700 --> 02:57:20,980
a huge problem of like incentives like most likely like you know people just set up
oracles and be

2854
02:57:20,980 --> 02:57:25,620
like oh it just runs on aws now forever and they'll sign every game they don't need
to worry about

2855
02:57:25,620 --> 02:57:30,100
anymore and i think like doing things like open source oracles where like you open
source like

2856
02:57:30,100 --> 02:57:35,300
my nfl oracle that signs every nfl game then everyone can run this now and we can
all see

2857
02:57:35,300 --> 02:57:39,380
like oh this one's fucking up he's signing the wrong thing and then you know you
just switch

2858
02:57:39,380 --> 02:57:44,900
over to new oracles like you don't need to like have these all these like you know
super like well

2859
02:57:44,900 --> 02:57:50,420
you know define things like just let's just have an nfl oracle and everyone runs it
i think one of

2860
02:57:50,420 --> 02:57:54,260
like yeah i definitely agree it's it's not that hard right you just sign a message
so it's not

2861
02:57:54,260 --> 02:57:59,940
like you know you're a minor or anything um i think it's the the one use case i keep
coming

2862
02:57:59,940 --> 02:58:04,820
back to is like the price of bitcoin right people want to bet on that we see there's
all these stable

2863
02:58:04,980 --> 02:58:09,940
you know tether and usdc and it's just like i'm always very curious like why people
use them

2864
02:58:09,940 --> 02:58:13,540
because it seems like a horrible idea and one day it's just going to get like seized
by some

2865
02:58:13,540 --> 02:58:19,780
government and everyone loses everything but um or not but but yeah but it's like
well you can

2866
02:58:19,780 --> 02:58:25,220
sort of get that action with dlcs where it's like okay i want a constant dollar
price contract and

2867
02:58:25,220 --> 02:58:32,660
so the bitcoin price seems very important and it does feel like oracles possibly in
that case would

2868
02:58:32,660 --> 02:58:37,300
be incentivized from non without getting paid so if you're in exchange you're you
know gemini

2869
02:58:37,300 --> 02:58:42,260
kraken you say well i want if there are people making derivatives contracts based on
the price

2870
02:58:42,260 --> 02:58:47,060
of bitcoin i want their price to be our price and most of the exchanges are very you
know very close

2871
02:58:47,060 --> 02:58:50,980
in price but not always you know there there can be a little bit of a divergence
here and there

2872
02:58:51,940 --> 02:58:56,660
and they can say well if you are doing these derivatives contracts we want you to
use you

2873
02:58:56,660 --> 02:59:00,740
know kraken's price and then that'll make more people want to trade on kraken
because you can

2874
02:59:00,740 --> 02:59:07,940
sort of net it out um and and you know you're already trusting these exchanges to
like hold

2875
02:59:07,940 --> 02:59:13,540
gazillions of bitcoin so trusting them to like say what the last trade price is
seems like a

2876
02:59:13,540 --> 02:59:18,100
much lower ask than that so that does seem like you know it's not happening now but
it could in

2877
02:59:18,100 --> 02:59:24,180
the future where where exchanges want uh to be oracles and want to get that it does
happen now

2878
02:59:24,180 --> 02:59:29,060
they like coinbase i think they do like a oracle for like aetherium and stuff so
it's not a part

2879
02:59:29,380 --> 02:59:33,380
of them do it for bitcoin yeah and that would that would be a fun you know so you
have the

2880
02:59:33,380 --> 02:59:38,420
sort of bitcoin fix where everyone's like you know trading on this like very
important auction

2881
02:59:38,420 --> 02:59:42,180
price and like okay here's the price of bitcoin for the day or something that'd be
cool and we're

2882
02:59:42,180 --> 02:59:47,300
starting to see that maybe yeah i mean i think another like interesting topic here
is like um

2883
02:59:48,340 --> 02:59:54,900
whether going back to how do alice and bob find each other in a decentralized
fashion is very

2884
02:59:54,900 --> 03:00:00,660
very hard in the UTXO world and it can be done in other blockchains although really
inefficiently

2885
03:00:00,660 --> 03:00:06,260
and with no privacy basically so um another like idea that i guess i've been
thinking about is like

2886
03:00:06,820 --> 03:00:13,540
is it important that you retain custody of the bitcoin uh while the matching happens

2887
03:00:14,180 --> 03:00:20,340
if the matching happens fast so like imagine i deposit money into kraken they do
what they're

2888
03:00:20,340 --> 03:00:24,260
really good at which is matching buyers and sellers and they print a bitcoin
transaction

2889
03:00:24,260 --> 03:00:29,780
that represents the dlc out the back does anyone have thoughts on that or why it's
good why it

2890
03:00:29,780 --> 03:00:36,420
might be bad any hot takes and it doesn't bring you the censorship resistant
financial market

2891
03:00:36,420 --> 03:00:42,500
still which kind of is the goal here but it is a i mean it is a like solution like
um and honestly

2892
03:00:42,500 --> 03:00:46,420
it should be a spectrum like you know we can have the most essentialized version
where it's like

2893
03:00:46,420 --> 03:00:50,260
i don't know like some like actual peer-to-peer network that we use to negotiate
these offers

2894
03:00:50,260 --> 03:00:54,500
and we have the like the centralized ones where you know deposit the kraken spit out
a dlc

2895
03:00:54,500 --> 03:00:58,340
and you can have things in the middle so they're all are viable we just kind of need
to

2896
03:00:58,340 --> 03:01:05,060
try them all out and see which one sticks yeah i mean i i i i think my my um
thinking is like

2897
03:01:05,060 --> 03:01:11,700
evolving on this about minimizing the amount of time that somebody else has custody
of your bitcoin

2898
03:01:12,340 --> 03:01:18,500
if that's 30 seconds to match a trade i think that's a pretty acceptable uh amount
of time if

2899
03:01:19,380 --> 03:01:24,820
you know the exchange in question uh is doing funky business people will stop
depositing money

2900
03:01:24,820 --> 03:01:29,940
into their exchange almost immediately and uh you just got to make sure you're not
using that same

2901
03:01:29,940 --> 03:01:35,380
exchange as the oracle and you do end up having some of the censorship resistance to
uh at least

2902
03:01:35,380 --> 03:01:38,500
how i've been thinking about of course that requires like a large amount of buy-in
from

2903
03:01:39,060 --> 03:01:44,740
the existing exchanges which are pretty uh vehemently against adopting any sort of
bitcoin

2904
03:01:44,740 --> 03:01:50,580
tooling it seems but uh maybe maybe someday another model would be sort of a broker
model

2905
03:01:50,580 --> 03:01:57,060
where you know there's one bob and lots of alices and so everyone's like yeah that's
that's bob like

2906
03:01:57,060 --> 03:02:02,100
everyone connects to this one broker and they're sort of a party to every trade and
and bob doesn't

2907
03:02:02,100 --> 03:02:06,420
necessarily have to take a position they can say well alice over here wants to go
short bitcoin

2908
03:02:06,420 --> 03:02:10,180
and also over here wants to go long bitcoin so i sort of net that out well and i
think that's

2909
03:02:10,180 --> 03:02:14,180
very similar to the atomic finance model if i'm not mistaken tony do you want to
speak to that

2910
03:02:14,740 --> 03:02:21,620
a little bit more yeah so basically like um uh how how for us how it works is like
basically we

2911
03:02:21,620 --> 03:02:26,660
do our matching like through an irc channel kind of similar to um lightning pool and
stuff like

2912
03:02:26,660 --> 03:02:33,620
that or joint markets right um and uh um basically like kind of just like you know
users are coming

2913
03:02:33,620 --> 03:02:38,420
on board on the app you know it's very seamless and on the front end for them just
that tap button

2914
03:02:38,420 --> 03:02:43,140
but in the back end what's happening is like you know generating an offer message on
irc channel

2915
03:02:43,140 --> 03:02:48,100
and then kind of like matching that up with a market maker on the other side so it's
kind of

2916
03:02:48,100 --> 03:02:53,140
like very simple stuff like that i think like uh remains to be seen kind of like
what uh you know

2917
03:02:53,140 --> 03:02:58,580
longer term what the matching stuff will look like and if we standardize on one
thing it's like that

2918
03:02:58,580 --> 03:03:04,660
but uh you know that's uh uh i guess an open question once again yeah yeah um
another thing

2919
03:03:04,660 --> 03:03:09,540
that i think is like really interesting about dlcs is like you know we've already
talked about

2920
03:03:09,540 --> 03:03:15,620
contract privacy so somebody that's a third party can't see what you're betting on
um without

2921
03:03:15,620 --> 03:03:21,380
having alice or bob reveal that information to them uh you know another interesting
component

2922
03:03:21,380 --> 03:03:27,220
of dlcs i think that's kind of underrated is how it's a dual funded protocol it
requires alice and

2923
03:03:27,220 --> 03:03:32,500
bob to uh put in some of their own bitcoin and ben do you want to speak to just kind
of how that

2924
03:03:32,500 --> 03:03:37,540
sometimes that can have a privacy impact at the transaction or blockchain level yeah
so like um

2925
03:03:38,500 --> 03:03:42,500
today like when chain analysis companies like try to figure out like what this
transaction is

2926
03:03:42,500 --> 03:03:46,900
they generally give the assumption all the inputs in the transaction belong to the
same person

2927
03:03:46,900 --> 03:03:50,820
so but with dlcs you're going to have you and your counterparty's inputs in there so
you're

2928
03:03:50,820 --> 03:03:55,140
going to break that heuristic and um if they don't know this is dlc then they might
accidentally like

2929
03:03:55,140 --> 03:04:00,020
you know link your two walls together and now you guys um you know screw the chain
analysis so good

2930
03:04:00,020 --> 03:04:05,860
job and um it's really nice and it's um great too because it just goes like you're
sending bitcoin

2931
03:04:05,860 --> 03:04:10,420
to a multi-segment out this is the exact same on-chain footprint as like a dual
funded lighting

2932
03:04:10,420 --> 03:04:15,140
channel and um so you get this really nice privacy where it doesn't even look like a
dlc always you

2933
03:04:15,140 --> 03:04:18,500
just be like and then once we have taproot as well it just looks like a normal
payment

2934
03:04:18,500 --> 03:04:24,660
so it has like really nice benefits there yeah i mean and i think any anytime you
can obscure that

2935
03:04:24,660 --> 03:04:30,340
transaction graph it again makes the analysis companies jobs harder and that should
be any

2936
03:04:30,340 --> 03:04:34,980
sort of dual funded protocol has that property as far as i'm aware yeah and so we
should all

2937
03:04:34,980 --> 03:04:39,940
be encouraging dual funded lighting channels things like dlcs especially if you're a
privacy

2938
03:04:39,940 --> 03:04:45,620
advocate and like really deeply care about that stuff so you uh you know make the
heuristics that

2939
03:04:45,620 --> 03:04:51,780
these companies use a little bit harder to analyze where coins are going and why
they're going there

2940
03:04:51,780 --> 03:04:58,100
um but ben you also brought up taproot you know the new uh upgrade to the bitcoin
network that

2941
03:04:58,100 --> 03:05:04,580
got shipped in november of uh 2021 or something like that uh could you speak to how
dlcs might

2942
03:05:04,580 --> 03:05:09,620
evolve or maybe taj you want to chime in there too how dlcs can evolve in a taproot
world maybe

2943
03:05:09,620 --> 03:05:15,620
start with taj sure yeah taproot i mean i can say taproot but then there's also a
bunch of

2944
03:05:15,620 --> 03:05:18,580
other changes people have been talking about especially in the last couple months on
like

2945
03:05:18,580 --> 03:05:25,300
mailing lists where uh taproot can help a bit with privacy and also the fact that
taproot can sort of

2946
03:05:25,300 --> 03:05:32,420
build these trees of uh potential spending paths in a single output script will let
you you know

2947
03:05:32,420 --> 03:05:37,380
have some more uh on-chain efficiency as well but there's also other things that
we've been looking

2948
03:05:37,380 --> 03:05:42,020
at that aren't something that you know bitcoin supports now it's like hey if you had
something

2949
03:05:42,020 --> 03:05:47,300
like sig hash uh any pre-vout which is something that people have been looking at
for years and

2950
03:05:47,300 --> 03:05:51,860
like hey you could do different lightning network style stuff like l2 with this you
could also make

2951
03:05:51,860 --> 03:05:58,340
uh dlcs more transferable so you could sort of pre-sign transfer uh one of the
issues with dlcs

2952
03:05:58,340 --> 03:06:03,700
is once you're in a contract if your counterparty's gone you're stuck in that
contract right until it

2953
03:06:03,700 --> 03:06:08,900
expires but if you had uh some other different op codes as well you could have it so
that you

2954
03:06:08,900 --> 03:06:12,660
could transfer it to someone else without your counterparty being online because
basically your

2955
03:06:12,660 --> 03:06:20,340
counterparty pre-signs off on any transfer uh also with OP_CTV there's ways to
increase the efficiency

2956
03:06:20,340 --> 03:06:25,620
as well and then there's also uh lewis fournier's post a few months ago about like
changing the

2957
03:06:25,620 --> 03:06:29,300
signature thing completely and i was like wow that's really really cool because i
don't really

2958
03:06:29,300 --> 03:06:33,780
know what we do with it it doesn't actually make it that much smaller but it just
seems like a very

2959
03:06:33,780 --> 03:06:38,900
powerful you know step towards something else so there's definitely lots of tools
that aren't out

2960
03:06:38,900 --> 03:06:43,380
yet but we're looking at and may someday in the future become it you know come into
bitcoin that

2961
03:06:43,380 --> 03:06:48,260
would allow uh even more powerful discrete log contracts kind of type of things i
mean i think

2962
03:06:48,260 --> 03:06:52,660
i think one of the big things is uh schnorr signatures included in the taproot
upgrade

2963
03:06:52,660 --> 03:06:58,340
too and ben do you want to speak to how uh you know schnorr changes uh dlc's
on-chain and maybe

2964
03:06:58,340 --> 03:07:03,060
off-chain as well yeah like um the beauty of like schnorr is it lets you do additive
things

2965
03:07:03,060 --> 03:07:07,700
and um so today when you're doing like a multi-sig on-chain it's very obviously like
two of two

2966
03:07:07,700 --> 03:07:11,700
multi-sig everyone can see it with tapper you can completely hide that and you just
do like

2967
03:07:11,700 --> 03:07:16,500
your multi-sig off-chain with these signatures so um today like when you do dlc
you're funding

2968
03:07:16,500 --> 03:07:20,580
this two of two multi-sigs everyone sees that like oh this is this is obviously the
dlc output

2969
03:07:20,580 --> 03:07:25,380
and these are the two change outputs with taproot they'd all look like the exact
same address and

2970
03:07:25,380 --> 03:07:28,740
so you couldn't tell what's going on and when you close it as well it's just gonna
look like a

2971
03:07:28,740 --> 03:07:33,460
normal spend not a multi-sig spend so it gives you this really nice um privacy of
hiding exactly

2972
03:07:33,460 --> 03:07:38,420
what's going on it's not like your dlc is gonna look the exact same as just a normal
like spend

2973
03:07:38,420 --> 03:07:43,380
from your blue wallet or something so you can't really tell anymore what's going on
and it's gonna

2974
03:07:43,380 --> 03:07:46,500
really hurt these like chain analysis companies they're trying to figure out like
they'll see

2975
03:07:46,500 --> 03:07:50,740
like a two of two multi-sig they're like okay this is a special transaction we can
tag this like

2976
03:07:50,740 --> 03:07:54,820
you know maybe this doesn't follow the common input here stick but now if they all
look the

2977
03:07:54,820 --> 03:07:58,900
same they can't do that they're like oh this is just a transaction we got to figure
it out

2978
03:08:00,340 --> 03:08:07,220
yeah to Taj's point um about ctv i think super exciting stuff potentially for dlcs

2979
03:08:08,500 --> 03:08:13,940
just from a ui ux perspective um you know right now maybe it takes for a typical
options contract

2980
03:08:13,940 --> 03:08:18,500
and dlcs takes like i'll just sit around for about 60 seconds to generate all the
signatures

2981
03:08:18,500 --> 03:08:22,660
and all that kind of stuff you know we try to make it fun on the app but like you
know it's

2982
03:08:22,660 --> 03:08:27,460
you know who has time to wait 60 seconds right so like you know if uh if that comes
into play

2983
03:08:27,460 --> 03:08:32,100
uh ctv comes on board then you know we can shorten that time dramatically to say
like a couple

2984
03:08:32,100 --> 03:08:36,660
seconds or something like that right which would be amazing from a ui ux perspective
and just make

2985
03:08:36,660 --> 03:08:41,860
things simpler um moving forward and that that's a really good point and maybe you
tag do you want

2986
03:08:41,860 --> 03:08:47,300
to speak to like you know why why is there such a huge computational load that comes
with dlc yeah

2987
03:08:47,300 --> 03:08:54,420
so so the basic thing of you know the basic thing of how dlcs work which is kind of
dumb is you pre

2988
03:08:54,420 --> 03:08:59,140
compute every single possible thing that can happen so so for if it's you know who
wins the

2989
03:08:59,140 --> 03:09:02,900
super bowl well that's just you know one or the other but if it's what are what's
the score of

2990
03:09:02,900 --> 03:09:06,660
the super bowl there could be you know thousands of different possible scores and
you know what's

2991
03:09:06,660 --> 03:09:11,780
the price of bitcoin well how you know how much do you round it to so there's
potentially many

2992
03:09:11,780 --> 03:09:17,940
thousands of possible outcomes and instead of having the blockchain figure out what
happens

2993
03:09:17,940 --> 03:09:22,340
the idea is we figure out every possible thing that can happen store it between
alice and bob

2994
03:09:22,340 --> 03:09:26,900
and then only one thing goes on the blockchain so there's this trade-off of how much
the alice

2995
03:09:26,900 --> 03:09:31,300
and bob are doing work how much the sort of end users are are storing and doing work
versus how

2996
03:09:31,300 --> 03:09:36,020
much the blockchain stores and one of the things i sort of ask and it's kind of
philosophical like

2997
03:09:36,100 --> 03:09:40,980
if you can save one byte on the blockchain how many bytes would you be willing to
store on your

2998
03:09:40,980 --> 03:09:46,340
local computer like a kilobyte a megabyte a gigabyte right because it's and it's
hard to

2999
03:09:46,340 --> 03:09:52,820
there's no right answer right but uh you know data on the blockchain is very it it's
it feels

3000
03:09:52,820 --> 03:09:56,260
heavy it's like man i'm putting something on the blockchain this thing's gonna be
around for

3001
03:09:56,260 --> 03:10:00,580
maybe longer than i am and everyone's gonna have to validate it and download it and
store it and

3002
03:10:00,580 --> 03:10:05,780
like i want to really minimize that and so the trade-off with dlc is it's i don't
know a thousand

3003
03:10:05,780 --> 03:10:11,220
one whatever you're having a constant size on chain transaction and potentially
quite large

3004
03:10:11,220 --> 03:10:16,100
amount of data between the two parties that that never sees the chain and so i i
generally think

3005
03:10:16,100 --> 03:10:19,700
that's good but but there are trade-offs right maybe it's too slow and like hey if
we can just

3006
03:10:19,700 --> 03:10:24,820
put another 20 or 30 bytes on chain we can take this 60 seconds down to like one
second that that

3007
03:10:24,820 --> 03:10:30,020
could be useful you know um and you know there's a market like fees and stuff so so
that's sort of a

3008
03:10:30,020 --> 03:10:34,020
one of the big trade-offs we're looking at and that opc tv could give different
knobs to change

3009
03:10:34,020 --> 03:10:39,460
as well there yeah i just realized you've made two protocols now that have like
these uh uh

3010
03:10:39,460 --> 03:10:44,500
infinite growing well no no i guess dlc's it's not infinite growing storage
requirements but

3011
03:10:44,500 --> 03:10:49,940
lightning until you close your channel i guess you you gotta keep adding to the
database right

3012
03:10:49,940 --> 03:10:54,420
but it doesn't but only one thing goes i mean they're very simply you know it the
dlc definitely

3013
03:10:54,420 --> 03:10:59,060
came out of the the research and work on lightning network um and they and they you
know the scripts

3014
03:10:59,060 --> 03:11:03,940
are the thing or were you know so they're very similar in that you want to put as
much data as

3015
03:11:03,940 --> 03:11:09,460
you can off chain uh and and sometimes that means you actually have scaling issues
on your single

3016
03:11:09,460 --> 03:11:13,780
computer but to me like a scaling issue on your computer is better than a scaling
issue for the

3017
03:11:13,780 --> 03:11:18,740
whole entire network yeah and i think that that's such a you know maybe you're the
originator of

3018
03:11:18,740 --> 03:11:23,460
this like kind of philosophical design point that i also hold of like just like keep
as much off the

3019
03:11:23,460 --> 03:11:28,100
blockchain as possible it's better for scalability of the blockchain it's better for
privacy of the

3020
03:11:28,100 --> 03:11:33,380
participants of the you know the contracting question on the blockchain and you know
consumer

3021
03:11:33,380 --> 03:11:39,300
hardware does keep getting better and better um although uh you know we keep doing
more intricate

3022
03:11:39,300 --> 03:11:43,700
and intricate things with that consumer hardware does any does anyone else have an
opinion on you

3023
03:11:43,700 --> 03:11:49,220
know on chain stuff versus off chain stuff i think a funny thing to bring up is like
when we're

3024
03:11:49,220 --> 03:11:53,700
developing the dlc wallet shared bits like when we first started i was like highly
unoptimized and

3025
03:11:53,700 --> 03:11:58,180
be like we tried to do like a three of five like oracle vet on the bitcoin price it
had like

3026
03:11:58,820 --> 03:12:03,540
a million outcomes or something and like our me and chris like we click like go and
both

3027
03:12:03,540 --> 03:12:10,100
our computers crash and we text each other like did you die too yeah so like um it
is a hard

3028
03:12:10,100 --> 03:12:13,620
problem to solve and we you know we added a lot of optimizations and stuff now we're
able to do

3029
03:12:13,620 --> 03:12:18,020
it in like a couple seconds but we have like high-end developer laptops like atomic
finances

3030
03:12:18,020 --> 03:12:22,180
on your iphone so it's like this doesn't have this insane chip and memory that you
can do it all

3031
03:12:22,180 --> 03:12:26,020
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

3032
03:12:26,020 --> 03:12:31,700
like rounding and we'd have like a 80 megabyte like databases for one contract that
we're just

3033
03:12:31,700 --> 03:12:36,580
like testing with and it'd be it wouldn't like the networking would like screw up
sometimes and

3034
03:12:36,580 --> 03:12:42,180
it's just a hard problem so it is like a nice thing that if we do get ctv is a huge
thing because

3035
03:12:42,180 --> 03:12:46,020
suddenly you negotiate all these transactions all you do is just basically both
produce the

3036
03:12:46,020 --> 03:12:49,700
same address and you both get the same as well you're like cool and you send to it
and now your

3037
03:12:49,700 --> 03:12:53,860
dlc is set up so it saves a lot of that uh bandwidth is which is really nice
especially for

3038
03:12:53,860 --> 03:12:59,300
like places like if you're doing like over tour where it's um very slow and stuff
like that or

3039
03:12:59,300 --> 03:13:02,420
if you're just you know somewhere in like you're from like nigeria or something and
don't have

3040
03:13:02,420 --> 03:13:09,060
5g internet like you know it's a big benefit yeah and just a another a plug in there
it's like

3041
03:13:09,060 --> 03:13:14,020
we ship our shirt bits wallet on the raspberry pies on umbrella and that's like
again where uh

3042
03:13:14,020 --> 03:13:18,900
there's a lot of sensitivity to performance because on low resource devices which i
think

3043
03:13:18,900 --> 03:13:23,700
you know most bitcoin applications strive to be deployed on uh this signature
computation

3044
03:13:23,700 --> 03:13:29,780
does become uh sometimes prohibitive for certain types of contracts that people want
to use um

3045
03:13:29,780 --> 03:13:35,700
my understanding of moving to taproot and schnorr is that computation does get
quicker which is

3046
03:13:35,700 --> 03:13:42,260
another uh benefit of moving to the to schnorr but we're not quite there in the dlc
specification

3047
03:13:42,260 --> 03:13:49,060
we're waiting on us getting taproot rolled out and deployed in the ecosystem before
we can take

3048
03:13:49,060 --> 03:13:54,420
advantage of that and the the like fournier you know changing the signature the
oracle signature

3049
03:13:54,420 --> 03:13:59,140
to i don't we need a term for it but not a signature at all where it's basically i
plus kx

3050
03:13:59,140 --> 03:14:03,940
that would probably be a thousand times faster for the end users or something you
know something

3051
03:14:03,940 --> 03:14:10,420
on the order of a thousand like point multiplication versus uh addition thousand ish
times faster so

3052
03:14:10,660 --> 03:14:16,100
that would be a huge improvement and it's it's still not 100 sure it's secure
because it's just

3053
03:14:16,100 --> 03:14:20,260
like a post on a mailing list and you're like that works i think okay so there's
still like

3054
03:14:20,260 --> 03:14:23,940
there's still enormous amounts of things to improve and research in this space which
is

3055
03:14:23,940 --> 03:14:28,660
really exciting another like i guess like going back to the oracle questions like
something that

3056
03:14:28,660 --> 03:14:33,460
we've been talking about a lot lately is like oracles attesting to something that's
globally

3057
03:14:33,460 --> 03:14:39,140
known such as the super bowl or what the weather is outside or you know what the
price of bitcoin

3058
03:14:39,140 --> 03:14:44,980
is on exchange there is like you know globally knowable answers to that versus like
attesting

3059
03:14:44,980 --> 03:14:51,300
to something that maybe isn't globally known but can be used to give a better user
experience like

3060
03:14:51,300 --> 03:14:58,020
maybe how much money specifically alice and bob receive in a very specific trade
rather than you

3061
03:14:58,020 --> 03:15:02,900
know attesting to what the bitcoin price is does any does anybody have any thoughts
there on you

3062
03:15:02,900 --> 03:15:09,620
know if that like warps oracle incentives at all or uh any ideas on that and it kind
of talks like

3063
03:15:09,620 --> 03:15:14,420
you're thinking of like uh doing like escrow with dlcs and like i think that is like
a a nice use

3064
03:15:14,420 --> 03:15:18,180
case for like instead of like having the escrow like be part of your transaction a
two or three

3065
03:15:18,180 --> 03:15:22,100
multi-sig they're not just an oracle and they don't know your transaction so you get
some privacy

3066
03:15:22,100 --> 03:15:26,420
it probably helps them with regulations and stuff but um it is kind of weird because
like if they

3067
03:15:26,420 --> 03:15:30,660
lie like look they lied be like you can't really totally prove it because it's not a
public event

3068
03:15:30,660 --> 03:15:35,940
of like you know did the package come to my house or not so um it kind of skews the
incentives but

3069
03:15:35,940 --> 03:15:39,780
i still think it's a good use case like dlcs have rolled nice benefits over like
bringing third

3070
03:15:39,780 --> 03:15:45,620
parties into your transaction so i think it's like a great way to do it still and
another um a

3071
03:15:45,620 --> 03:15:50,820
conversation i had in the last like month or two was with a you know a guy that runs
a pretty big

3072
03:15:50,820 --> 03:15:57,460
bitcoin uh company and how dlcs could be used for reoccurring subscriptions too
where you roll the

3073
03:15:57,460 --> 03:16:03,060
subscription over every month and the oracle pulls the money almost like you're
drawing down

3074
03:16:03,060 --> 03:16:08,180
a bitcoin address like a bank account and you can cancel the subscription at any
time by double

3075
03:16:08,180 --> 03:16:13,620
spending the transaction um the feedback that i've got from that id on the mailing
list is use

3076
03:16:13,620 --> 03:16:20,980
n lock time and i think that's like a fair rebuttal i still think there's some
non-interactivity

3077
03:16:20,980 --> 03:16:25,540
benefits maybe but uh is it does anyone have any thoughts on just kind of out of the
box uh

3078
03:16:26,100 --> 03:16:33,060
oracle ideas that don't necessarily tie directly to betting applications necessarily
or can can

3079
03:16:33,060 --> 03:16:40,020
can we take this oracle specification even further in the dlc ecosystem to enable
more use cases on

3080
03:16:40,020 --> 03:16:46,260
bitcoin and have bitcoin and oracles take over everything it's a it's a pretty
general protocol

3081
03:16:46,260 --> 03:16:52,100
but it does seem like yeah you ideally if this is like a public thing and and the
oracles can't

3082
03:16:52,100 --> 03:16:56,340
really lie that easily because you know and they don't know who's using the data
because if you're

3083
03:16:56,340 --> 03:17:01,300
sort of saying hey this is between alice and bob you need to check whether i got my
groceries

3084
03:17:01,300 --> 03:17:05,380
delivered the oracle already knows who's going to use this data and so there you've
sort of lost a

3085
03:17:05,380 --> 03:17:10,740
lot of that privacy so you know it it doesn't help as much there but it could be
used in these things

3086
03:17:10,740 --> 03:17:14,820
and there is there are companies like asking but it's sort of like sometimes you
lose a little bit

3087
03:17:14,820 --> 03:17:19,220
of the purpose of it but but a lot of times you you still you know if the software
is there people

3088
03:17:19,220 --> 03:17:23,780
will probably use it for that as well yeah um i think we're pretty much out of time
guys thank you

3089
03:17:23,780 --> 03:17:30,980
for coming out uh if we're doing dlc demos again 230 at the expo hall far left back
corner by the

3090
03:17:30,980 --> 03:17:36,500
big moon we're giving away these shirts if you manage to get through a dlc setup so
if you want

3091
03:17:36,500 --> 03:17:42,340
some uh shrewd bit swag with company on the front the math on the back uh come check
us out and

3092
03:17:42,340 --> 03:17:51,300
otherwise thanks for being a great audience what is up guys

3093
03:17:53,620 --> 03:17:56,740
we are here to talk about bitcoin nodes we got some of the

3094
03:17:57,540 --> 03:18:01,460
guys behind some of the best node projects in space up here to discuss it with us

3095
03:18:02,420 --> 03:18:09,300
um by a show of hands who uses their own bitcoin node awesome the whole room um

3096
03:18:10,180 --> 03:18:15,620
so i mean this is also getting recorded and broadcast out to lots and lots of people

3097
03:18:16,180 --> 03:18:21,460
um so i think a good just a good place to start is just to interact with the to
interact with

3098
03:18:21,460 --> 03:18:26,180
the bitcoin network you need to use a bitcoin node you don't use your own node
you're using

3099
03:18:26,180 --> 03:18:31,540
someone else's node if you're using someone else's node you're trusting them with
your privacy

3100
03:18:31,540 --> 03:18:36,660
and validation of the rules of the network commonly when you're using someone else's

3101
03:18:36,660 --> 03:18:40,740
node it's like if you use ledger live you're using ledger's node it's oftentimes a
company

3102
03:18:41,700 --> 03:18:45,220
or a mobile wallet if you're using blue wallet you're using blue wallets node

3103
03:18:46,500 --> 03:18:53,460
so with all that said let's get into this discussion we have s2 here from ronin dojo

3104
03:18:54,420 --> 03:19:00,020
we have keegan here from start nine we have jonas here from nix bitcoin and we have
root

3105
03:19:00,020 --> 03:19:05,460
sol here from raspi blitz you might recognize root sol because he's been running the
workshop

3106
03:19:05,460 --> 03:19:14,100
table outside uh before i forget we will be auctioning off three raspi blitzes at
the end

3107
03:19:14,100 --> 03:19:21,380
of tomorrow at 3 p.m with 50 of funds going to raspi blitz development and 50 going
to greater

3108
03:19:21,380 --> 03:19:31,780
open source development through opensats so guys um where do we start so i i guess i
let's start

3109
03:19:31,780 --> 03:19:37,780
with root salt root salt when you're when you're thinking about the raspi blitz
project um you know

3110
03:19:37,780 --> 03:19:43,380
what what are like the priorities that you're thinking about in terms of what what
to deliver

3111
03:19:43,380 --> 03:19:47,620
users and how to go about that so

3112
03:19:47,867 --> 03:19:52,627
how to go about that so for for the raspi blitz i think the uh the main focus is to
be this more

3113
03:19:52,627 --> 03:19:57,427
community driven kind kind of node so because we see it on the github so we have a
lot of forks

3114
03:19:57,427 --> 03:20:03,827
we have a lot of stars people really participating so um and this is i think
something for raspi

3115
03:20:03,827 --> 03:20:08,547
blitz to be really just open platform if people want to tinker if people want to
develop that's

3116
03:20:08,547 --> 03:20:13,747
that's definitely something we want to be open for um because this whole project
started from

3117
03:20:13,747 --> 03:20:18,707
the lightning hack days we did back in the days in berlin like they were in the
raspi bolt and

3118
03:20:18,707 --> 03:20:24,147
then it developed out into the raspi blitz and so this we want to keep this bird
going that's

3119
03:20:24,147 --> 03:20:31,747
kind of a thing our main focus awesome um so i mean keegan you guys have a very
different approach

3120
03:20:31,747 --> 03:20:37,907
there with start nine how do you think about that um yeah the central thing that
we're trying to

3121
03:20:37,907 --> 03:20:43,827
accomplish is that we've kind of identified that bitcoin as a project will not
succeed and retain

3122
03:20:43,827 --> 03:20:49,267
the properties that it was designed for in namely you know censorship resistance you
know seizure

3123
03:20:49,267 --> 03:20:56,867
resistance inflation resistance if the number of properly used nodes is
comparatively small to the

3124
03:20:56,867 --> 03:21:04,067
number of people who use bitcoin so we are trying to expand the number of users of
bitcoin in the

3125
03:21:04,147 --> 03:21:09,107
proper way so to speak uh to the largest set that we can reasonably do um and that
means that we

3126
03:21:09,107 --> 03:21:14,627
have to do a tremendous amount of work on the user experience side so we do a little
bit less

3127
03:21:14,627 --> 03:21:18,627
catering towards the tinkerers not that those people like those people are
tremendously important

3128
03:21:18,627 --> 03:21:25,427
to the community and you know not one size of product fits all but if everyone isn't
really

3129
03:21:25,427 --> 03:21:30,547
running their own node but they're still using bitcoin bitcoin is at risk of various
forms of

3130
03:21:30,547 --> 03:21:36,707
capture and so it's very important that as many people are running it as possible
and so ux is

3131
03:21:36,707 --> 03:21:43,027
kind of always at the top now that does mean removing certain decisions from the
point of

3132
03:21:43,027 --> 03:21:48,707
view of the user but we try very very hard to make a distinction between user like
choices users have

3133
03:21:48,707 --> 03:21:54,307
to make because they have to just you know use a computer versus choices they have
to make that

3134
03:21:54,307 --> 03:22:00,947
materially affect the way that they actually use bitcoin and so if and we try to
give as many of

3135
03:22:00,947 --> 03:22:04,787
those decisions back to the user as possible because after all if we're making
decisions for

3136
03:22:04,787 --> 03:22:09,187
how people are using bitcoin in some sense we might be capturing their ability we
don't want

3137
03:22:09,187 --> 03:22:14,227
to do that either so it's it's this delicate trade-off between trying to make it as
streamlined

3138
03:22:14,227 --> 03:22:21,107
as possible but still affording the user decisions uh to be able to use bitcoin in a
sovereign way

3139
03:22:22,067 --> 03:22:27,187
it makes a lot of sense i mean i think it's pretty cool that you know we do have
four of the major

3140
03:22:27,187 --> 03:22:33,667
node projects up here um and you guys have like you all take completely different
trade-off

3141
03:22:33,667 --> 03:22:40,067
balances i feel like um so jonas when you're talking about nix bitcoin like how do
you relate

3142
03:22:40,067 --> 03:22:45,987
to what what these two guys just uh yeah i would i would say we're yet on another
end of the spectrum

3143
03:22:46,067 --> 03:22:56,067
because we mostly cater towards tinkering our main focus emphasis is security
privacy and

3144
03:22:56,067 --> 03:23:04,707
customizability the trade-off for doing that is that nix bitcoin has kind of a steep
learning

3145
03:23:04,707 --> 03:23:11,827
curve and doesn't have a graphical user interface for example for most of the things
that it does

3146
03:23:12,787 --> 03:23:20,547
but i call this is the most low time preference node choice because in the beginning
you need to

3147
03:23:21,667 --> 03:23:27,907
invest a lot of time it depends on how you use it but you need to invest some time
to get up to

3148
03:23:27,907 --> 03:23:35,267
speed with it but then you will reap the results which i really think are a superior
privacy and

3149
03:23:35,267 --> 03:23:40,227
security on the system yeah i mean there is a bit of a steep learning curve there
but

3150
03:23:40,947 --> 03:23:46,627
you guys are definitely a a unique project in the space it's definitely really
appreciated how much

3151
03:23:46,627 --> 03:23:53,987
focus there is on on security and reproducibility um so i mean as to you're kind of
i feel like

3152
03:23:53,987 --> 03:24:01,907
you're kind of in the middle so so raspi blitz um i guess actually raspi blitz is
doing a similar

3153
03:24:01,907 --> 03:24:08,387
thing so start nine the main the main use users of start nine are actually buying
devices directly

3154
03:24:08,387 --> 03:24:13,107
from you keegan right yeah that's that's correct we sell like an integrated product
again it's

3155
03:24:13,107 --> 03:24:18,067
about streamlining the entire process and there are people who are going to have
raspberry pies

3156
03:24:18,067 --> 03:24:22,627
that they can repurpose and you know install software too and that's perfectly fine
but

3157
03:24:22,627 --> 03:24:26,947
there's like an entire category of users that don't even want to do that and in my
mind like

3158
03:24:26,947 --> 03:24:32,467
we have a hundred million bitcoin users today like not even all of those use their
or like

3159
03:24:32,467 --> 03:24:36,947
have their own keys which is you know itself a problem not one that we're directly
setting out

3160
03:24:36,947 --> 03:24:41,267
to solve at the moment but then there's another category of users that may have
their own keys

3161
03:24:41,267 --> 03:24:45,827
but don't use their own nodes and we're really just trying to say like how can we
make it such

3162
03:24:45,827 --> 03:24:51,427
that we have as few people who are using bitcoin at an arm's length distance as
possible how can

3163
03:24:51,427 --> 03:24:57,267
we close the gap between people who are using bitcoin as a like unit of account so
to speak

3164
03:24:58,147 --> 03:25:04,067
all the way to using bitcoin in its intended design with the properties that make
bitcoin

3165
03:25:04,067 --> 03:25:09,107
special but would you say like nine like ninety percent or something of embassy
users are using

3166
03:25:09,107 --> 03:25:13,907
the pre-built or yeah i'd say most of them we we don't really have a way to track
those metrics

3167
03:25:13,907 --> 03:25:18,307
because anybody who builds like we don't build any sort of analytics data for
privacy and yeah

3168
03:25:18,307 --> 03:25:22,947
i'm just saying like god right like the yeah i mean like my gut instinct is yeah
like the

3169
03:25:22,947 --> 03:25:27,667
majority the vast majority of them are purchasing it because the reason i'm going
into that is so

3170
03:25:27,667 --> 03:25:33,667
like with s2 with ronin dojo ronin dojo was primarily a build your own project open
source

3171
03:25:33,747 --> 03:25:39,187
project yeah with no layer monetization and recently you started selling pre-builds
right

3172
03:25:39,187 --> 03:25:45,027
right we kind of saw both ends that people want to maybe customize and build their
own node or

3173
03:25:45,027 --> 03:25:50,547
they want the convenience um so we want to kind of offer all of it but you want to
talk a little

3174
03:25:50,547 --> 03:25:56,547
bit about like so like ronin dojo is a free open source project yep uh but but you
want to be

3175
03:25:56,547 --> 03:26:02,147
sustainable you don't want to be uh dependent on donations yeah yeah i mean how do
you give

3176
03:26:02,147 --> 03:26:07,507
software away for free and keep a roof over your head right right so we build
products and services

3177
03:26:07,507 --> 03:26:12,867
around it you know essentially we have a focus on transactional privacy so the node
comes standard

3178
03:26:12,867 --> 03:26:18,787
with whirlpool uh you know so you can't be tracked as easily on chain we really care
about that but

3179
03:26:18,787 --> 03:26:23,667
we want people to be able to either buy a raspberry pi and build one whether they
want to use the

3180
03:26:23,667 --> 03:26:28,627
command line interface or if they want to buy a pre-built node and just have it be
plug and play

3181
03:26:29,027 --> 03:26:33,747
uh you know we know that there's people who are hungry across this spectrum of nodes
and

3182
03:26:33,747 --> 03:26:38,867
node offerings yep i think the support feature is pretty cool you want to go into
that a little bit

3183
03:26:38,867 --> 03:26:44,627
or yeah we have a premium support model so we'll like walk people through uh people
need to know

3184
03:26:44,627 --> 03:26:50,787
how to manage their UTXOs or use bitcoin privately and they don't want to be tracked
or surveilled

3185
03:26:50,787 --> 03:26:55,347
uh we're happy to provide premium support and that's just another service we can
build around

3186
03:26:55,347 --> 03:27:00,787
the product so that we can you know monetize and uh continue to give the software
away for free

3187
03:27:01,747 --> 03:27:05,827
russell how do you feel about monetization i mean because you guys sell pre-builds
too

3188
03:27:06,627 --> 03:27:11,827
does that go to directly fund development is that is that is it a similar strategy
or is it

3189
03:27:12,627 --> 03:27:18,227
yeah basically that's uh that's the one way how we can refinance a little bit like
the uh the cost

3190
03:27:18,227 --> 03:27:24,467
for development and it's and it's and it's also a nice way for people to support the
project like

3191
03:27:24,467 --> 03:27:31,267
okay i buy a pre-built node at the shop it's a good way to kind of support uh the
whole kind of

3192
03:27:31,267 --> 03:27:37,747
development awesome um so i mean i don't this question is not necessarily directed
at anyone

3193
03:27:38,387 --> 03:27:45,667
uh specifically um i guess i mean since i have all four of you on stage like do any
of you have

3194
03:27:45,667 --> 03:27:52,547
any concerns about you know maybe one node project becoming the predominant node
project and how do

3195
03:27:52,547 --> 03:27:58,227
you how do you think about that i mean whoever wants to jump in here i think i think
the the more

3196
03:27:58,227 --> 03:28:03,587
easy it is to migrate between them the less important that it is that one that it's
like

3197
03:28:04,307 --> 03:28:08,707
that there isn't a dominant one at any given time right like what you don't want is
a situation where

3198
03:28:08,707 --> 03:28:14,547
there's a dominant node product and they they lock you in super hard to their
ecosystem because that

3199
03:28:14,547 --> 03:28:19,427
is a means of exerting control that very similar to the way that we see in like uh
web 2 so to

3200
03:28:19,427 --> 03:28:25,667
speak or like the the big walled gardens of the giant internet companies but in the
absence of

3201
03:28:25,667 --> 03:28:31,107
that heavy lock-in which bitcoin itself is pretty good at doing the entire bip and
lightning

3202
03:28:31,107 --> 03:28:36,227
standards process makes it significantly easier to migrate between things which
means that at any

3203
03:28:36,227 --> 03:28:39,987
given time if there is a dominant implementation it's not like they have this sort
of like

3204
03:28:39,987 --> 03:28:45,987
stronghold that can't be breached so they're kind of they're kept honest by the fact
that users can

3205
03:28:45,987 --> 03:28:51,747
migrate i mean there's so many different uh applications to you know what people
want there's

3206
03:28:51,747 --> 03:28:56,787
you know there's a big spectrum of nodes some people might want certain services uh
it's hard

3207
03:28:56,787 --> 03:29:01,267
to encompass everything in one project there's always going to be people who are
interested in

3208
03:29:01,267 --> 03:29:06,947
like very hardcore security or they want you know transactional privacy or you know
it's there's a

3209
03:29:06,947 --> 03:29:12,387
lot of different applications you can host and uh it's hard to pack it all onto one
device and to

3210
03:29:12,387 --> 03:29:18,387
cover the entire spectrum and then but so so with on-chain bitcoin with a regular
bitcoin node that

3211
03:29:18,387 --> 03:29:25,267
you're using with on-chain um it's pretty easy to move around and change what
software you're running

3212
03:29:25,267 --> 03:29:31,187
and which which nodes you want to run um there is but a lot of people now like one
of the main

3213
03:29:31,187 --> 03:29:38,307
reasons they use an who who here runs a lightning node uses a lightning node okay so
all of these

3214
03:29:38,307 --> 03:29:45,347
people there's a degree of lock-in with lightning channels right like how do you do
you think do you

3215
03:29:45,347 --> 03:29:54,467
guys think there should be like some kind of standardization in terms of like
porting those

3216
03:29:54,467 --> 03:29:59,747
light like that lightning database without like corrupting your state and and
getting the penalized

3217
03:29:59,747 --> 03:30:05,747
transaction and losing funds is that should that be a priority in this space like
for easy migration

3218
03:30:05,747 --> 03:30:09,987
in that regard because i i would say that's probably the number one lock-in
especially if we

3219
03:30:09,987 --> 03:30:16,467
like enter um like a sustained fee and high fee environment the next thing you know
like fees are

3220
03:30:16,467 --> 03:30:22,227
120 sats per byte or something it would be very expensive to close channels and then
reopen

3221
03:30:22,227 --> 03:30:27,907
somewhere else so i feel like it makes a like kind of resistant jonas do you have an
opinion on this

3222
03:30:27,907 --> 03:30:35,107
i think this is a good point um in the next bitcoin case it is definitely possible
to do all this

3223
03:30:35,107 --> 03:30:40,707
migration but it's a very manual process that can also go wrong in horrible ways

3224
03:30:42,387 --> 03:30:48,387
because it's lightning and lightning is very stateful and yeah you know the problems
with this

3225
03:30:48,387 --> 03:30:55,267
so um i think this is one of the the things that um are part of the migration but
they are of course

3226
03:30:55,267 --> 03:31:02,787
also uh other things i would think like all the interfaces how how have you how have
you set up

3227
03:31:02,787 --> 03:31:08,547
your nodes and node in terms of options right every node project has a different
interface

3228
03:31:08,547 --> 03:31:14,867
and all of this i don't really think this is portable really uh like something you
could

3229
03:31:14,867 --> 03:31:19,587
easily do in five minutes because this would just having a standard on this would
just hold back

3230
03:31:19,587 --> 03:31:25,347
uh innovation in this space because i think it's a lost cause it's like i think this
part seems to

3231
03:31:25,347 --> 03:31:29,427
be a lost cause to me at least i think there's there's two questions here that
you're asking

3232
03:31:29,427 --> 03:31:33,827
there's the your there's the the migratability between the node projects and then
there's

3233
03:31:33,827 --> 03:31:37,587
actually the migratability between different lightning implementations yeah that's
if you

3234
03:31:37,587 --> 03:31:46,547
want to move from lnd on the embassy to lnd on run and dojo or on to lnd on you know
raspi blitz

3235
03:31:46,547 --> 03:31:52,387
or next bitcoin the you're not really having to do any serious lightning channel
migrations

3236
03:31:52,387 --> 03:31:56,227
because the data format is ultimately the same it's really can we shuffle data from
point a to

3237
03:31:56,227 --> 03:32:00,387
point b and like you probably don't need a standards process for that you just need
to

3238
03:32:00,387 --> 03:32:04,147
have relatively stable locations that these things need to be and never turn on the
old

3239
03:32:04,147 --> 03:32:10,067
node again right and and so yeah like lightning itself has its own problems with
respect to

3240
03:32:10,067 --> 03:32:14,947
how stable it is in the presence of multiple nodes but even like just cloning your
hard

3241
03:32:14,947 --> 03:32:18,787
drive and trying to set up a second one it's going to run you into that problem as
well

3242
03:32:19,667 --> 03:32:24,387
and then this there's the second question that you're asking which is migrations
between

3243
03:32:24,387 --> 03:32:31,267
different lightning implementations so lnd c lightning eclair anything else yeah and
that

3244
03:32:31,267 --> 03:32:36,147
one i'd like to see a lot more uh standardization but the various teams that are
working on that

3245
03:32:36,147 --> 03:32:41,027
may or may not have the incentive to do so and similarly to the various node
projects it's not

3246
03:32:41,027 --> 03:32:45,907
necessarily the case that any of us will have the direct incentive other than maybe
you know

3247
03:32:45,907 --> 03:32:51,667
sort of any goodwill that we have towards uh supporting the the ethos of the of the
movement

3248
03:32:52,387 --> 03:32:58,467
um but it's also can it's very tricky with lightning because so many things can go
wrong

3249
03:32:58,467 --> 03:33:04,307
because of the very delicate game theory and punishment schemes that keep the
lightning uh

3250
03:33:04,307 --> 03:33:12,947
incentives honest uh and and and the the sort of very few tools that we used to make
that happen

3251
03:33:12,947 --> 03:33:18,547
which is why we have lightning at all right now uh because of that delicacy it is
difficult

3252
03:33:19,187 --> 03:33:25,027
to make it such that people can't screw it up right and as a result i think a lot of
the the

3253
03:33:25,027 --> 03:33:30,227
node implementations and when i say no i mean like lndc lightning etc haven't really
given it a lot

3254
03:33:30,227 --> 03:33:35,347
of uh effort because you know there's a lot of ways to screw it up people shouldn't
be doing

3255
03:33:35,347 --> 03:33:41,667
it anyway so why commit effort to it but i think the longer that we see it like in
120 sats uh per

3256
03:33:41,667 --> 03:33:47,347
byte environment sustained for years which we can expect i think if we're going to
be trying to

3257
03:33:47,347 --> 03:33:53,907
onboard millions of users over the next few years uh in that sort of a situation we
may not have

3258
03:33:53,907 --> 03:33:58,227
another choice and so whether that people who step up from the community to figure
out how to do this

3259
03:33:58,227 --> 03:34:02,067
whether it's you know the implementations themselves that you know put effort into
it

3260
03:34:02,067 --> 03:34:08,627
like we have a certain amount of incentive to write migrations from others from
other node

3261
03:34:08,627 --> 03:34:13,267
implementations to us and so correspondingly you know other implementations might
have

3262
03:34:13,267 --> 03:34:17,587
an incentive to write migrations from our stuff to theirs and so like i think i
think we'll see it

3263
03:34:17,587 --> 03:34:23,267
materialize on a need basis but you know it's one of those things that necessities
of the mother

3264
03:34:23,267 --> 03:34:29,907
of invention here right rude so i mean i think you guys actually had the there was a
migration

3265
03:34:29,907 --> 03:34:35,907
tool or migration setup with umbral was that yeah am i correct migration so if you
run an umbral a

3266
03:34:35,907 --> 03:34:41,987
citadel or my note you can basically migrate to respi blitz it will only take your
kind of

3267
03:34:41,987 --> 03:34:50,387
blockchain and the uh and the lnd funds and channels if you use any other apps on on
on those

3268
03:34:50,387 --> 03:34:56,227
node projects this data will not get and that's lnd to lnd right you're not yeah
it's lnd to lnd

3269
03:34:56,227 --> 03:35:02,947
crossing for lightning the recipe blitz itself has also sea lightning so you you
have both there

3270
03:35:02,947 --> 03:35:09,827
um so the so the other kind of all have just lnd so um that's easy to kind of get
over because

3271
03:35:09,827 --> 03:35:15,187
and another thing is uh you know just even migrating the main chain data not just
having

3272
03:35:15,187 --> 03:35:21,187
to do the ibd again and download 450 gigs of blockchain right uh you know it's great
to be

3273
03:35:21,187 --> 03:35:26,547
able to switch between nodes and just you know you already have your blockchain data
and yeah i think

3274
03:35:26,547 --> 03:35:34,067
it's we all have an incentive to help the users switch between easily so i mean out
of out of all

3275
03:35:34,067 --> 03:35:41,027
four node projects here start nine is the only one that offers users the ability to
run

3276
03:35:41,027 --> 03:35:48,227
non-bitcoin apps on the node um and like jumping off of what root solve is
mentioning about

3277
03:35:48,227 --> 03:35:54,707
obviously not being able to migrate from apps that don't exist on raspi blitz do you
how do

3278
03:35:54,707 --> 03:36:02,867
you think about that in terms of both um you know lock-in or like a soft lock-in
where they they

3279
03:36:02,867 --> 03:36:08,067
already have their files set up they already have you know maybe they're using your
self-hosted

3280
03:36:08,067 --> 03:36:15,427
photo sharing and then also having that as their main bitcoin node like is that is
that a concern

3281
03:36:15,427 --> 03:36:19,747
or i guess they could just move to just a new bitcoin node and keep the star nine
for everything

3282
03:36:19,747 --> 03:36:25,107
else i'm just answering the question there is absolutely nothing uh that stops
people from

3283
03:36:25,107 --> 03:36:32,707
using multiple versions of these sorts of things uh to manage different parts of
their lives um

3284
03:36:32,707 --> 03:36:37,987
we our mission is a little bit more broad than bitcoin in general i think we see a
lot of these

3285
03:36:37,987 --> 03:36:43,907
uh freedom infringements in other parts of our lives i think the one that might
resonate with

3286
03:36:43,907 --> 03:36:48,707
a lot of people in this room is like twitter banning people who happen to be having
the

3287
03:36:48,707 --> 03:36:53,987
incorrect view of the day which may shift by the day um and so you might have like
competing

3288
03:36:53,987 --> 03:36:58,787
projects like mastodon which are uh have been around for a while but they just
haven't experienced

3289
03:36:58,787 --> 03:37:03,827
wide deployments because you know we have not put the effort into having a
peer-to-peer deployment

3290
03:37:04,387 --> 03:37:10,387
uh that that is made easy for people and so we we want to be able to bring that to
as many aspects

3291
03:37:10,387 --> 03:37:15,107
of people's digital lives as possible and bitcoin is one section of it um but you
know there's

3292
03:37:15,107 --> 03:37:19,587
nothing there's absolutely nothing that stops someone from like running you know two
different

3293
03:37:19,587 --> 03:37:25,027
node implementations and you know the start nine uh embassy one being for their
non-bitcoin stuff

3294
03:37:25,027 --> 03:37:30,387
and you know their whatever other implementation that they're using for their
bitcoin stuff right

3295
03:37:30,387 --> 03:37:36,387
um so i wouldn't necessarily say that it's like soft lock-in on a like cross app
basically you

3296
03:37:36,387 --> 03:37:41,187
might have some soft lock-in in the sense that if you know you are running an app
that one of the

3297
03:37:41,187 --> 03:37:46,547
other implementations doesn't have then you know that's that is a lock-in of sorts
but we

3298
03:37:47,347 --> 03:37:54,947
we generally take the position that any application that is on our uh on our node

3299
03:37:55,827 --> 03:38:00,307
has to be open source right it doesn't necessarily have to be fast but it needs to
have the source

3300
03:38:00,307 --> 03:38:05,507
absolutely available and that is what helps people be able to actually break those
lock-ins

3301
03:38:05,507 --> 03:38:09,027
right because they know the data formats they can be like okay let me go scrape this
out

3302
03:38:09,027 --> 03:38:13,827
and move it over would you even would you even frame start nine as a bitcoin node or
is it

3303
03:38:13,827 --> 03:38:21,507
it's like a self-hosting everything with bitcoin it's a personal private server and
we named it

3304
03:38:21,507 --> 03:38:27,267
the embassy not on a whim uh we kind of think about it as sovereign territory in
foreign land

3305
03:38:27,267 --> 03:38:33,507
right where the internet is kind of like wild west and this is kind of like your
your you know

3306
03:38:33,507 --> 03:38:40,627
castle your your embassy uh your your location that you have sovereign control over
even though

3307
03:38:40,627 --> 03:38:46,787
sort of outside of the walls it may not be as right so i mean part of uh

3308
03:38:48,227 --> 03:38:53,907
part of the reason why this idea of lock-in with nodes i think most of you would
agree with me

3309
03:38:54,707 --> 03:39:02,627
is a concern that maybe one of the node projects becomes malicious or non-aligned
with users or

3310
03:39:02,627 --> 03:39:08,067
you know starts releasing you know like the fork wars we had right where they

3311
03:39:08,067 --> 03:39:12,227
maybe you know we didn't have these node projects at the time most people were just

3312
03:39:12,227 --> 03:39:19,507
running bitcoin core on their computer themselves um if one of if one of the major
node implementations

3313
03:39:19,507 --> 03:39:26,547
was pro SegWit2x and they sent out an update to everybody um and switched them
towards that

3314
03:39:27,107 --> 03:39:33,747
uh that could obviously become a major issue um but at the same time because of
lightning

3315
03:39:33,747 --> 03:39:39,187
so there was this ethos in bitcoin that it was like don't update right away first of
all

3316
03:39:39,187 --> 03:39:45,267
no auto updates period because if you have auto updates someone can uh issue you an
auto update

3317
03:39:45,267 --> 03:39:51,107
and that auto update could be malicious yeah like to briefly add on to that if you
self-host your

3318
03:39:51,107 --> 03:39:56,707
stuff but the operating systems or the apps have the ability to force updates on you
you

3319
03:39:56,707 --> 03:40:01,347
your self-hosting isn't doing a lot right because self-hosting is supposed to afford
you a sense of

3320
03:40:01,347 --> 03:40:06,867
control and forced updates undermine that right it's an attack vector it's a
centralized attack

3321
03:40:06,867 --> 03:40:12,467
vector so then but at the end and there was this the ethos went farther than that it
was like

3322
03:40:13,347 --> 03:40:17,347
and i i still think it's that way today at least on base chain which is you know

3323
03:40:18,227 --> 03:40:23,507
there's no rush to update you can be a couple versions behind in a lot of ways that
could be

3324
03:40:23,507 --> 03:40:31,347
more prudent uh while while reviews happening on on on new nodes or new you know new
node versions

3325
03:40:33,827 --> 03:40:38,307
or at least you know maybe i'd have some people that are still running older
versions you know

3326
03:40:38,307 --> 03:40:42,547
people run really old versions of bitcoin it's still backwards compatible but then
on the

3327
03:40:42,547 --> 03:40:48,227
lightning side you know there's situations where it's like if you don't update right
now

3328
03:40:49,027 --> 03:40:54,307
there's major fund loss risk like i remember i was here in miami for the hrf event

3329
03:40:56,307 --> 03:41:02,067
and i was on stage and i got off the state i got off stage and stephan came up to me
and he was

3330
03:41:02,067 --> 03:41:08,147
like i think it was two lightning implementations i don't remember i definitely lnd
was one of them

3331
03:41:08,147 --> 03:41:13,187
because i was running lnd and it was like update immediately you know attack in the
wild you can

3332
03:41:13,187 --> 03:41:20,627
lose funds right now and i was on stage and my node wasn't accessible to me and just
for like a

3333
03:41:20,627 --> 03:41:24,627
week i just obviously didn't update because i couldn't and then i got home and
didn't lose any

3334
03:41:24,627 --> 03:41:33,587
money so it worked out but is there an argument to be made that on the lightning
side because it's so

3335
03:41:34,227 --> 03:41:38,627
new that there should be auto updates like how do you guys think about like jonas
what do you think

3336
03:41:38,627 --> 03:41:49,507
about that no auto updates are are not a good thing of course for beta software
perhaps like

3337
03:41:49,507 --> 03:41:57,587
lightning or experimental in some sense you need to use frequent updates you need to
take care of

3338
03:41:57,587 --> 03:42:04,387
your funds of course running a node isn't easy today it will take some time until it
will be

3339
03:42:04,387 --> 03:42:09,587
easy and one of the parts that make it hard is that you need to keep up to date with
updating

3340
03:42:09,587 --> 03:42:18,067
your software as well and back to the bitcoin code even in that case i wouldn't be
so sure

3341
03:42:18,067 --> 03:42:23,907
whether it makes sense to run old bitcoin versions because you never know if a new
bitcoin version

3342
03:42:23,907 --> 03:42:33,507
has some kind of hidden bug fix so one of the things that some people do for example
is to have

3343
03:42:33,507 --> 03:42:39,747
like two bitcoin nodes that are connected to each other and like you have one one of
them

3344
03:42:39,747 --> 03:42:46,067
facing the outer world that is an updated node updated to the most recent version
and then you

3345
03:42:46,067 --> 03:42:50,867
have another node that is just connected to this gateway node and running an older
version

3346
03:42:50,867 --> 03:42:57,827
and this is for example something that you could do with nix bitcoin oh that's
interesting so it's

3347
03:42:57,827 --> 03:43:05,587
like built in that way intentionally or is there is it just users can can do that
it's just built

3348
03:43:05,587 --> 03:43:11,827
customized enough so that you could that you could build that got it as long as the
user has a choice

3349
03:43:11,827 --> 03:43:16,707
i think it's you know that's really important and also if you're in beta or you know
lightning and

3350
03:43:16,707 --> 03:43:22,307
doing experimental things you should put proper warnings and let people know that
you know don't

3351
03:43:22,307 --> 03:43:27,027
don't put more on there than you're willing to lose but isn't that kind of bullshit
warning

3352
03:43:27,027 --> 03:43:32,387
it is but if you're in beta you just you need to do your users justice and let them
know and

3353
03:43:32,387 --> 03:43:38,227
properly educate them that they need to pay attention to every update and be aware
fair

3354
03:43:38,227 --> 03:43:42,867
enough and this is you know anytime you're developing something like this you go
through

3355
03:43:42,867 --> 03:43:48,307
long periods of you know the users need to be aware of all these changes that are
being made

3356
03:43:48,307 --> 03:43:54,467
rutzel how do you feel about this i think if you the question is always the of
centralization

3357
03:43:54,467 --> 03:44:00,387
right because this is one point the update is coming from um so if you can put in
another

3358
03:44:00,387 --> 03:44:05,107
service provider that uh that built makes a build for you somebody a group that you
trust something

3359
03:44:05,107 --> 03:44:09,667
like this this could there could be something a little bit more easy for the user
maybe pushing

3360
03:44:09,667 --> 03:44:15,427
hard into into your note is always critical this is why recipe blitz always has to
make a new sd

3361
03:44:15,427 --> 03:44:20,467
card and it goes through the update basically um but i think when you go into this
convenient thing

3362
03:44:20,467 --> 03:44:26,227
because in the end that's what a lot of users want is the easy update um then you at
least have

3363
03:44:26,227 --> 03:44:30,467
to think about making it possible to that you can choose your source of updating and
you can

3364
03:44:30,467 --> 03:44:35,347
choose your kind of trust group and you're not not everything is targeted to this
one company

3365
03:44:35,347 --> 03:44:40,307
so you have like multiple update sources it's like a toggle or something yeah not
exactly we have to

3366
03:44:40,307 --> 03:44:45,827
see what system but basically just you can choose like oh i always get my build
image from there or

3367
03:44:45,827 --> 03:44:48,379
something so yeah so that you really can

3368
03:44:48,379 --> 03:44:53,179
can can have not this one company that can just do this yeah i mean like in the
newest

3369
03:44:53,179 --> 03:44:58,779
copy of mcos in the oh three oh we actually did introduce preliminary support for
alternate

3370
03:44:58,779 --> 03:45:04,259
marketplaces for precisely this reason which is that we are aware there's a certain
amount

3371
03:45:04,259 --> 03:45:07,579
of trade-offs that we have to make in like certain amount of like imperfection we
have

3372
03:45:07,579 --> 03:45:12,219
to accept in the short term which is that you know we are providing most if not
every

3373
03:45:12,219 --> 03:45:17,259
uh update that people are going to be absorbing but we're like intimately aware of
the fact

3374
03:45:17,259 --> 03:45:21,539
that like we could be co-opted either you know through just like leadership changes

3375
03:45:21,539 --> 03:45:27,379
or you know you know various unfriendly organizations that can put us under duress
like we're aware

3376
03:45:27,379 --> 03:45:32,779
that that can put our users at risk and so like i think having these this sort of
multi-sourced

3377
03:45:32,779 --> 03:45:37,059
package model similar to the way that like app on ubuntu works or the way that like
linux

3378
03:45:37,059 --> 03:45:42,019
package management works but kind of like dressed up in a way that makes that can
give

3379
03:45:42,019 --> 03:45:47,539
better intuition to users about like what it actually is because like you know
people

3380
03:45:47,539 --> 03:45:52,219
have experiences of buying the same product from different stores right and so to
the

3381
03:45:52,219 --> 03:45:56,939
degree that that could be conveyed i think users can actually take responsibility
for

3382
03:45:56,939 --> 03:46:03,859
those sorts of things right um i mean i think it'd be kind of cool if you just like
thinking

3383
03:46:03,859 --> 03:46:10,299
out loud if there was like uh a new you know new bitcoin core version comes out new
bitcoin

3384
03:46:10,299 --> 03:46:15,819
d comes out and you have like three different sources that you pull from and you can
tell

3385
03:46:15,819 --> 03:46:20,539
that that all the hashes are the same like they're the same file for all three just
at

3386
03:46:20,539 --> 03:46:29,099
the bare minimum um but like there is there i feel like there's a um we want as many
people

3387
03:46:29,099 --> 03:46:33,299
to use their own node as possible right we want it to be as accessible as possible
but

3388
03:46:33,299 --> 03:46:40,539
it kind of it does go up against this idea that you have personal responsibility
will

3389
03:46:40,539 --> 03:46:45,899
never be the easiest one and like even without i know i'm sticking on this auto
update thing

3390
03:46:45,899 --> 03:46:51,659
but even without auto updates like umbral pops up like update and they just press
the

3391
03:46:51,659 --> 03:46:58,539
button right like it's still a manual at least that's still a benefit but is there a
concern

3392
03:46:58,539 --> 03:47:04,939
is there is do you guys have a concern and i mean i'll direct this to jonas because
i

3393
03:47:04,939 --> 03:47:09,459
mean i think your users are more experienced but do you do you have a concern with
users

3394
03:47:09,459 --> 03:47:16,819
of these more convenient node packages that they kind of just like blindly follow
that

3395
03:47:16,819 --> 03:47:22,459
they're not necessarily educated users in that regard is that a real concern i think

3396
03:47:22,459 --> 03:47:28,519
that's a concern but that's very hard to prevent i suppose because you not everyone
can read

3397
03:47:28,519 --> 03:47:33,319
the code and see what what happens in between you need some kind of oracles that
will tell

3398
03:47:33,319 --> 03:47:38,159
you whether this is a good code or not in the end you need to trust someone no one
of

3399
03:47:38,159 --> 03:47:45,559
us reads all the code uh that they're running so this problem um will never go away
you

3400
03:47:45,559 --> 03:47:52,639
can i think reduce some of the um some of the attack vectors that are there if you
for

3401
03:47:52,639 --> 03:47:59,819
example um have your release assigned by multiple people or even built by multiple

3402
03:47:59,819 --> 03:48:06,619
people uh like bitcoin core does um for example and this already reduces the attack
surface

3403
03:48:06,619 --> 03:48:12,599
quite a bit but you will never get rid of this problem and entirely yeah the the
price

3404
03:48:12,599 --> 03:48:17,239
of freedom is personal responsibility i think our job is the implementations is to
provide

3405
03:48:17,239 --> 03:48:22,399
users ever increasing leverage on the knowledge that they have right so they still
have to

3406
03:48:22,399 --> 03:48:25,519
be the one in the driver's seat they still have to be the one making decisions but
there

3407
03:48:25,519 --> 03:48:29,399
are a lot of bullshit decisions when you're trying to set up nodes right there's
things

3408
03:48:29,399 --> 03:48:34,759
that don't really matter to your ability to to work on it and to the degree that we
can

3409
03:48:34,759 --> 03:48:38,319
eliminate those and make it such that the only decisions they have to make are the
ones

3410
03:48:38,319 --> 03:48:42,439
that materially affect their outcome and what they're what kind of software they're
running

3411
03:48:42,439 --> 03:48:47,679
like that at least reduces the cognitive load enough that they can actually take an
active

3412
03:48:47,679 --> 03:48:51,619
role in that process and like that that is an ever-improving thing it's not like any

3413
03:48:51,619 --> 03:48:56,259
of us has like the holy grail of that today but i think that's the ultimate mission
of

3414
03:48:56,259 --> 03:49:01,779
like everybody's sitting on this panel right now is right can we provide higher
leverage

3415
03:49:01,779 --> 03:49:06,739
to users i think that's really well put um i mean because everything will always
have

3416
03:49:06,739 --> 03:49:10,739
trade-offs so you can eliminate trade-offs it's just different trade-off balances
that

3417
03:49:10,739 --> 03:49:14,939
you come to come to terms with and every once in a while you can push the frontier
further

3418
03:49:14,939 --> 03:49:20,659
right it's like not every trade-off is like neutral with with respect to value right
but

3419
03:49:20,659 --> 03:49:25,939
like you know you want to give them the entire trade-off curve if you can and then
you know

3420
03:49:25,939 --> 03:49:30,459
when you can get these sort of free wins and push that frontier forward just you
fucking

3421
03:49:30,459 --> 03:49:37,579
do it so um i mean we still have a little bit of time left i kind of i'm curious i
mean

3422
03:49:37,579 --> 03:49:45,819
you guys are just heads heads down really focused on on this um i guess i'll start
with

3423
03:49:45,819 --> 03:49:49,819
roots all like roots all when you think about the evolving node space because i feel
like

3424
03:49:49,819 --> 03:49:56,619
if if if you're a relatively new bitcoin user um you might be under this impression
that

3425
03:49:56,619 --> 03:50:01,539
there's always been all of these independent node teams trying to take different
trade-off

3426
03:50:01,539 --> 03:50:06,059
balances and make using your own node more convenient but it's a relatively recent
phenomenon

3427
03:50:06,059 --> 03:50:11,139
it's like the last three years it's really blossomed and i for this panel i tried to

3428
03:50:11,139 --> 03:50:15,779
get as many of the node teams as possible um and when you start to think about it's

3429
03:50:15,779 --> 03:50:21,779
like maybe there's like seven or eight like major ones um but fortunately we got
these

3430
03:50:21,779 --> 03:50:26,699
four these four legends over here so roots all when you think about like this
evolving

3431
03:50:26,699 --> 03:50:31,859
node space what do you like what's the what's your biggest concern like what keeps
you up

3432
03:50:31,859 --> 03:50:38,779
at night yeah um so you can see we have this one very dominant node distribution out
there

3433
03:50:38,779 --> 03:50:44,819
um and it would not be again it would not be a problem if uh if it would be in free

3434
03:50:44,819 --> 03:50:48,979
and open source because then if it comes to dominant and people don't like it they
can

3435
03:50:48,979 --> 03:50:54,179
always fork off and then you can you can have multiple competing projects and you
choose

3436
03:50:54,179 --> 03:51:01,739
which one you you go um so a little bit uh this this is a concern um but just a
concern

3437
03:51:01,739 --> 03:51:08,779
um when it comes to um how to say as long as migration is there i'm i can sleep good

3438
03:51:08,779 --> 03:51:13,779
so that that's fine it's good to for onboarding i think it's perfect thing to have
the solutions

3439
03:51:13,779 --> 03:51:22,579
out there so jonas what's your biggest concern i don't think i have very big
concerns in

3440
03:51:22,579 --> 03:51:27,859
the node space right now it's cool that people run nodes it's cool that people run a
lot

3441
03:51:27,859 --> 03:51:31,899
of nodes more people should run nodes run their own nodes run their own software use

3442
03:51:31,899 --> 03:51:39,299
more coin join use more lightning etc and these node projects um help doing that
which

3443
03:51:39,299 --> 03:51:46,539
is much better than not doing any of those things so i think um i'm rather happy and

3444
03:51:46,539 --> 03:51:52,179
i'm looking forward to the future um than the opposite i love it jonas isn't
concerned

3445
03:51:52,179 --> 03:51:58,619
now now i feel better about it uh keegan biggest concern say i am concerned but it's

3446
03:51:58,619 --> 03:52:04,819
my job to be concerned um i the thing that keeps me up is really whether or not we
can

3447
03:52:04,819 --> 03:52:08,619
make our product easy enough to use to onboard the next people because here's the
thing big

3448
03:52:08,619 --> 03:52:13,579
like with a dollar collapse happening whether it's in slow or fast motion like
people are

3449
03:52:13,579 --> 03:52:18,659
going to be looking for alternatives and if people jump to bitcoin and bitcoin
doesn't

3450
03:52:18,659 --> 03:52:24,299
have a beefy enough infrastructure in terms of central decentralization then
bitcoin's

3451
03:52:24,299 --> 03:52:31,459
own properties are kind of at risk and so more people running nodes is and and not
just

3452
03:52:31,459 --> 03:52:35,599
running nodes but like running them in a like self-sovereign way where they're
really exercising

3453
03:52:35,599 --> 03:52:42,819
their own agency is like paramount to the survival of bitcoin and the if you don't
if

3454
03:52:42,819 --> 03:52:47,779
we don't find a way to make it easy enough or if we find or in the effort to make it

3455
03:52:47,779 --> 03:52:56,219
easy enough we rob users of too many important choices then like the whole this
whole movement

3456
03:52:56,219 --> 03:53:00,219
doesn't really work the way that it's supposed to so like i am every day when i wake
up i'm

3457
03:53:00,219 --> 03:53:07,659
like okay what is too hard and how can we make it easier that doesn't like
fundamentally

3458
03:53:07,659 --> 03:53:13,479
remove the user from the driver's seat that's two biggest concern i mean i would
basically

3459
03:53:13,479 --> 03:53:17,959
bounce off of that you know i'm just concerned that convenience there's going to be
too many

3460
03:53:17,959 --> 03:53:23,639
sacrifices made and you know while we want it to be easy and abstract things away we

3461
03:53:23,639 --> 03:53:29,279
also want to make sure that users are properly educated and have you know know that
the choices

3462
03:53:29,279 --> 03:53:34,199
that they're making have certain consequences and so i think you know education is
very

3463
03:53:34,199 --> 03:53:39,639
important there's not enough good node education out there there needs to be you
know a lot

3464
03:53:39,639 --> 03:53:45,759
more videos guides it needs to be made easier but people still need to understand
the basics

3465
03:53:45,759 --> 03:53:50,759
of how this stuff functions so i think you know education definitely needs to
increase

3466
03:53:50,759 --> 03:53:55,359
and we don't like he was saying we got to be careful the sacrifices that we make in

3467
03:53:55,359 --> 03:54:02,119
the name of convenience so all your projects essentially in practice what you're
looking

3468
03:54:02,119 --> 03:54:06,799
at is you're looking at having a a little server a little computer running at home
or

3469
03:54:06,799 --> 03:54:11,879
your office and that you're oftentimes connecting back to like if you use on a phone
you're

3470
03:54:11,879 --> 03:54:18,439
connecting back to it a lot of projects are using tour to do that but you have this
central

3471
03:54:18,439 --> 03:54:23,439
server essentially that you're running in in a physical location that you control
now

3472
03:54:23,439 --> 03:54:27,919
everyone has a phone in their pocket like the next thing that everyone always says
is

3473
03:54:27,919 --> 03:54:35,079
nodes running on the phone nodes on the phone now is that the future or is that a
pipe dream

3474
03:54:35,079 --> 03:54:41,319
yeah so using using your own bitcoin note on your phone right just it's it's just
baked

3475
03:54:41,319 --> 03:54:46,799
into the phone is that actually a thing that we could look forward to in you know
five

3476
03:54:46,799 --> 03:54:51,119
to ten years or is that a pipe dream yeah i think i really like this idea because as

3477
03:54:51,119 --> 03:54:55,879
you can see raspberry pies are very hard to get and and not very affordable for a
lot

3478
03:54:55,879 --> 03:55:02,919
of people and if you look at countries that that have the operate on on low income
um

3479
03:55:02,919 --> 03:55:08,279
used smartphone is very easy to get because everybody has it and and if you can turn
this

3480
03:55:08,279 --> 03:55:14,239
one into into a full node um i think just this basic and you have to automatically
battery

3481
03:55:14,239 --> 03:55:18,599
in there so it's already a little bit more secured so i think really basically it's
it's

3482
03:55:18,599 --> 03:55:23,039
a good device um i'm not exactly sure who's working on this so there was a friend of
mine

3483
03:55:23,039 --> 03:55:27,279
at a hack day that was kind of looking into this but decided at that point nah it
doesn't

3484
03:55:27,279 --> 03:55:32,599
make sense here um but i think we made might come more and more closer into the area
where

3485
03:55:32,599 --> 03:55:39,199
this gets feasible i mean with a big sd card i don't know still the some years maybe
but

3486
03:55:39,199 --> 03:55:42,919
i think it would be great to to have this in the future jonas you gave me the pipe
dream

3487
03:55:42,919 --> 03:55:48,639
look do you think it's a pipe dream um no no you think that's that's the future i'm

3488
03:55:48,639 --> 03:55:54,599
not sure if it's the future so in nix bitcoin we're also thinking about a lot about
bitcoin

3489
03:55:54,599 --> 03:55:59,919
infrastructure not just having single nodes because a single node if it goes down if
it

3490
03:55:59,919 --> 03:56:06,879
explodes um you've lost your funds and in the bitcoin on-chain case you might have a

3491
03:56:06,879 --> 03:56:14,599
backup but in the lightning case your sol so um we're thinking about deploying more

3492
03:56:14,599 --> 03:56:21,839
things at once a backup server and perhaps a gateway node that has a vpn such that
you

3493
03:56:21,839 --> 03:56:27,679
can easily connect to your node at home that has monitoring so even if your node at
home

3494
03:56:27,679 --> 03:56:33,079
goes down you will be able to notice and um which is also important in in the
lightning

3495
03:56:33,079 --> 03:56:40,199
case um so i guess there are just so many ways for how to use nodes but it's for for

3496
03:56:40,199 --> 03:56:47,519
um the the i the phone future for a bitcoin nodes i think is still an interesting
interesting

3497
03:56:47,519 --> 03:56:53,079
way to to look at i think i think phones for layer one type stuff is significantly
more

3498
03:56:53,079 --> 03:56:58,359
viable than it is for layer two and the reason for that is that when you go offline
for significant

3499
03:56:58,359 --> 03:57:03,279
periods of time uh you can catch up with the rest of the network but the way that
pretty

3500
03:57:03,279 --> 03:57:07,959
much every layer two protocol is designed requires a certain liveness to it in fact

3501
03:57:07,959 --> 03:57:12,079
when we were originally trying to put the first version of the embassy together we
were

3502
03:57:12,079 --> 03:57:18,679
trying to narrow down with the essential characteristics uh that were needed and for
uh for lightning

3503
03:57:18,719 --> 03:57:23,599
in particular and a lot of the layer twos will behave this way um just due to the
nature

3504
03:57:23,599 --> 03:57:28,999
of like computer science itself is that the these these servers need to be
addressable

3505
03:57:28,999 --> 03:57:34,239
they need to be alive generally uh as much of the time as possible and because if
they're

3506
03:57:34,239 --> 03:57:40,039
not you're at risk of losing funds if uh because your your counterparties might try
to cheat

3507
03:57:40,039 --> 03:57:44,519
you and you have to be able to remain vigilant during those times and phones just
aren't

3508
03:57:44,519 --> 03:57:48,839
necessarily designed with the use case in mind that they're going to be on 24 7
they're

3509
03:57:48,839 --> 03:57:53,719
designed to be portable that and that's tremendously useful for everything that we
use phones for

3510
03:57:53,719 --> 03:57:58,799
but servers are designed to be alive a hundred percent of the time they're designed
to be

3511
03:57:58,799 --> 03:58:03,199
addressable a hundred percent of the time and those are properties that you
absolutely

3512
03:58:03,199 --> 03:58:08,839
need for a lot of these layer twos layer ones different story but awesome yeah for
layer

3513
03:58:08,839 --> 03:58:13,679
two phones definitely a bit of a pipe dream uh or at least there'd be need to be a
lot

3514
03:58:13,679 --> 03:58:18,719
of work done and it need to be a very special setup you could have like watchtowers
or some

3515
03:58:18,719 --> 03:58:25,239
yeah it would minimize third party service or running on a vps or something like
that

3516
03:58:25,239 --> 03:58:30,519
you could yeah um awesome well we're out of time guys this has been great i want to
thank

3517
03:58:30,519 --> 03:58:36,679
our our fantastic panelists i want to encourage all participants uh everyone in the
audience

3518
03:58:36,679 --> 03:58:41,519
here everyone watching at home uh consider using your own node consider running your

3519
03:58:41,559 --> 03:58:45,799
own node i know it sounds overwhelming but it's it's really not that overwhelming
get

3520
03:58:45,799 --> 03:58:50,679
your feet wet it's relatively cheap to do at the end of the day you're you're
essentially

3521
03:58:50,679 --> 03:58:56,439
taking a computer and plugging in an ethernet and a power cord so thank you guys
thank you

3522
03:58:56,439 --> 03:59:03,439
and uh take care for the keynote makes it easier in a way you can't see anyone you
don't

3523
03:59:03,439 --> 03:59:07,959
know what they think oh our mics are on i guess we're going what is up freaks what
is

3524
03:59:07,959 --> 03:59:17,719
up miami yeah uh i want to start because i'm a proud co-host let's give it up for

3525
03:59:17,719 --> 03:59:26,239
matt odell for organizing this room here thank you brother truly special yeah
incredible

3526
03:59:26,239 --> 03:59:32,919
job dude this is the largest in-person rabbit hole recap we've ever done yeah
congrats you're

3527
03:59:32,919 --> 03:59:37,679
all part of history somebody note the block and uh we'll write that down somewhere
uh

3528
03:59:37,679 --> 03:59:43,439
we're joined by craig rawl and whiz uh steve barber's supposed to be up here uh but
he's

3529
03:59:43,439 --> 03:59:50,399
not here so if he wanders in send him to get a mic but this is our hr we have 40
minutes

3530
03:59:50,399 --> 03:59:55,599
when we do these live shows uh we usually do a different format where we have a few

3531
03:59:55,599 --> 03:59:58,999
topics that we want to talk about matt and i haven't even talked about topics and
then

3532
03:59:58,999 --> 04:00:02,319
we'll open it up to q and a wait raise your hand if you have no idea what rabbit
hole

3533
04:00:02,399 --> 04:00:09,519
recap is awesome oh welcome okay so rabbit hole recap is our weekly news show weekly

3534
04:00:10,079 --> 04:00:15,119
bitcoin news show we've been doing it for over three years now four years september
i believe

3535
04:00:15,119 --> 04:00:19,599
yeah so if you like bitcoin you should check that if you like this you know go check
it out

3536
04:00:19,599 --> 04:00:24,879
maybe consider it but yeah as marty said we're just kind of gonna we're gonna shoot
the shit

3537
04:00:24,879 --> 04:00:30,639
and then we're gonna do a q and i yeah uh let's give another shout out to whiz for
doing a pirate

3538
04:00:30,639 --> 04:00:38,079
live stream in this room today yeah thanks uh thanks to jack for retweeting my uh
pirate live

3539
04:00:38,079 --> 04:00:44,079
stream with open source stage i think there's an idea i had about two in the morning
last night

3540
04:00:44,079 --> 04:00:49,199
i'm like why is there no live stream let's just go to target and best buy buy camera
and plug it

3541
04:00:49,199 --> 04:00:56,239
in and set it up and so we did it yeah you you could spin up your own isp i think
you can figure

3542
04:00:56,239 --> 04:00:59,519
out a live stream in 12 hours it's very impressive where's there's two isps now

3543
04:01:01,039 --> 04:01:06,319
well technically mempool.space is uh its own isp now yeah okay so we kind of spun
that off into

3544
04:01:06,319 --> 04:01:11,679
its own uh sub isp in a way why don't we talk about that you you recently added a
mining page

3545
04:01:11,679 --> 04:01:19,439
to mempool.space yeah we went down to nashville uh last week with matt and rod um
organizing the

3546
04:01:19,439 --> 04:01:24,719
nashville meetup down there and we had a really nice crowd about 100 people maybe
more yeah

3547
04:01:24,719 --> 04:01:30,239
there was a tornado warning we didn't so 100 was a good showing yeah it was pouring
outside

3548
04:01:30,239 --> 04:01:36,639
and um but it was a great show i mean it was just me rod matt on stage and we were
just trolling

3549
04:01:36,639 --> 04:01:40,159
each other we actually forgot there was like an audience there and we were having so
much fun

3550
04:01:40,159 --> 04:01:43,919
i don't know how many hours we were talking but it was a great show but yeah he
announced the

3551
04:01:43,919 --> 04:01:48,879
so whiz is the lead maintainer one one of the co-founders of mempool.space and one
of the

3552
04:01:48,879 --> 04:01:55,439
co-maintainers of the open source mempool project um where you can and he has she
rented a tv and

3553
04:01:55,439 --> 04:02:00,479
put it up over there with a live look at um his mempool yeah we don't have a booth
in the

3554
04:02:00,479 --> 04:02:04,239
conference this year so uh we just rented a tv and stuck it in the corner over there

3555
04:02:05,519 --> 04:02:13,599
and we have we have craig raw here who is um the lead maintainer and the the man
behind

3556
04:02:13,599 --> 04:02:18,559
sparrow wallet which is one of the best desktop wallets on the market fully open
source

3557
04:02:20,959 --> 04:02:27,439
this is his first public appearance ever in the bitcoin scene thank you sir it is an
absolute

3558
04:02:27,439 --> 04:02:33,279
fucking honor that you are up here with us thank you well thank you and then craig
craig and i

3559
04:02:33,279 --> 04:02:37,359
were talking backstage you comfortable talking about what we were discussing sure go
ahead so

3560
04:02:37,359 --> 04:02:43,759
there's there's a path descriptors and wallets and simplifying that yeah so well we
were just

3561
04:02:43,759 --> 04:02:49,279
having a quick chat um currently bitcoin core requires if you want to input your
output

3562
04:02:49,279 --> 04:02:53,919
descriptor into a bitcoin core wallet you got to get a receive chain output
descriptor and a change

3563
04:02:53,919 --> 04:03:00,239
chain output descriptor they're different um andrew charles actually put forward a
multi-path

3564
04:03:00,239 --> 04:03:04,479
version of that which allows you to have one descriptor and that's useful because if
you're

3565
04:03:04,479 --> 04:03:11,439
going to stamp it into a steel plate for example you've got 99 of them the actual
data is the same

3566
04:03:11,439 --> 04:03:16,479
for the receive change chain so you might as well just have one descriptor which
specifies both

3567
04:03:16,479 --> 04:03:23,839
both chains um so that's a pr that's in bitcoin core right right now sparrow
implements it that

3568
04:03:23,839 --> 04:03:31,919
way and i'm kind of hoping that sparrow leads the way on that um to try and uh maybe
get things to

3569
04:03:31,919 --> 04:03:37,599
move in that direction but it is as yet an unmerged pr so hopefully it goes that way
so what

3570
04:03:37,599 --> 04:03:42,079
does that mean to the end user means easier backups essentially yeah so i mean if
you have a multi-state

3571
04:03:42,079 --> 04:03:48,239
you need to back up all of the public keys right you can't just have the seeds and
uh output

3572
04:03:48,239 --> 04:03:54,719
descriptor is really the most standard way to do that so you know just having one
which is easier

3573
04:03:54,719 --> 04:04:00,879
to put into steel plate for example which is i think an important thing awesome yeah
that's true

3574
04:04:00,879 --> 04:04:05,119
if you even if you have all your seed plate backups if you don't have those uh
public keys

3575
04:04:05,119 --> 04:04:08,959
i guess you couldn't recover the funds right correct so i mean you know people often
think

3576
04:04:08,959 --> 04:04:14,319
multi-state if i lose one of my seeds right i'm okay but actually you do need the
other public

3577
04:04:14,319 --> 04:04:20,319
keys yeah to reconstruct that script um so for that you know the output descriptor
is kind of

3578
04:04:20,319 --> 04:04:29,759
our standard way to do it awesome we'll give this pr a thumbs up i hope so let's get
some review too

3579
04:04:30,639 --> 04:04:36,079
um what do you want to talk about is there any you want to talk about tokens on
lightning yeah

3580
04:04:36,079 --> 04:04:41,599
yeah matt was making fun of me earlier saying i'm a i'm a attention whore no i
called you a cheerleader

3581
04:04:41,999 --> 04:04:48,399
this is what i called you why am i a cheerleader i don't know you just you just made
it seem

3582
04:04:48,399 --> 04:04:53,919
extremely bullish and i just don't i think it's very bullish i think it's cool i
don't know what

3583
04:04:53,919 --> 04:04:58,719
we're talking about is there's a lot of uh layer two like ways to do tokens on top
of bitcoin right

3584
04:04:58,719 --> 04:05:03,519
like even back in the day you had like uh what's it called omni protocol yeah omni
protocol you had

3585
04:05:04,239 --> 04:05:09,759
something party counterparty counterparty there's colored bitcoin then there's like
liquid now

3586
04:05:09,759 --> 04:05:14,239
there's lightning you can issue shit coins on top of bitcoin in lots of different
ways now right yeah

3587
04:05:14,239 --> 04:05:18,559
i mean you can also just issue shit coins on top of shit coins and let that be like
if people want

3588
04:05:18,559 --> 04:05:23,519
to use tether why does it matter if they use tron like does anyone really care like
at the end of

3589
04:05:23,519 --> 04:05:27,599
the day you're still trusting the tether corporation in the back end it doesn't
really matter what

3590
04:05:27,599 --> 04:05:34,399
chain it's running on so why do we care if it's just running on a centralized person
was on bitcoin

3591
04:05:35,199 --> 04:05:40,159
rather than a shit coin that's why i got excited about it you can create these
tokens within a tap

3592
04:05:40,159 --> 04:05:45,199
root transaction and then push it up to the second layer and transact via lightning
but you brought

3593
04:05:45,199 --> 04:05:49,839
up something earlier when we're discussing this when it became apparent that matt
was gonna uh

3594
04:05:49,839 --> 04:05:55,439
shit on me on stage uh we said we should talk about it does it i did does it uh does
it create

3595
04:05:55,439 --> 04:06:02,159
this weird mev like incentive mechanism on the lightning network where you you have
these

3596
04:06:02,159 --> 04:06:06,239
different assets going through lightning nodes and does that mess with the
incentives of the node

3597
04:06:06,239 --> 04:06:12,159
topology yeah i mean i don't i don't really i mean it's just recently launched we
had we had

3598
04:06:12,159 --> 04:06:19,199
the fortune of having lalu on stage here yesterday to present on it um and what it
hit the it hit the

3599
04:06:19,199 --> 04:06:27,359
dev mailing list the day before that i believe um so it's really fresh so i expect
people will

3600
04:06:27,359 --> 04:06:32,959
you know look into it uh but you know as someone who does run a routing node run a
lightning routing

3601
04:06:32,959 --> 04:06:39,759
node um and i see that we have a lot of you know lightning's great i lightning's one
of those things

3602
04:06:39,759 --> 04:06:43,679
where i just go through like four month cycles where i'm bullish and bearish on
lightning

3603
04:06:44,559 --> 04:06:48,159
but i've run a lightning routing node the whole time and i continue to use lightning

3604
04:06:48,159 --> 04:06:51,999
but there are things that need to be refined on lightning it's an unfinished spec
right

3605
04:06:52,719 --> 04:07:00,079
and i don't know if nfts on lightning are the thing that i get excited about like i
think

3606
04:07:00,079 --> 04:07:05,039
stable coins are interesting i'm interested in hash rate derivatives could they be
tokenized

3607
04:07:05,039 --> 04:07:11,519
that's from a stable coin yeah yeah there's a lot of um assets issued on the liquid
network too

3608
04:07:11,519 --> 04:07:16,239
and there's this huge divide internally within the liquid federation should liquid
become this

3609
04:07:16,239 --> 04:07:23,359
thing that like eats ethereum and all these other shitcoin blockchains or should
liquid be a system

3610
04:07:23,359 --> 04:07:31,119
for cheap and fast bitcoin payments on a layer two blockchain right and and it's
it's uh really

3611
04:07:31,119 --> 04:07:36,399
interesting to see how these layer two networks and communities will evolve over
time i mean the

3612
04:07:36,399 --> 04:07:42,479
i guess the rough consensus is like why not both but it can be a distraction and you
get lots of

3613
04:07:42,479 --> 04:07:49,039
scams it's it's it's really got its trade-offs right yeah so i mean marty had a
specific uh

3614
04:07:51,359 --> 04:07:55,199
when he when he was cheerleading tarot he had a specific uh framing which is

3615
04:07:55,199 --> 04:08:01,519
that it obsolete shitcoins it makes every shitcoin obsolete yeah does it that could

3616
04:08:01,519 --> 04:08:05,439
potentially i don't know it could potentially that would have made the tweet as fire
right

3617
04:08:05,679 --> 04:08:06,719
could potentially

3618
04:08:10,479 --> 04:08:13,599
craig do you have any thoughts on this or is this like no yeah i mean obviously i
haven't really had

3619
04:08:13,599 --> 04:08:19,119
a chance to look into it um in any great detail but obviously the one of the
bounding qualities

3620
04:08:19,119 --> 04:08:22,479
of the lightning network is the amount of liquidity that's locked up into it so

3621
04:08:23,199 --> 04:08:29,279
if this brings additional liquidity that is a good thing um you know are there going
to be other

3622
04:08:29,279 --> 04:08:34,319
second order effects hard to say at this point you know i think it's we're just
starting as a

3623
04:08:34,319 --> 04:08:39,519
community to kind of look at what's being being being done i think you know it's
it's it's

3624
04:08:39,519 --> 04:08:44,479
interesting but it's not it's not super interesting in the long term we obviously
have a long-term

3625
04:08:44,479 --> 04:08:51,679
vision of a bitcoin only future um but it may be sort of an interesting diversion on
on that path

3626
04:08:51,679 --> 04:08:55,279
i don't think it may help us to get there who knows it's a cool part of the of their
vision

3627
04:08:55,279 --> 04:09:01,679
i'll say that as opposed to uh like synonyms proposal where synonyms proposal
essentially

3628
04:09:01,679 --> 04:09:07,839
has you have to have dedicated lightning channels for whatever shitcoin you're
transferring uh so

3629
04:09:07,839 --> 04:09:11,919
then that's completely separate liquidity like they it's called the lightning
network but it's

3630
04:09:11,919 --> 04:09:16,239
it's not really interoperable with the greater lightning network in this proposal it
is pretty

3631
04:09:16,239 --> 04:09:21,119
cool that you know you could just be running a routing node that only sees sats and
doesn't even

3632
04:09:21,119 --> 04:09:29,039
know um that that any token is involved and only the edges have to know so
essentially like if

3633
04:09:29,039 --> 04:09:35,519
tether was successful on lightning uh it could create an incentive where there is
way more

3634
04:09:35,519 --> 04:09:40,399
liquidity on the lightning network because tether is not on tron or solana or
whatever bullshit

3635
04:09:41,119 --> 04:09:45,519
and those routing nodes in between could end up making way more in fees as a result
right

3636
04:09:46,399 --> 04:09:50,719
so i i definitely agree that that is that is definitely a very cool aspect of it
sounds like

3637
04:09:50,719 --> 04:09:56,479
you're becoming bullish on terra live on stage i mean you're right i'm just trying
to be fair

3638
04:09:56,479 --> 04:09:57,916
i'm just trying to be fair

3639
04:09:57,916 --> 04:10:01,156
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

3640
04:10:02,276 --> 04:10:09,396
we were uh also reminiscing earlier of bitcoin 2019 when we did the first live rhr
on a picnic

3641
04:10:09,396 --> 04:10:15,636
table on a picnic table that had a fresh face he looked about 15 years younger
wearing the same

3642
04:10:15,636 --> 04:10:22,276
shoes uh it's just crazy to think of it's a different pair but it's how how big this
uh

3643
04:10:22,276 --> 04:10:27,156
how big this conference has gotten over the last three years specifically obviously
due to the fact

3644
04:10:27,156 --> 04:10:35,636
that bitcoin's a very big theme in the world right now bitcoin 2019 we were on a
picnic table there

3645
04:10:35,636 --> 04:10:41,956
was 2500 people at the conference maybe even less like 2300 people at the conference
the main stage

3646
04:10:41,956 --> 04:10:47,156
for that event was probably around this size maybe a little bit bigger definitely
the actual stage was

3647
04:10:47,156 --> 04:10:53,476
bigger but seat wise was probably maybe like 60 larger than this yeah like this used
to be the

3648
04:10:53,476 --> 04:11:01,076
whole bitcoin conference room and then bitcoin 2020 was canceled uh because it's
happening in

3649
04:11:01,076 --> 04:11:07,236
california as covid hit and then bitcoin 2021 we were outside in the scorching heat
yeah they put

3650
04:11:07,236 --> 04:11:13,636
a leery inside in front of about 400 people with 13 000 people at the event and now
we're on this

3651
04:11:13,636 --> 04:11:19,956
nice beautiful open source stage and air conditioning with probably like 900 to a

3652
04:11:19,956 --> 04:11:24,436
thousand people in here i'll take it and we've got a we've got a live three years
after too

3653
04:11:27,396 --> 04:11:32,436
we love you freaks we do love you um yeah it's crazy to think i mean you had

3654
04:11:33,476 --> 04:11:39,716
odell beckham serena williams and aaron rogers opening the day do you know uh did i
tell you

3655
04:11:39,716 --> 04:11:47,316
that uh cnbc reached out to do an interview with me here and they kept asking for my
pr

3656
04:11:47,316 --> 04:11:49,796
person i was like i'm just a humble bitcoiner like i don't have a pr person

3657
04:11:50,676 --> 04:11:54,036
we like planned the whole thing out and they thought they were booking odell beckham
jr

3658
04:11:57,476 --> 04:12:01,476
secondary odell and bitcoin it's amazing how quick that happens that's incredible

3659
04:12:02,436 --> 04:12:10,516
oh number one in our hearts let's fucking go so with all this attention coming to
bitcoin

3660
04:12:10,516 --> 04:12:15,476
obviously this conference 25 000 people here i'd like to hear your thoughts wiz and
craig like

3661
04:12:16,676 --> 04:12:22,356
at the protocol level in the network level in terms of decentralization usability
how

3662
04:12:22,356 --> 04:12:27,316
what do you guys think the state of bitcoin is as a network right now state of
bitcoin

3663
04:12:27,556 --> 04:12:32,116
big question that's a good question huh um i don't know i mean the community is very
strong

3664
04:12:32,116 --> 04:12:38,036
but there's also like this um mix it's like a venn diagram or something where you've
got

3665
04:12:38,036 --> 04:12:42,116
the bitcoin the hardcore bitcoiners which are probably in this room and then you've
got the

3666
04:12:42,116 --> 04:12:49,956
crypto people and then you've got just the total shitcoin scams right and it's it
it's like

3667
04:12:49,956 --> 04:12:54,596
obviously those circles are not the same size right as you just described by the
size of the

3668
04:12:54,596 --> 04:12:59,076
comparing the different sides of the stages or whatever and even around this uh
conference

3669
04:12:59,076 --> 04:13:02,916
there's like satellite conference like shitcoin or something thanks a lot is doing
something here

3670
04:13:02,916 --> 04:13:09,956
yeah it's it's just um yeah it's the community is is evolving i guess it's very
mainstream but

3671
04:13:09,956 --> 04:13:15,076
the real bitcoin community the core hardcore bitcoin they're all here like in this
room i

3672
04:13:15,076 --> 04:13:26,356
feel right i mean yeah i have to agree with where's um i wander around uh and i feel
that

3673
04:13:26,356 --> 04:13:31,476
the bitcoin conference is here in this hall um yeah it's kind of not really
happening out there

3674
04:13:31,476 --> 04:13:35,876
i mean that's not maybe fair because i haven't spent that much time time time time
out there

3675
04:13:35,876 --> 04:13:41,236
and i'm sure there are interesting talks um but certainly what we've had here thanks
to

3676
04:13:41,316 --> 04:13:45,876
matt there's been some really great talks it was definitely not just me there's a
massive

3677
04:13:45,876 --> 04:13:51,636
team that helped me shouldn't have done it without them um i mean i behoove all of
you

3678
04:13:52,196 --> 04:13:57,316
an hour after this i think it's 4 p.m to go to the main stage because maulers has
got a

3679
04:13:57,316 --> 04:14:03,876
fucking insane announcement so matt hasn't even told me yet so it must be pretty big

3680
04:14:04,676 --> 04:14:12,916
lip sealed yeah the um yeah i just came back the mining stage steve barber wit from
compass

3681
04:14:13,716 --> 04:14:22,116
bob and a gentleman ryan i believe from titan with aj had like a further
decentralizing mining talk

3682
04:14:22,116 --> 04:14:30,196
the mining stage is awesome right i mean i i've been stuck here and i love it uh but
i i mean i

3683
04:14:30,196 --> 04:14:34,596
i've looked all over that agenda the agenda for the mining stage for today and
tomorrow

3684
04:14:35,316 --> 04:14:43,956
um i mean like historically like industry day is always very suit heavy you know and
this year was

3685
04:14:43,956 --> 04:14:49,156
the exception because we did highly technical open source conversations here so that
was the

3686
04:14:49,156 --> 04:14:54,596
rarity in terms of how they set up this conference usually but the ga days on the
mining stage are

3687
04:14:54,596 --> 04:14:59,316
pretty pretty awesome what was your how many talks did you watch so what was your
favorite

3688
04:14:59,316 --> 04:15:04,836
i must admit this is my second talk so the the last one i saw was my favorite but i
think it's

3689
04:15:04,836 --> 04:15:10,356
important discussion like decentralizing mining obviously uh in the mining industry
it's always

3690
04:15:10,356 --> 04:15:15,716
top of mind you're seeing this massive migration of hash rates to us and even more
specifically

3691
04:15:15,716 --> 04:15:23,156
to texas a lot of massive on grid uh operations that are just inherently centralized
you have

3692
04:15:23,156 --> 04:15:29,636
people building 500 megawatt uh facilities that that are very out in the open uh and
i think what

3693
04:15:29,636 --> 04:15:35,476
steve is doing with upstream and the black box to get more individuals mining and
his framing with

3694
04:15:35,476 --> 04:15:40,116
the black boxes it may not be as profitable but people really want it because they
want privacy

3695
04:15:40,116 --> 04:15:46,436
there's this there's this push for privacy downstream in the energy sector um from
from

3696
04:15:46,436 --> 04:15:51,236
individual bitcoin miners upstream universe gets much more efficient obviously
because they're

3697
04:15:51,236 --> 04:15:56,916
closer to the lowest cost power but downstream is being hardened because people want
kyc free

3698
04:15:56,916 --> 04:16:01,396
bitcoin i think that's a really cool move that's an interesting uh comparison
between like the

3699
04:16:01,396 --> 04:16:06,596
mining stage and open source stage open source can just be like a few shadowy super
coders you

3700
04:16:06,596 --> 04:16:10,916
know hacking away on github you don't you have no idea what their real name is but
to do mining

3701
04:16:10,916 --> 04:16:16,836
especially these days it's extremely capital intensive and you know you need to wear
a suit

3702
04:16:16,836 --> 04:16:22,436
to raise that kind of capital right i don't wear suits well no so we have so i guess
both me and

3703
04:16:22,436 --> 04:16:28,196
marty are going to be on the mining stage tomorrow separately i can wear a suit um
and so marty's

3704
04:16:28,196 --> 04:16:34,036
marty's talk is titled is esg an attack on bitcoin obviously marty doesn't think esg
is an attack on

3705
04:16:34,036 --> 04:16:39,236
bitcoin so it should be a very interesting conversation yeah i will we'll talk about
that

3706
04:16:39,236 --> 04:16:45,156
tomorrow and and i'm doing a kyc free home mining with the econo alchemist and
diverter

3707
04:16:45,876 --> 04:16:52,276
um so there's a lot of good conversations this year uh that i'm excited about and i
i mean i

3708
04:16:52,276 --> 04:16:56,116
look at the end of the day there's so much there's so much content that you have to
watch

3709
04:16:56,116 --> 04:17:01,716
them after the fact yeah um so you like catch them all yeah i did catch a clip of
dave portnoy talking

3710
04:17:01,716 --> 04:17:08,516
shit on me um that was funny but he was talking shit about you yeah funny though i
actually texted

3711
04:17:08,516 --> 04:17:14,356
him after um trying to convince him to get barstool's podcast on podcasting 2.0 i
mean that

3712
04:17:14,356 --> 04:17:19,156
seems obvious yeah i think that would be massive not only for podcasting 2.0 but
like having

3713
04:17:19,156 --> 04:17:24,116
somebody like barstool what did portnoy say about you he's uh was he on he said i
was shady when i

3714
04:17:24,116 --> 04:17:28,996
worked at barstool while he was on i was sneaking into the studios late at night
while he was on

3715
04:17:28,996 --> 04:17:36,596
state but the first time i recorded with marty was in barstool's merch closet with
uh t-shirts

3716
04:17:36,596 --> 04:17:41,876
all around us yeah we literally and a bottle of mcallan the first what was that it
was like episode

3717
04:17:41,876 --> 04:17:45,876
29 of the interview series yeah marty was like oh come over to the barstool studio
like this is

3718
04:17:45,876 --> 04:17:50,516
where i record i was like it's gonna be the most baller podcast studio ever i'm just
like sitting

3719
04:17:50,516 --> 04:17:56,916
in a fucking glass box with fucking t-shirts all around me hey humble beginnings man
i had a lot

3720
04:17:56,916 --> 04:18:08,116
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

3721
04:18:08,116 --> 04:18:12,036
uh i got something if you can't think of anything you look like you're digging for
something in

3722
04:18:12,036 --> 04:18:15,876
there well that's why i was looking at my phone earlier like is there anything
interesting but

3723
04:18:15,876 --> 04:18:21,316
if you have something well i wasn't able to dig too far into it but Blockstream and
breeze

3724
04:18:21,876 --> 04:18:26,116
announced oh that's cool the green light integration what uh you seem to know more

3725
04:18:26,116 --> 04:18:29,716
about it than i do what's going on so i was talking to roy about it roy's here from
breeze

3726
04:18:29,716 --> 04:18:37,476
he's absolutely awesome um so first of all it's like a it's just an announcement of
their plans

3727
04:18:37,476 --> 04:18:42,756
to do it um but right now with breeze you essentially are running a lightning note
on

3728
04:18:42,756 --> 04:18:48,036
your phone directly on your phone and if anyone's used breeze for podcasting 2.0
like your phone

3729
04:18:48,036 --> 04:18:53,636
gets really hot because it's like it's legitimately running a lightning note on your
phone um and it

3730
04:18:53,636 --> 04:18:59,396
also means that all of their different apps within breeze uh whether that's the
actual wallet

3731
04:18:59,396 --> 04:19:04,276
or whether that's podcasting or whether that's their point of sale and he wants to
add video

3732
04:19:04,276 --> 04:19:07,796
streaming and he wants that all these different things they all need to be in the
same app

3733
04:19:07,796 --> 04:19:14,596
because they need the lightning node now green light is cool because it's an
on-demand cloud node

3734
04:19:14,596 --> 04:19:20,916
that Blockstream it's a it's a service that Blockstream runs and it's trust
minimized because the

3735
04:19:20,916 --> 04:19:27,156
actual keys are on your phone uh they're not on the server now there's obviously
some trust still

3736
04:19:27,156 --> 04:19:34,036
in Blockstream um obviously the main one is that they actually are up but also they
provide a watch

3737
04:19:34,036 --> 04:19:40,436
tower service for you because when your node's offline someone can try and broadcast
a bad state

3738
04:19:40,436 --> 04:19:44,836
and steal your lightning funds right so there's a little bit of trust in Blockstream but if they're

3739
04:19:44,836 --> 04:19:48,596
not like your channel partner they shouldn't be able to take your funds and all
these lightning

3740
04:19:48,596 --> 04:19:53,076
wallets on your phone they're they're not trustless there's always first of all it's
very

3741
04:19:53,076 --> 04:19:56,996
hard for anything to be trustless but they're all like trust minimized taking
different trade-off

3742
04:19:56,996 --> 04:20:03,076
balances like even with breeze with breeze your phone goes off offline you know your
main channel

3743
04:20:03,076 --> 04:20:07,876
is open with breeze you know they're the only liquidity provider there's some trust
there in

3744
04:20:07,876 --> 04:20:16,276
breeze now in this setup it's it's really interesting because um you yeah you have
the

3745
04:20:16,276 --> 04:20:22,356
keys on your phone green light is the node and then he can have all these different
breeze apps

3746
04:20:22,356 --> 04:20:26,516
that can all connect back to that node and separate them out so you don't have one
big bloated app

3747
04:20:27,156 --> 04:20:32,916
um that does all the things that's modular yeah and i guess like this is the first
major partner

3748
04:20:32,916 --> 04:20:38,676
with green light that i know of that's pretty cool it also means more c lightning
usage like

3749
04:20:38,676 --> 04:20:42,596
core lightning usage do you want to talk about that did we talk about that last week
we did

3750
04:20:42,596 --> 04:20:48,196
we thought it was an april fool's joke yeah i mean we had christian decker up here
and he kept

3751
04:20:48,196 --> 04:20:53,156
he kept calling it c lightning by accident the uh i mean we talked about it last
week yeah we did

3752
04:20:53,156 --> 04:20:58,596
we already talked about it yeah i mean there's a lot of people in the room here the
lightning

3753
04:20:58,596 --> 04:21:02,836
flame wars are interesting the implementation wars what do you have any thought yeah
the the

3754
04:21:02,836 --> 04:21:08,596
green light logo is yellow what's up with that that just that just uh irks me so
hard that's

3755
04:21:08,596 --> 04:21:15,956
confusing right yeah i guess everyone's scared of you know making a green b because
of b cash

3756
04:21:18,196 --> 04:21:24,116
there's one right behind your head over there that's a square that's a square so
it's like

3757
04:21:25,556 --> 04:21:29,956
a little bit different yeah 100 yeah i think b cash is who was here when b cash
happened

3758
04:21:29,956 --> 04:21:35,956
when the fork happened it's good yeah see for a lot of people b cash just does not
even exist

3759
04:21:35,956 --> 04:21:37,876
good there's no reason to uh

3760
04:21:42,596 --> 04:21:46,996
so you think they should call it yellow light or should they change the color of the
logo

3761
04:21:46,996 --> 04:21:54,116
i'm not the marketing person i don't know yeah yeah no i was actually reminiscing
with harry

3762
04:21:54,116 --> 04:22:00,196
suddock about that too i think when we first met in 2017 like all the topic was
about the fork wars

3763
04:22:00,196 --> 04:22:05,956
and it's crazy again i think how far we've come from that it was an important part
of bitcoin

3764
04:22:05,956 --> 04:22:11,956
history though right kind of like mount gox going bankrupt or or the block size wars
whatever you

3765
04:22:11,956 --> 04:22:18,516
want to call it it proved that bitcoin is resilient and it just got stronger
afterwards so yeah it

3766
04:22:18,516 --> 04:22:23,876
sort of needed to happen at some point right to prove that bitcoin could overcome
that that's

3767
04:22:23,876 --> 04:22:29,396
true yeah like even five six years ago it wasn't um maybe this is something we take
for granted

3768
04:22:29,396 --> 04:22:35,396
now now we kind of accept that bitcoin works extremely reliably but back then it was
much more

3769
04:22:35,396 --> 04:22:41,076
uh maybe experimental or we didn't have as much confidence maybe it was it was more
of a something

3770
04:22:41,076 --> 04:22:46,356
to play around with now you know you've got billionaires just going all in yeah and
then

3771
04:22:46,356 --> 04:22:53,156
you have other billionaires who want to change the code hashtag change the code
they're going

3772
04:22:53,156 --> 04:22:57,236
to change the code anybody could change the code just getting people to run it
that's going to be

3773
04:22:57,236 --> 04:23:08,356
hard uh well green peas can go fuck themselves they love it real bitcoiners in here

3774
04:23:11,396 --> 04:23:20,596
um what else do you want to talk about uh well i had i lost the thought that just
came back to me

3775
04:23:20,596 --> 04:23:26,836
piggybacking on this fork wars were over how to uh scale bitcoin particularly at the
block size

3776
04:23:26,836 --> 04:23:32,036
level bcash wanted to arbitrarily just double the block size and other people
thought SegWit

3777
04:23:32,036 --> 04:23:39,796
would be a more uh advantageous way to to increase the block weight and make it some
more transactions

3778
04:23:41,876 --> 04:23:47,076
there he is okay do you have a handheld sorry i'm dressed like fiat today so

3779
04:23:49,076 --> 04:23:52,676
steve go get a mic stick your head in there and ask them for a handle tell them um

3780
04:23:53,396 --> 04:23:55,316
the bends are here and we're not

3781
04:23:57,636 --> 04:24:02,276
but bends are here that's uh i got in a bit of a discussion this week we're under
attack

3782
04:24:03,956 --> 04:24:04,676
is there um

3783
04:24:08,196 --> 04:24:12,516
ben's always oh no i can't see they brought a gaggle there's a gaggle of

3784
04:24:12,516 --> 04:24:18,676
bends get out of here

3785
04:24:23,316 --> 04:24:30,916
get out of here there we go steve don't bring that sign up here no my my little

3786
04:24:30,916 --> 04:24:36,196
boy is six months his name is ben uh okay fair enough i stand with ben's baby

3787
04:24:37,156 --> 04:24:42,676
so did you get uh did you get mobbed after your mining panel that's what i assumed

3788
04:24:42,676 --> 04:24:47,476
i did yeah a lot of uh a lot of noobs came up to me so i'd explain bitcoin from
scratch so

3789
04:24:49,396 --> 04:24:53,956
what uh what are your thoughts of this event how's it going for you i think it's
been great

3790
04:24:53,956 --> 04:24:59,236
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

3791
04:24:59,236 --> 04:25:06,196
people marty loves nfts though and he just wants them i have no opinion on them like
i'm not i'm

3792
04:25:06,196 --> 04:25:13,316
sort of like neutral but uh mining is good like this year is uh it's nice to see you
like like

3793
04:25:13,316 --> 04:25:18,116
excitement around mining so i think uh the conference guys have done an amazing job
with

3794
04:25:18,116 --> 04:25:23,156
that so i love and love them when i'm seeing out there in the booth section do you
want to tell

3795
04:25:23,156 --> 04:25:30,356
the freaks about our special offer yeah i'm shilling our black boxes uh if you guys
haven't

3796
04:25:30,356 --> 04:25:36,756
seen them they're uh mining out in the conference with a couple s9s so yeah um you
want to tell

3797
04:25:36,756 --> 04:25:45,876
them what a black box is yeah a black box uh it converts your kyc bitcoin to non-kyc
bitcoin

3798
04:25:46,836 --> 04:25:52,036
in the comfort of your home it turns you into your own personal non-kyc exchange

3799
04:25:52,996 --> 04:25:58,836
it burns your fiat and makes beautiful bitcoins so every single one of you

3800
04:26:01,556 --> 04:26:06,916
every single one of you should get one um although i know it's expensive so i put
out

3801
04:26:06,916 --> 04:26:13,076
the plan on how to build your own so you can just take a single sheet of plywood cut
it in the

3802
04:26:13,076 --> 04:26:19,556
sections that i drew up and build one and run an s9 off 120 volt in your garage or
wherever and

3803
04:26:19,556 --> 04:26:25,316
you'll get the sound kill you'll get all the you get you get to be on the black
market uh like a

3804
04:26:25,316 --> 04:26:33,636
true bitcoiner so go do that that's why it's called the black box hell yeah um oh
and oh sorry

3805
04:26:35,396 --> 04:26:42,036
there is a promo uh if you go to our web store and type in freaks as a coupon code
you get a

3806
04:26:42,036 --> 04:26:48,996
further discount off bundle so it's a little bit extra off it's a promo on right now
so freaks uh

3807
04:26:48,996 --> 04:26:55,156
steve was in texas last week big recruiting trip when are you moving it was a bit of
a exploratory

3808
04:26:55,156 --> 04:27:03,156
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

3809
04:27:03,156 --> 04:27:09,316
here i guess it's a different story but uh canada is uh not great for business right
now so we were

3810
04:27:09,316 --> 04:27:17,236
checking out texas for the oil and gas bitcoin mining stuff what about nashville uh
so uh i want

3811
04:27:17,236 --> 04:27:22,996
to go to nashville um i met peter mccormack last night and he invited me there so i
might go in

3812
04:27:22,996 --> 04:27:29,716
august and actually i heard nashville is rocking uh you guys do a good job at your
meetups yeah

3813
04:27:29,716 --> 04:27:33,556
they're all and tom is cereal one of my favorite guys at bitcoin yeah he's a good
boy looking

3814
04:27:33,556 --> 04:27:38,756
awesome he's from ten he lives in tennessee now and from what i see it's just a
glorious place

3815
04:27:38,836 --> 04:27:44,756
yeah it is a glorious place yeah well lots of people are moving there right i mean
you got

3816
04:27:44,756 --> 04:27:50,756
already like the bitcoin magazine office is headquartered there and uh not to dox
anybody

3817
04:27:50,756 --> 04:27:56,196
else who's living there but a lot of cool bitcoiners uh apparently are moving there

3818
04:27:56,916 --> 04:27:59,156
yeah but all the cooler bitcoiners in austin so

3819
04:28:01,316 --> 04:28:05,076
i'm kidding people think this conference is bad wait for your weft conference that's
coming to

3820
04:28:05,796 --> 04:28:13,236
uh is that uh weft plus coin desk consensus yeah talk about being tone deaf weft and
coin desk yeah

3821
04:28:13,236 --> 04:28:23,956
world like world economic forum have you heard of them who is nobody knows he's got
he's a shady

3822
04:28:23,956 --> 04:28:29,876
character is he the emperor is he the is he the sith or the is he the apprentice
like we don't

3823
04:28:29,876 --> 04:28:34,516
know that's the only question we don't have to get into that though we've got 10
minutes and 30

3824
04:28:34,516 --> 04:28:39,636
seconds left we usually open it up to q a at the end here there's a lot of people if
any of you

3825
04:28:39,636 --> 04:28:43,876
guys have any questions do we have any mics to hand out or we're just standing up
and screaming that

3826
04:28:46,756 --> 04:28:54,196
uh no wonder the bends are here we i don't have them on why don't you just read the
shout out you

3827
04:28:54,196 --> 04:29:02,036
put in there yeah ben actually yeah i had to reach out the two freaks until they dm
me after we

3828
04:29:02,036 --> 04:29:06,356
usually don't do the shout outs of the live show it's just it's not a not enough
time

3829
04:29:10,196 --> 04:29:12,116
underestimated announcement this week

3830
04:29:13,396 --> 04:29:16,436
what is the most underestimated announcement it hasn't been made yet

3831
04:29:20,036 --> 04:29:24,836
are you announcing the announcement now matt just did the uh what is the most
underrated

3832
04:29:25,796 --> 04:29:33,796
maulers that's hinting here uh do you guys talk about the cash app i thought that
was pretty cool

3833
04:29:33,796 --> 04:29:39,636
a lot of easier onboarding easier user experience seemed like some good stuff and
lightning

3834
04:29:39,636 --> 04:29:45,396
deposits right yeah the dual like make it easier to to pay i mean we've been talking
about this a

3835
04:29:45,396 --> 04:29:48,916
lot but i actually had a conversation with danny who's working on the cash app
wallet and it's

3836
04:29:49,876 --> 04:29:57,076
it's really cool just how much they've simplified the ux of pointing uh your your
camera at a qr

3837
04:29:57,076 --> 04:30:00,996
code doesn't know if it's a fiat qr code and on chain or a lightning code it just
works it

3838
04:30:00,996 --> 04:30:07,796
picks up whatever it is and sends what it needs to um let's give a shout out to the
cash app for

3839
04:30:07,796 --> 04:30:12,836
really pushing the ux barriers around bitcoin usage yeah i mean miles was great up
there he

3840
04:30:12,836 --> 04:30:18,836
fucking killed it yeah with absolute legend disclaimer they used to be a sponsor
they're

3841
04:30:18,836 --> 04:30:26,756
a sponsor of the stage and the stage yeah um underestimate yeah i mean i was hope
maybe

3842
04:30:27,556 --> 04:30:32,916
aaron rogerson stacks that's that's boss how's that make you feel it's two years

3843
04:30:32,916 --> 04:30:40,036
since stacks stacks that's first came out now it's just whatever it's just everyone
stacks

3844
04:30:40,036 --> 04:30:44,756
we're gonna move to bits though dude we're moving out right yeah shit coins are
obsolete

3845
04:30:44,756 --> 04:30:49,076
and we're moving to bits i was expecting i was expecting another nation state to
announce here

3846
04:30:49,076 --> 04:30:53,156
so maybe not an underestimate well samson had like an overestimated announcement

3847
04:30:57,956 --> 04:31:02,916
what was it i mean it was just uh it's like an island like a little island off of
honduras

3848
04:31:03,636 --> 04:31:09,396
yeah prospero right prospero but like everyone thought that was going to be a whole
country

3849
04:31:09,956 --> 04:31:13,876
i think we need more whole countries i think el salvador is out on a proverbial
island we're

3850
04:31:13,876 --> 04:31:19,716
used to whole countries now you know it starts with islands man it starts with
islands grows

3851
04:31:19,716 --> 04:31:24,996
from there fair enough fair enough i mean i would love for like the u.s or canada to
just come out

3852
04:31:24,996 --> 04:31:29,476
and be like we're not going to do anything um run free with bitcoin use it as you
please

3853
04:31:30,436 --> 04:31:34,276
which is who was i talking about this with i was mark moss i was talking about with
mark moss

3854
04:31:34,276 --> 04:31:37,876
yesterday like that's the way it should be like we shouldn't have to wait for
permission

3855
04:31:37,876 --> 04:31:44,196
from the government to use bitcoin the way we want to like it's the way america the
ideals

3856
04:31:44,196 --> 04:31:49,956
it was founded on i think we should just be able to do it freely doesn't strike me
as organic

3857
04:31:49,956 --> 04:31:57,076
to expect countries to like states like governments to adopt it doesn't seem yeah
the incentives and

3858
04:31:57,636 --> 04:32:02,276
game theory is not exactly yeah exactly you don't yeah you don't want whole nation
states

3859
04:32:02,276 --> 04:32:06,676
adopting you just want their citizens to be feel comfortable adopting and use it as
they they want

3860
04:32:06,676 --> 04:32:11,316
to especially if they have a money printing machine i guess it was kind of a
no-brainer

3861
04:32:11,316 --> 04:32:14,356
for el salvador though right because they were using the u.s they didn't even have
their own

3862
04:32:14,356 --> 04:32:19,156
currency yeah and the federal reserve is just printing out that trillions of dollars
of money

3863
04:32:19,156 --> 04:32:24,356
and they're getting inflated and no benefits at all so it's like a very easy
decision for them

3864
04:32:24,356 --> 04:32:30,356
right but most other countries that are printing their own currency it's against
their interest to

3865
04:32:30,356 --> 04:32:34,596
adopt it's like slaughtering their own golden goose in a way right so i guess for el
salvador

3866
04:32:34,596 --> 04:32:40,836
they already that that their golden goose already uh got slaughtered internally
before that so it

3867
04:32:40,836 --> 04:32:46,116
was a lot easier for them you have any thoughts on this correct yeah i mean i i
think you know

3868
04:32:46,676 --> 04:32:50,436
i think they're certainly early for their time i don't think we expect any other
countries to

3869
04:32:50,436 --> 04:32:55,316
announce uh certainly in the next few days and there are a lot of downsides when a
country does

3870
04:32:55,316 --> 04:33:02,036
this right there's a lot of custodial wallets there's a lot of um you know kind of
implementation

3871
04:33:02,036 --> 04:33:07,796
issues of trying to build this in on a wider societal level um so as you were saying
marty

3872
04:33:07,796 --> 04:33:12,916
it's almost better in a way that we have this kind of organic growth where it takes
time yes but by

3873
04:33:12,916 --> 04:33:17,636
the time that a government eventually says you know we're going to use this thing
well a lot of

3874
04:33:17,636 --> 04:33:21,956
people are already using it but using it in the right way or at least able to tell
their friends

3875
04:33:21,956 --> 04:33:26,916
and family this is how you should do it don't just use the government's wallet but
you know

3876
04:33:26,916 --> 04:33:32,196
use your own wallet and i think that that's you know so that's going to happen
anyway so i'm i'm

3877
04:33:32,196 --> 04:33:36,676
i'm not too fussed at the rate of country adoption because as you say i think it's
happening anyway

3878
04:33:36,676 --> 04:33:41,556
yeah raise your hands if you've been to the bitcoin bazaar in uh in the conference

3879
04:33:42,116 --> 04:33:49,396
okay uh raise your hand if you spent bitcoin in the miami area that's pretty awesome
like i love

3880
04:33:49,396 --> 04:33:54,516
that we have both the circular economy here i love that we have every everywhere
around this

3881
04:33:54,516 --> 04:33:59,636
conference you can pay with lightning and a bunch of different companies and groups
of people have

3882
04:33:59,636 --> 04:34:03,476
been onboarding businesses in the in the surrounding area i mean we were at a bar
last night

3883
04:34:03,476 --> 04:34:08,916
that was on board and that accepted bitcoin dude it was crazy uh my flight from
austin yesterday

3884
04:34:09,716 --> 04:34:14,676
i came in and there was a few of the unchained guys on the flight as well and tyler
who created

3885
04:34:14,676 --> 04:34:19,396
the intro to our podcast was going to a hotel right down the street so we hopped
into an uber

3886
04:34:19,396 --> 04:34:24,836
we shared an uber and then somebody uh was coming to the conference like are you
guys going to south

3887
04:34:24,836 --> 04:34:28,516
beach this is probably not what you should do if you're a bitcoiner he was like can
i hop in the

3888
04:34:28,516 --> 04:34:32,916
uber with you like i hop in and he like we like split the uh he was like i'll pay
you over strike

3889
04:34:32,916 --> 04:34:36,836
i was like yeah here's a lightning invoice and like he paid me in the uber it's like
as soon

3890
04:34:36,836 --> 04:34:41,636
as i landed i ran into a bitcoiner i was willing to like pay me in sats to split an
uber it was

3891
04:34:41,636 --> 04:34:46,036
pretty cool i think i have the opposite strategy when the uber driver asks me if i'm
the bitcoin

3892
04:34:46,036 --> 04:34:54,356
i'm like what's that bite coin that's you show them a shit coin just so you for good
offset

3893
04:34:54,356 --> 04:34:59,876
purposes i i don't own any bitron is the future and he just doesn't do anything to
you

3894
04:35:00,118 --> 04:35:04,478
yeah it's it's really cool to see proliferation out to like ibex and oshi you've
been going

3895
04:35:04,478 --> 04:35:10,718
oshi's michael from oshi just fucking never stops yeah he never stops ibex is on
board

3896
04:35:10,718 --> 04:35:16,318
at 40 merchants i mean ibex and oshi also work together um so it's very
complimentary

3897
04:35:16,318 --> 04:35:21,598
i mean one of the most bullish fundamentals of this year period is i really feel
like

3898
04:35:21,598 --> 04:35:28,158
there's starting to be real momentum on a proper bitcoin circular economy and i'm
being

3899
04:35:28,158 --> 04:35:33,918
cautious about it because there were false starts in the past i mean yeah it's a big

3900
04:35:33,918 --> 04:35:39,918
meme in like 2013 2014 hey what about bitpay adding lightning do we care no too late
nicholas

3901
04:35:39,918 --> 04:35:46,238
and the btc pay server team obsoleted them so it's a funny you have to do kyc before

3902
04:35:46,238 --> 04:35:51,518
you send them lightning do you do is it is it like a threshold i've never spent to a
bitpay merchant

3903
04:35:52,638 --> 04:35:55,198
well they don't even give you like a qr code do they they make you

3904
04:35:56,078 --> 04:35:59,038
never they don't give you like a bitcoin address to pay do they give you like a
lightning i don't

3905
04:35:59,038 --> 04:36:05,278
know i have no idea yeah who cares is anybody using bitpay i think a lot of people
are right

3906
04:36:05,278 --> 04:36:12,078
use btc pacer raise your hand if you use bitpay at your business zero head
somebody's pointing

3907
04:36:12,078 --> 04:36:16,638
at somebody over there it's like a pretty it's a pretty scary shame it's kind of a
mean there's

3908
04:36:16,638 --> 04:36:22,558
a kind of a mean question uh raise your hand if you've if you spent at a bitpay
merchant

3909
04:36:22,558 --> 04:36:29,358
in the last year it's a few hands um did they just give you an invoice

3910
04:36:30,318 --> 04:36:32,638
uh

3911
04:36:37,758 --> 04:36:43,838
bib 90 got it so he's saying it's it depends on the merchant some just give you a
bitcoin address

3912
04:36:45,758 --> 04:36:50,478
still catching up but there's other merchants that just use a btc pay server like uh
you know

3913
04:36:50,478 --> 04:36:57,518
to book your your flights or hotel there's so many places you can go now 100 so guys
um

3914
04:36:57,518 --> 04:37:02,478
i mean we have two minutes left i think we should probably end it with final
thoughts but before we

3915
04:37:02,478 --> 04:37:07,838
do before you all like jump out of your seats and stuff we have a ride or die freak
here who's going

3916
04:37:07,838 --> 04:37:14,318
to perform for us captain youth in two minutes after we do our final thoughts so um
i'm very

3917
04:37:14,318 --> 04:37:19,438
excited about that and uh looking forward to that so craig you want to start with
final thoughts

3918
04:37:19,438 --> 04:37:27,038
sure so i mean uh great to be here and um you know i just really am inspired by the
number of people

3919
04:37:27,038 --> 04:37:33,118
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

3920
04:37:33,118 --> 04:37:38,878
passion um that people have i'm living in you know one corner of continents in the
world where

3921
04:37:38,878 --> 04:37:46,318
bitcoin is not um a general topic let's say um and coming out here you can really
experience the

3922
04:37:46,318 --> 04:37:52,318
kind of passion and enthusiasm that people have having the space and that gives me
energy to do

3923
04:37:52,318 --> 04:37:58,558
what i do so yeah um it's been great to be here so far thanks craig whiz final
thoughts

3924
04:37:59,518 --> 04:38:03,598
yeah i mean it's been miami's been great so far we started off with the beefsteak
and

3925
04:38:03,598 --> 04:38:06,878
that was amazing uh steak's always special who went to the beefsteak

3926
04:38:07,838 --> 04:38:12,798
yeah marty why isn't your hand up that's that's the best that's a very pregnant wife

3927
04:38:14,158 --> 04:38:17,438
i've had i tweeted i have beefsteak foam i have poor fomo yeah

3928
04:38:17,438 --> 04:38:20,958
well you were missed everyone i was asking me about you i had to answer that
question like 100

3929
04:38:20,958 --> 04:38:27,598
times thank you for missing me freaks yeah well yeah beefsteak was awesome and um
you know this

3930
04:38:27,598 --> 04:38:31,838
open source stage was awesome like every talk is these are this is the signal right
these are the

3931
04:38:31,838 --> 04:38:36,638
people that i want to uh listen to and hang out with i don't know what's going on in
the other

3932
04:38:36,638 --> 04:38:44,158
rooms uh paying attention but yeah steve well i'm happy to be up here i i listen to
you guys i do a

3933
04:38:44,158 --> 04:38:49,358
lot of driving in canada from calgary to lloyd to oil wells why not listen to you
guys all the time

3934
04:38:49,358 --> 04:38:55,838
so appreciate having me up here me and marty were shooting guns on a texas ranch the
other day

3935
04:38:55,838 --> 04:39:00,798
it was thank you steve illegal guns that we wouldn't build not u.s illegal but
canadian

3936
04:39:00,798 --> 04:39:05,518
illegal so it was a special experience steve had a cathartic experience on the gun
range

3937
04:39:05,518 --> 04:39:08,878
on sunday i've got a picture of him he's got the biggest shit eating grin on his
face

3938
04:39:09,838 --> 04:39:14,878
fn scar man oh my god uh there's a guns and bitcoin conference coming up i don't
know you

3939
04:39:14,878 --> 04:39:21,198
guys going to that guns and bitcoin i want to yeah i'm speaking at that um in a few
days oh

3940
04:39:21,198 --> 04:39:26,558
awesome it's out here in miami right i mean they're great dudes over there yeah do
you have

3941
04:39:26,558 --> 04:39:30,638
any fun oh yeah that's it for me don't you go first with final thought and whatever
what are

3942
04:39:30,638 --> 04:39:34,158
you i wasn't going to do final thoughts but we've been working with the bitcoin
company

3943
04:39:34,958 --> 04:39:39,358
um and we've turned that honey badger they've turned that honey badger that we used
to have

3944
04:39:39,358 --> 04:39:43,598
on our t-shirts before marty nuked the store because he was scared we're going to be
ledger

3945
04:39:43,598 --> 04:39:52,238
hacked um and proceeds are going to open sats them and us it's uh it's a three-way
split yeah

3946
04:39:52,238 --> 04:39:55,758
shout out to my uh it's pretty dope this is the first time i've ever seen it in
person

3947
04:39:56,318 --> 04:40:00,798
shout out to my roommate brayden out of college who made that design and shout out
to max who

3948
04:40:00,798 --> 04:40:06,398
made this 3d print it came out great dude i know you just walked up on stage and i
had a hot mic

3949
04:40:06,398 --> 04:40:12,878
but it came out fantastic final thoughts we're gonna win we're gonna win let's
fucking go thank

3950
04:40:12,878 --> 04:40:16,638
you freaks here comes captain youth
