Aug. 4, 2021

CD33: build your own hardware wallet for $50 with @seedsigner and @keithmukai

CD33: build your own hardware wallet for $50 with @seedsigner and @keithmukai
Citadel Dispatch
CD33: build your own hardware wallet for $50 with @seedsigner and @keithmukai

EPISODE: 0.3.3

BLOCK: 694094

PRICE: 2610 sats per dollar

TOPICS: build your own hardware wallet for $50


@seedsigner: https://twitter.com/seedsigner

@keithmukai: https://twitter.com/keithmukai


streamed live every tuesday:

https://citadeldispatch.com


twitch: https://twitch.tv/citadeldispatch​

bitcointv: https://bitcointv.com/video-channels/citadeldispatch/videos

podcast: https://anchor.fm/citadeldispatch​

telegram: https://t.me/citadeldispatch​


support the show: https://tippin.me/@odell

stream sats to the show: https://www.fountain.fm/

join the chat: http://citadel.chat/

00:10 - What does the SEC have to do with crypto and why is the chair of the SEC talking about crypto?

00:33 - The lack of investor protection in crypto trading platforms and lending platforms

02:01 - The importance of promoting investor protection in the crypto industry

49:43 - Importance of keeping devices physically secure

50:21 - Mitigating concerns about tampered memory cards

51:47 - Standardization and bug detection in SeedSigner

01:37:27 - Bitcoin and its early adoption

01:38:21 - Mining cryptocurrencies in a computer lab

01:39:58 - Licensing and open-source projects

WEBVTT

NOTE
Transcription provided by Podhome.fm
Created: 3/17/2024 8:33:41 PM
Duration: 7652.232
Channels: 1

1
00:00:00.160 --> 00:00:03.220
Is Gary Gensler, and welcome back to Office Hours.

2
00:00:10.725 --> 00:00:16.825
What does the SEC have to do with crypto and why is the chair of the SEC talking about crypto?

3
00:00:17.205 --> 00:00:19.064
Now, technologies come along

4
00:00:19.510 --> 00:00:24.570
decade after decade, but those that have a chance to thrive, grow, come within

5
00:00:25.030 --> 00:00:41.110
public policy framework. To be clear, I think that the SEC should be technology neutral. But one thing we're not neutral on is investor protection. Our agency, the SEC, has had rules for decades to protect people when companies wanna raise money from them

6
00:00:41.489 --> 00:00:42.950
or when we, as investors,

7
00:00:44.185 --> 00:00:45.245
buy and sell

8
00:00:45.785 --> 00:00:46.285
securities

9
00:00:47.065 --> 00:01:09.945
on an exchange like the New York Stock Exchange. But you see crypto trading platforms, crypto lending platforms don't have the same level of investor protection that you've come to expect buying and selling stocks on a stock exchange or investing in a mutual bond or a 401, Ken. In the years since Bitcoin was started, literally thousands of other tokens have been launched.

10
00:01:10.270 --> 00:01:12.369
Many of which traded on platforms

11
00:01:12.990 --> 00:01:16.930
may well be securities under our laws. That means if the platforms

12
00:01:17.545 --> 00:01:21.245
and certain of the tokens don't register with the SEC, they're noncompliant

13
00:01:22.105 --> 00:01:24.205
with the important federal protections

14
00:01:24.585 --> 00:01:30.729
in our laws. So I've asked staff, the SEC to use all of our authorities anywhere we can

15
00:01:31.270 --> 00:01:32.010
to uncover

16
00:01:32.470 --> 00:01:33.290
any wrongdoing.

17
00:01:34.045 --> 00:01:35.345
Authorities aren't enough.

18
00:01:35.725 --> 00:01:37.905
I've also recommended to Congress

19
00:01:38.604 --> 00:01:39.744
for them to consider

20
00:01:40.765 --> 00:01:42.064
filling those gaps

21
00:01:43.040 --> 00:01:49.940
with a goal of investor protection. To those currently or considering investing in crypto, please remember

22
00:01:50.480 --> 00:01:52.865
not only are they a highly speculative

23
00:01:53.165 --> 00:01:53.985
asset class,

24
00:01:54.445 --> 00:01:55.425
but there are also

25
00:01:56.685 --> 00:01:57.905
significant gaps

26
00:01:58.365 --> 00:01:59.825
in the investor protection

27
00:02:00.510 --> 00:02:11.955
afforded to you. I think that moving forward, promoting investor protection is not only good for you and for anyone who would consider investing in these assets. I think that it's the only

28
00:02:12.415 --> 00:02:12.915
real

29
00:02:13.215 --> 00:02:16.355
viable path forward for this nascent technology.

30
00:02:16.655 --> 00:02:18.114
See, at the heart of finance

31
00:02:18.575 --> 00:02:19.555
is trust

32
00:02:20.480 --> 00:02:21.300
and trust

33
00:02:21.760 --> 00:02:26.980
rests on investor protection. And so that's what the SEC has to do with crypto

34
00:02:27.520 --> 00:02:28.580
investor protection.

35
00:03:09.925 --> 00:03:15.145
Happy Bitcoin Tuesday, freaks. It's your boy, Matt Odell, here for another Citadel dispatch.

36
00:03:15.890 --> 00:03:20.950
The interactive live show about Bitcoin distributed systems privacy and open source software.

37
00:03:21.410 --> 00:03:24.390
To the freaks joining us through our audio feeds,

38
00:03:25.465 --> 00:03:29.724
that was the SCC chair, Gary Gensler, quite cringe video,

39
00:03:30.105 --> 00:03:30.905
announcing his,

40
00:03:32.030 --> 00:03:33.650
it seems like a war on crypto.

41
00:03:35.629 --> 00:03:37.890
It seems like his focus isn't really on Bitcoin,

42
00:03:38.750 --> 00:03:39.250
so

43
00:03:39.715 --> 00:03:40.995
take it as you will. But,

44
00:03:41.635 --> 00:03:47.655
either way you look at it, he is he does seem to be going after at least the low hanging fruit Chick Coins

45
00:03:47.960 --> 00:03:48.860
and the casinos

46
00:03:49.160 --> 00:03:50.620
that allow them to trade.

47
00:03:52.280 --> 00:03:57.580
I wanna do a quick shout out to our ride or dive freaks joining us in the live chat. I know this is a later

48
00:03:57.945 --> 00:04:00.525
dispatch than usual at 8 PM EST,

49
00:04:01.705 --> 00:04:02.765
midnight UTC.

50
00:04:03.625 --> 00:04:05.225
We're competing with prime time,

51
00:04:05.785 --> 00:04:06.605
East Coast

52
00:04:07.200 --> 00:04:08.340
Television, including,

53
00:04:10.160 --> 00:04:13.300
the the the Olympics that are going on right now.

54
00:04:13.760 --> 00:04:16.740
So I hope you find this conversation more interesting than

55
00:04:17.185 --> 00:04:19.285
those corporate filled NBC streams.

56
00:04:20.785 --> 00:04:26.805
I also wanna do a oh, of course, to join the live chat. I mean, my favorite way of doing it is through Twitch.

57
00:04:27.330 --> 00:04:30.070
We have people joining us on Twitch, Twitter, and YouTube.

58
00:04:31.090 --> 00:04:34.450
I think I might start phasing out YouTube. They did cut my stream,

59
00:04:35.165 --> 00:04:37.025
before the end last week,

60
00:04:37.565 --> 00:04:42.465
but we do have a lot of freaks that like using the YouTube stream, so I'm kinda battling with it. But,

61
00:04:42.820 --> 00:04:44.520
eventually, they'll probably ban us,

62
00:04:44.820 --> 00:04:47.480
and then you'll have no choice but to use Twitch or Twitter.

63
00:04:48.100 --> 00:04:52.485
As always, the videos are posted to Bitcoin TV after we air.

64
00:04:53.264 --> 00:04:55.365
So all the archives are there, bitcointv.com,

65
00:04:57.185 --> 00:04:59.044
and they are posted to our podcast

66
00:04:59.750 --> 00:05:03.610
feed. If you just search it, it'll dispatch in your podcast app of choice.

67
00:05:04.310 --> 00:05:11.165
Huge shout out to all the freaks who support the show and keep it ad free. I will never add ads to this show. We will never have sponsors.

68
00:05:12.185 --> 00:05:14.125
I like how the incentives align,

69
00:05:14.505 --> 00:05:15.405
with the audience.

70
00:05:16.490 --> 00:05:19.390
I'm here for you. I feel like you guys are here for me,

71
00:05:19.930 --> 00:05:21.310
and that's what it's about.

72
00:05:22.170 --> 00:05:28.655
My favorite way of you freaking supporting the show is using podcasting 2 point o platforms. If you go to new podcast apps.com,

73
00:05:29.515 --> 00:05:37.190
you can download a podcast app that supports streaming sats, search Civil dispatch, load it up with sats, and then as you listen to the feed,

74
00:05:37.570 --> 00:05:40.789
it'll stream sats directly to my lightning node.

75
00:05:41.695 --> 00:05:44.115
You can also contribute to the show,

76
00:05:44.575 --> 00:05:45.395
at sidildispatch.com

77
00:05:46.175 --> 00:05:48.995
via PayNIM. My PayNIM is Odell.

78
00:05:49.509 --> 00:05:50.729
Very easy to remember.

79
00:05:51.430 --> 00:05:56.090
There's also, Tipin. Me there if you want to contribute via lightning in that fashion.

80
00:05:56.525 --> 00:06:02.465
So thank you, Phryx, for supporting the show. That's what it's about. You also can support the show by getting merch.

81
00:06:03.405 --> 00:06:04.785
We have hats, magnets,

82
00:06:05.610 --> 00:06:07.470
and flasks available at citildispatch.com/stack.

83
00:06:10.250 --> 00:06:14.430
Also, big shout out to BTC pins, who's a ride or die freak and

84
00:06:15.095 --> 00:06:17.115
constantly joins us for these live shows.

85
00:06:17.735 --> 00:06:18.795
If you go to btcpins.com,

86
00:06:20.215 --> 00:06:21.195
he is currently

87
00:06:23.240 --> 00:06:25.340
selling free open source software

88
00:06:25.640 --> 00:06:26.140
pins,

89
00:06:26.520 --> 00:06:27.820
a collection of pins,

90
00:06:29.160 --> 00:06:30.780
that include pins from BTCPay,

91
00:06:31.320 --> 00:06:33.915
Zeus, Bisc, and Raspberry Blitz,

92
00:06:34.695 --> 00:06:38.155
and very honored, it also includes a pin for Citadel Dispatch.

93
00:06:38.775 --> 00:06:40.155
We do try and

94
00:06:40.940 --> 00:06:47.280
replicate the FOSS model here with the show, and it's quite an honor to be a part of that PIN set. All proceeds go to OpenSats,

95
00:06:48.165 --> 00:06:48.745
to support,

96
00:06:49.125 --> 00:06:51.945
open source Bitcoin development. So it's a really great initiative.

97
00:06:53.285 --> 00:06:56.025
I'm very excited about it. I will be auctioning off,

98
00:06:56.670 --> 00:06:57.650
a pin set

99
00:06:58.350 --> 00:06:59.410
for for devs,

100
00:07:00.350 --> 00:07:02.130
at the Bitblock Boom Conference

101
00:07:02.590 --> 00:07:03.330
in Dallas

102
00:07:04.525 --> 00:07:05.265
later this

103
00:07:05.805 --> 00:07:07.745
month. So all that, very exciting.

104
00:07:09.325 --> 00:07:16.390
This is a very looking forward to this conversation. It's a conversation I've wanted to have for a while now. It's a project that's been on my radar.

105
00:07:18.450 --> 00:07:19.350
This is dispatch

106
00:07:19.810 --> 00:07:20.310
33,

107
00:07:21.085 --> 00:07:27.425
and we will be focused on building your own Bitcoin hardware wallet with the seed signer team, 2 of the guys from the seed signer team.

108
00:07:27.884 --> 00:07:29.664
We have seed signer himself,

109
00:07:30.419 --> 00:07:33.400
which is both his name and the name of the project.

110
00:07:33.860 --> 00:07:36.199
He's lead maintainer. How's it going, SeedSigner?

111
00:07:36.659 --> 00:07:43.444
It's going great. How are you? Welcome to the show. It's a pleasure to have you. I'm super excited to be here. And we have Keith,

112
00:07:43.745 --> 00:07:49.900
who is a contributor, a recent recently new contributor to the Seed Signer project. How's it going, Keith?

113
00:07:50.280 --> 00:07:51.820
Alright. Thanks for having us.

114
00:07:52.200 --> 00:07:53.260
Yeah. Let's go.

115
00:07:54.414 --> 00:07:56.034
Happy Bitcoin Tuesday, guys.

116
00:07:57.215 --> 00:07:57.715
Amen.

117
00:07:59.615 --> 00:08:05.620
So we are here to talk about building your own hardware wallet. I know on your website, you say you could build this hardware wallet for $50.

118
00:08:09.440 --> 00:08:12.020
I I have a picture of what

119
00:08:12.715 --> 00:08:20.975
the finished product looks like for the people on the video stream. It looks something like this if you if you opt for a 3 d printed case to put around the enclosure.

120
00:08:23.130 --> 00:08:27.389
Right. But as Keith demonstrated, it's you you can absolutely use without one too.

121
00:08:28.169 --> 00:08:38.205
Yeah. But a lot of people are into into printing, so it's it's a great option. And then these are the parts. So I guess you could use it like bare board, right, where if you just connect all the parts together?

122
00:08:38.720 --> 00:08:39.860
Yep. And we have

123
00:08:40.240 --> 00:08:43.760
a a new enclosure that I don't think it's in the repo yet, but it's gonna be in its,

124
00:08:44.640 --> 00:08:48.545
the the enclosure you just showed was a little bit more complex with multiple parts,

125
00:08:49.165 --> 00:08:53.745
and there's a a simplified one that's actually just one printed part, leaves the top

126
00:08:54.125 --> 00:08:55.010
kind of the top

127
00:08:55.410 --> 00:08:58.790
portion of the screen exposed and the button exposed, but it's

128
00:08:59.170 --> 00:09:01.990
it's kinda optimized for fast and simple,

129
00:09:02.530 --> 00:09:04.950
deployment if you just wanna put something together quickly.

130
00:09:05.714 --> 00:09:06.855
That sounds fantastic.

131
00:09:08.115 --> 00:09:10.214
So, I mean, let's just dive right in here.

132
00:09:10.755 --> 00:09:15.720
What what was your inspiration for the project? What was what's the project's goals?

133
00:09:16.900 --> 00:09:18.760
You know, why are we here to begin with?

134
00:09:19.780 --> 00:09:22.200
The goals for the projects, I would say,

135
00:09:23.395 --> 00:09:26.935
are to reduce the cost and complexity of multisig.

136
00:09:29.475 --> 00:09:31.255
And the origins of the project

137
00:09:32.010 --> 00:09:32.670
come from,

138
00:09:33.770 --> 00:09:41.415
kinda like chat conversations I have with, a security research researcher named Michael Flaxman. I think you may have had him on the show before. And,

139
00:09:43.634 --> 00:09:46.774
interacting with some of the guys with Spectre Desktop,

140
00:09:47.154 --> 00:09:51.620
and they have a a similar kind of project called Spectre DIY, which is,

141
00:09:52.580 --> 00:09:54.120
to back out for a second.

142
00:09:54.740 --> 00:09:56.200
There's still kinda some

143
00:09:56.750 --> 00:09:57.250
the

144
00:09:57.955 --> 00:10:01.175
nomenclature is still being developed for this kind of signing model

145
00:10:01.555 --> 00:10:02.055
where,

146
00:10:02.755 --> 00:10:04.135
kind of the the wallet

147
00:10:04.515 --> 00:10:09.510
and the signing mechanism are separated. So with, like, a traditional wallet, like, if you think of,

148
00:10:10.210 --> 00:10:11.110
let's just say,

149
00:10:11.570 --> 00:10:12.790
Trezor or,

150
00:10:13.970 --> 00:10:14.630
a ledger.

151
00:10:15.265 --> 00:10:18.245
So your private key is being stored on the device

152
00:10:19.185 --> 00:10:19.685
and

153
00:10:20.305 --> 00:10:22.965
kind of the wallet functionality is such that you

154
00:10:23.410 --> 00:10:28.470
dial in through the device or the device interacts with a portal that's maintained kinda by the service provider.

155
00:10:30.370 --> 00:10:31.590
And we are

156
00:10:32.115 --> 00:10:37.975
kind of we we break that kinda traditional wallet into multiple pieces to where we you have 3 parts.

157
00:10:38.355 --> 00:10:41.930
1 is the wallet coordinator that is like Specter Desktop

158
00:10:42.470 --> 00:10:46.410
or Sparrow or BlueWallet Vaults, and that manages all the interaction

159
00:10:47.110 --> 00:10:48.010
with the protocol

160
00:10:48.310 --> 00:10:49.690
and publishes transactions,

161
00:10:50.545 --> 00:10:55.925
scans the blockchain for, you know, incoming transactions, maintain your your balance, that kind of stuff.

162
00:10:56.305 --> 00:10:57.765
And then there's 2 other components,

163
00:10:58.300 --> 00:10:59.180
which you might call,

164
00:10:59.660 --> 00:11:02.160
the signing device and then key storage.

165
00:11:02.700 --> 00:11:04.080
Key storage is just

166
00:11:04.620 --> 00:11:11.785
whatever you choose it to be. It could be as simple as a piece of paper. So, obviously, most people, you know, prefer to put their key in the in the metal

167
00:11:12.165 --> 00:11:12.725
so that,

168
00:11:13.445 --> 00:11:15.625
if something happens to their paper, they have a

169
00:11:16.199 --> 00:11:18.459
more durable backup. But then the signing device

170
00:11:18.839 --> 00:11:21.500
is kinda like the bridge between your key storage

171
00:11:21.879 --> 00:11:22.860
and the the

172
00:11:23.875 --> 00:11:26.135
wallet coordinator or the multisig coordinator.

173
00:11:26.515 --> 00:11:30.775
And what the sign device does is you input your

174
00:11:31.550 --> 00:11:35.090
private key, which is represented by your seed phrase, into the sign device.

175
00:11:35.790 --> 00:11:41.825
And the sign device basically proves to the wallet software that it knows the key without ever actually,

176
00:11:43.645 --> 00:11:47.105
without ever actually transferring the key to the wallet software. So the

177
00:11:48.120 --> 00:11:50.700
the model is it's an air gapped,

178
00:11:51.320 --> 00:11:51.820
transaction

179
00:11:52.440 --> 00:11:53.980
that's moved between

180
00:11:54.519 --> 00:11:58.365
the multisync coordinator and the signed device. I don't wanna get too much in a nuance here,

181
00:11:58.745 --> 00:12:05.380
but some devices do this with like, Coldcard does it with a micro SD card where you have something called a partially signed Bitcoin transaction

182
00:12:06.080 --> 00:12:07.940
that is moved back and forth between

183
00:12:08.240 --> 00:12:08.900
the coordinator

184
00:12:09.280 --> 00:12:10.340
and the signed device,

185
00:12:11.185 --> 00:12:17.445
with a micro SD card, but we use, like, it's called optical air gap signing. So it's just QR codes

186
00:12:17.959 --> 00:12:30.095
that move that same partially signed transaction back and forth from the signer to where this go ahead. You have you have a micro SD card slot on the device. That is just for flashing the firmware. It's not actually

187
00:12:31.355 --> 00:12:37.190
used for PSB Ts. Right now, that's just used for flashing the firmware. I say right now because we're hoping,

188
00:12:37.810 --> 00:12:41.589
we have also another contributor working on a custom operating system

189
00:12:42.209 --> 00:12:45.785
that would give us a few additional features, one of which is

190
00:12:46.725 --> 00:12:47.225
additional,

191
00:12:49.045 --> 00:12:49.545
additional

192
00:12:50.810 --> 00:13:04.875
assurance for the users so that they could boot seed signer up. All of the operating system and everything you need gets loaded into memory, and then you can actually remove the micro SD card before you input your private key. So that's an additional kind of reassurance

193
00:13:05.470 --> 00:13:14.415
that your private key is not making it anywhere under the micro SD card. Micro SD is gonna go back into an online device for their firmware upgrade or something like that.

194
00:13:15.214 --> 00:13:24.810
Yeah. It it could. Yeah. But, also, the advantage of that system is if we can pull the micro SD that the operating system was loaded from out, then we could actually

195
00:13:25.270 --> 00:13:32.730
if some people prefer to do, moving the PSVTs back and forth with the micro SD card, that would allow us to add that feature to which,

196
00:13:34.135 --> 00:13:35.115
some people prefer.

197
00:13:35.495 --> 00:13:37.115
Great. So, I mean,

198
00:13:37.415 --> 00:13:38.635
I'm gonna call you

199
00:13:39.655 --> 00:13:41.755
seed for the rest of the show.

200
00:13:43.140 --> 00:13:45.480
So seed, I mean, don't feel

201
00:13:46.660 --> 00:13:53.654
the this the dispatch is all about going deep. So Okay. We can we I expect us to go deep here. That's what it's about.

202
00:13:54.675 --> 00:13:56.535
The freaks have already listened,

203
00:13:57.235 --> 00:14:02.230
to Craig Raw from Sparrow multiple times on the show, so they're familiar with Sparrow.

204
00:14:03.010 --> 00:14:04.710
They're very familiar with Spectre.

205
00:14:05.730 --> 00:14:08.535
They're familiar with the ideas around multisig. So

206
00:14:08.855 --> 00:14:13.915
the so the idea here is is is you have a multisig wallet. Right? And you have the coordinator,

207
00:14:15.415 --> 00:14:28.654
software on a computer that is connected to the Internet or in the case, blue wallet of the phone. Right. And then you have these multiple signing devices, which historically we've called hardware wallets. I understand in the industry, we're trying to move to signing devices,

208
00:14:30.395 --> 00:14:32.015
but, you know, names do stick.

209
00:14:32.750 --> 00:14:42.035
The so when you're doing that, you you're usually the 2 main methods is you have a 3 of 5 or a 2 of 3. And, basically, what you're deciding is,

210
00:14:42.815 --> 00:14:44.835
what devices are gonna make up,

211
00:14:45.935 --> 00:14:52.000
that that threshold of keys for you. And, you know, some people use cold cards, some people use Cobo Vault,

212
00:14:52.460 --> 00:14:53.360
some people use,

213
00:14:54.700 --> 00:14:58.385
Trezors or Ledgers. I don't think Ledger works really well with multi sig.

214
00:14:59.285 --> 00:14:59.565
But,

215
00:15:00.765 --> 00:15:05.345
they they use all these different devices, and they basically and then they also have a seed backup.

216
00:15:05.885 --> 00:15:06.945
Right. And

217
00:15:08.770 --> 00:15:09.590
seed signer

218
00:15:09.970 --> 00:15:14.070
fits in as one of those signing devices in this multisig threshold.

219
00:15:14.725 --> 00:15:16.565
1 or more of those signing devices. Right.

220
00:15:17.045 --> 00:15:17.545
Obviously,

221
00:15:18.085 --> 00:15:18.985
you know, the

222
00:15:19.445 --> 00:15:20.585
the belt and suspenders

223
00:15:21.125 --> 00:15:24.660
best security model is to mix vendors and mix hardware platforms.

224
00:15:25.200 --> 00:15:30.580
So that if there's a vulnerability you're not aware of in one of those platforms, only one of your keys is compromised.

225
00:15:31.975 --> 00:15:34.795
But, you know, with security, there's always trade offs.

226
00:15:35.255 --> 00:15:40.075
So, a lot of people find their way to our project because they're curious to experiment with multisig

227
00:15:40.600 --> 00:15:42.300
and just kinda try it out and get started.

228
00:15:42.680 --> 00:15:43.900
But they don't wanna spend,

229
00:15:44.280 --> 00:15:50.380
you know, 2, 3, $400 on wallets. So the cool thing about SeedSigner is it can operate as

230
00:15:50.825 --> 00:15:58.765
any or every cosigner in in multi sig because it's it's, what's called a stateless device. So when you input your seed phrase,

231
00:15:59.970 --> 00:16:00.950
it only stays

232
00:16:01.410 --> 00:16:08.389
active in the device while the device is powered. It's just basically a variable in memory in the program. It's not written to the micro SD card,

233
00:16:09.115 --> 00:16:13.935
such that when you power the device off, your seed is not retained on there so you can,

234
00:16:14.395 --> 00:16:21.310
it's kind of a dumb device, I guess we'd say. Right. So you can, if you're testing out, you can put multiple seeds in there. Ultimately, the seed is the

235
00:16:22.970 --> 00:16:25.790
the the the the seed is is

236
00:16:26.385 --> 00:16:27.525
is your

237
00:16:28.305 --> 00:16:37.389
interact was is the main way a person interacts with the private keys. Yeah. Exactly. You're entering the seed every time you use the device, and that that means

238
00:16:37.769 --> 00:16:38.269
that

239
00:16:38.970 --> 00:16:44.605
a lot of these more expensive devices incorporate secure elements. They're trying to secure the secret on the device.

240
00:16:45.705 --> 00:16:48.765
But because you're using off the shelf hardware and you're not,

241
00:16:49.305 --> 00:17:03.995
you you don't have a secure element in the device, you're not trying to necessarily protect the secret on the device because when it powers off, it should theoretically wipe any of the secrets from it. I wouldn't say it it wiped. The secrets are just in memory on the device, and when you unplug it,

242
00:17:04.935 --> 00:17:09.710
memory goes away. So yeah. It it what what I would also point out is,

243
00:17:10.429 --> 00:17:13.490
so when you set up a cold card or or

244
00:17:13.870 --> 00:17:26.330
tracer or anything like that, the first thing that they have you do is write down, you know, your 24 word backup Right. Or 12 words or whatever you're doing. So you already have with with traditional hardware wallets, you already have this

245
00:17:26.710 --> 00:17:27.850
need to safeguard

246
00:17:28.150 --> 00:17:29.210
your seed phrase.

247
00:17:29.670 --> 00:17:30.330
And then,

248
00:17:30.710 --> 00:17:35.985
like I said, with security, it's trade offs. So they they're storing your seed on the device as well

249
00:17:36.445 --> 00:17:40.865
behind, like you said, a secure element. And then you have usually kinda like a shortcut,

250
00:17:41.325 --> 00:17:46.130
like a pin phrase or maybe a fingerprint or something like that that allows you

251
00:17:46.510 --> 00:17:49.810
to quickly and more conveniently have access to your private key.

252
00:17:50.670 --> 00:17:51.170
So

253
00:17:51.665 --> 00:17:54.485
our thing is more aimed at people who are,

254
00:17:55.105 --> 00:17:55.605
saving

255
00:17:56.145 --> 00:18:07.400
or huddling Bitcoin for the long term, who are gonna do less frequent spends. But, anyhow, I I just wanna point out, you're always gonna have to safeguard that private key. So if you're more of a saver and a less frequent spender,

256
00:18:08.795 --> 00:18:09.615
you know, it's

257
00:18:11.035 --> 00:18:24.950
to spend with our device, you have to access your private key, but it's the only thing after protection. And we can we can dive into the specifics of that, a little bit further into the show. I feel like we kinda got ahead of ourselves. We did. So before so,

258
00:18:27.085 --> 00:18:31.825
you know, the freaks are very familiar with Spectre d DIY, which is a similar concept.

259
00:18:32.799 --> 00:18:34.259
Use off the shelf parts,

260
00:18:34.880 --> 00:18:39.779
to make a signing device. I think you were I may be involved with,

261
00:18:41.335 --> 00:18:58.020
like, creating a case for it or creating builds a build for it, like, to to sell it. And Right. Correct me if I'm wrong, kind of the inspiration for this was was that that build altogether comes in a little bit under 200, and this is significantly cheaper. Is that was that part of the inspiration of the project?

262
00:18:58.345 --> 00:18:59.885
Yeah. It was, like, I

263
00:19:00.265 --> 00:19:04.825
I can't upsize enough how much it was Spectre that kinda led me to it. I,

264
00:19:05.880 --> 00:19:06.380
before,

265
00:19:06.919 --> 00:19:09.100
you you know, I was always looking to get into multisig,

266
00:19:09.880 --> 00:19:15.865
and I come to Bitcoin kind of from a unique background that we can get more into. But, when I was looking for

267
00:19:16.565 --> 00:19:17.065
a

268
00:19:17.764 --> 00:19:21.945
long term kind of security setup for storing Bitcoin, I wanted to get into multisig,

269
00:19:22.610 --> 00:19:29.750
and it it was taking a long time for some of the different coordinators to get online. And I happen to listen to this podcast that Flaxman did with Stefan Lavera

270
00:19:30.275 --> 00:19:38.375
and heard kind of some of his tips, and that was the first place I'd heard of Spectre. I hadn't heard of Spectre before that. So I download Spectre. I start looking at software.

271
00:19:38.700 --> 00:19:46.159
I find in the repo, they have this DIY or do it yourself wallet. I have a little bit of a background in hardware, so it didn't seem like a difficult thing to build.

272
00:19:46.675 --> 00:19:47.175
And

273
00:19:47.475 --> 00:19:49.415
prior to that, I had been using

274
00:19:50.035 --> 00:19:50.535
actually,

275
00:19:51.155 --> 00:19:53.895
this is probably horrible, but I was using a website called bidaddress.org,

276
00:19:54.850 --> 00:20:13.080
which I think is still out there. I think that's what I used right in the beginning when I first Right. Created Bitcoin. And I had used they have a setup to where I think you use Shamir's secret sharing and you can split up a private key among, like, different pieces and you that way you can kinda replicate a multisig setup, but it's not true on the protocol. So I had kind of a simple thing where I had, the you

277
00:20:16.179 --> 00:20:31.690
know, I I just I I wasn't totally satisfied with it. I wanted to, you know, I I just I I wasn't totally satisfied with it. I wanted to, like, have more confidence in my security setup. So I was kinda, like, looking for something when I heard that podcast, started playing around with with Spectre,

278
00:20:32.150 --> 00:20:34.010
found the DIY, put it together.

279
00:20:34.470 --> 00:20:36.490
And the first time I used Spectre

280
00:20:37.095 --> 00:20:46.875
with the kinda air gapped QR signing I described before where you scan QR's in and then you kinda, like, approve the transaction and scan it back into your laptop, like, that for me

281
00:20:47.210 --> 00:20:51.630
was the light bulb moment that was almost equivalent to my 1st Bitcoin transaction,

282
00:20:52.250 --> 00:20:58.475
my 1st lightning transaction. It was just like, this is like, this makes sense to me. This is the way that I wanna do it.

283
00:21:00.315 --> 00:21:01.934
And so like you mentioned,

284
00:21:02.635 --> 00:21:08.510
I think Flaxman again had a tweet where he was like, I love this wallet but somebody needs to build a case for it.

285
00:21:08.970 --> 00:21:13.630
Well, my background, like, one of the things I tinker with is 3 d printing and 3 d design.

286
00:21:14.255 --> 00:21:19.635
So I just kinda started iterating with the hardware and trying to find the best way to fit it into an enclosure.

287
00:21:20.335 --> 00:21:25.350
And I made one and I was, like, proud of it, and I started interacting with Stepan from,

288
00:21:26.130 --> 00:21:27.430
Spectre and I sent,

289
00:21:27.810 --> 00:21:31.675
I sent Flaxman 1 and I sent Stepan 1, and,

290
00:21:32.075 --> 00:21:34.895
I I started selling them in, like, a small square store.

291
00:21:36.155 --> 00:21:40.780
And as I started interacting with Flaxman more, he was describing to me,

292
00:21:41.980 --> 00:21:42.380
a,

293
00:21:42.780 --> 00:21:56.800
device he'd kinda thought of where you use a very specific version of Raspberry Pi. And it it's a Raspberry Pi 0, which if people aren't familiar, that's a smaller version of the Raspberry Pi that's smaller than the kind that people typically use in nodes. It's just a smaller form factor.

294
00:21:57.580 --> 00:22:07.534
And there's a very specific version of the Raspberry Pi 0. It's a version 1 dot 3, and it is built without Bluetooth and without Wi Fi. So it's kind of this naturally inexpensive

295
00:22:07.914 --> 00:22:09.294
air gap kind of system.

296
00:22:09.595 --> 00:22:11.134
And he talked about attaching

297
00:22:11.674 --> 00:22:13.855
a little screen and controls to that,

298
00:22:14.330 --> 00:22:18.670
Raspberry Pi 0 so that you could enter, like, the first 23 words of your seed phrase

299
00:22:19.130 --> 00:22:22.430
and then kind of in a a secure way, totally offline,

300
00:22:22.845 --> 00:22:26.145
be able to calculate the check some word and come up with a full,

301
00:22:27.005 --> 00:22:29.745
a full seed in a pretty secure independent way.

302
00:22:30.279 --> 00:22:30.779
And

303
00:22:31.159 --> 00:22:33.100
so I ordered some hardware pieces.

304
00:22:34.120 --> 00:22:36.220
I have a little bit of a background in technology.

305
00:22:37.000 --> 00:22:37.640
So I,

306
00:22:38.375 --> 00:22:39.995
I started playing around with that

307
00:22:40.855 --> 00:22:42.075
and was able

308
00:22:42.535 --> 00:22:56.304
to implement kind of the, the thing he was talking about where you kinda enter the words and it it calculates your 24th word. That's great, but I still love the Spectre DIY, and I got to thinking, like, if I attach, like, an inexpensive camera to this thing,

309
00:22:56.684 --> 00:23:01.184
can I replicate that core signing functionality that the Spectre DIY does?

310
00:23:02.205 --> 00:23:04.385
I I kinda joke that what I contributed

311
00:23:04.880 --> 00:23:08.740
to the seed signer project is being a cheapskate because I wanted to see kinda

312
00:23:09.120 --> 00:23:12.100
how how low could we drive down the cost to build something

313
00:23:12.495 --> 00:23:16.355
that maybe doesn't have all the features of a DIY, but is like a basic

314
00:23:16.975 --> 00:23:20.755
signing device that's that's pretty darn secure and that people can build cheaply

315
00:23:21.460 --> 00:23:25.480
themselves from, you know, things that they can buy in various places on the Internet. So

316
00:23:25.860 --> 00:23:30.680
that's, that's, I think, an answer to your question. And I mean, specifically, I mean, we're gonna

317
00:23:31.015 --> 00:23:39.115
go further into the trade offs here. But, I mean, specifically compared to, like, these professional hardware wallets or hardware signing devices, whatever you wanna call them,

318
00:23:40.179 --> 00:23:44.520
the fact that you can build this off of off the shelf parts makes it more resistant,

319
00:23:45.700 --> 00:23:47.640
to government action. I mean, if

320
00:23:47.995 --> 00:23:52.255
you could foresee a situation where in certain parts of the world, it might be hard to get,

321
00:23:53.115 --> 00:23:55.215
a purpose built Bitcoin device,

322
00:23:56.510 --> 00:23:58.450
while it's still easy to get RASPIs.

323
00:23:59.309 --> 00:24:04.975
Right. And the other concern for people like, I had a a gentleman contact me from an an

324
00:24:05.455 --> 00:24:07.635
unspecified country in the miss Middle East,

325
00:24:08.015 --> 00:24:15.010
and I think they can actually get hardware wallets there, but they're not through official distributor channels. They're all kind of third party.

326
00:24:15.310 --> 00:24:28.735
So there's a high degree of uncertainty as to whether or not the hardware has been tampered with. But like you're saying, yeah. So if you live in some place where it's outright banned or you just don't want people to know that you're interacting with the Bitcoin protocol or that you're saving or storing Bitcoin,

327
00:24:29.150 --> 00:24:32.210
like, you can order these seemingly innocuous pieces and

328
00:24:32.590 --> 00:24:33.070
and,

329
00:24:33.630 --> 00:24:45.340
like, kinda secretly build your own thing. Right. I mean, you have, like, the the ledger hack is a perfect example where there's basically a list that got leaked of of people that are interested in Bitcoin or at least shit coins. Right.

330
00:24:45.880 --> 00:24:47.900
And in in this case, that wouldn't happen.

331
00:24:49.480 --> 00:24:53.100
So, I mean, let's dive into this. You you have the Raspberry Pi 0.

332
00:24:54.175 --> 00:24:57.395
You know, I checked Amazon. They're they're pricing that at $20.

333
00:24:59.055 --> 00:25:00.995
Then you have a Waveshare LCD

334
00:25:02.400 --> 00:25:04.100
that's priced at around $17.

335
00:25:04.640 --> 00:25:06.980
You have the camera module, which is 14,

336
00:25:07.360 --> 00:25:09.140
and then you have a micro SD,

337
00:25:09.635 --> 00:25:12.375
at least 4 gig micro SD, which is basically

338
00:25:13.235 --> 00:25:22.539
shipping cost. I mean, that's they're pricing that at, like, $8. And then Right. You have an optional case if you wanna if you have a 3 d printer, you can print the case yourself. Yep.

339
00:25:23.480 --> 00:25:28.605
So, I mean, you are kinda pushing it a little bit. Right? Like, really, the cost comes into, like, mid fifties.

340
00:25:29.305 --> 00:25:31.565
It's it's probably closer around 50. The

341
00:25:32.185 --> 00:25:33.485
so if we go to,

342
00:25:34.880 --> 00:25:35.860
shout out to

343
00:25:36.559 --> 00:25:37.440
shoot. I

344
00:25:38.080 --> 00:25:38.580
addafruit.addafruit.com

345
00:25:39.679 --> 00:25:40.659
if you're in America.

346
00:25:41.840 --> 00:25:46.725
You can get a pie mailed to you through standard mail for less than $10.

347
00:25:47.265 --> 00:25:49.045
Oh, wow. So it's,

348
00:25:50.110 --> 00:26:12.160
it's cheaper there, and there are other outlets too where you can find them. Like, we have a where I live, we have a micro center, and you can actually walk in with cash and buy one for $5 there. That's awesome. But it's just 1. But the the kind of the barrier with those is they don't come with the pins pre soldered on them. The larger Raspberry Pis have the the pins preinstalled, but the smaller ones for whatever reason they don't tend to,

349
00:26:12.800 --> 00:26:17.845
install them when you get them from the manufacturer. So you're either gonna have to buy one with the pins preinstalled

350
00:26:18.705 --> 00:26:20.165
or, you know, if it's

351
00:26:20.785 --> 00:26:25.765
soldering may seem kinda, like, overwhelming to some people, but it's not as crazy as you think.

352
00:26:26.630 --> 00:26:34.409
And I've had a lot of people that have contacted me privately and say, like, I'm gonna try this and they watch a few YouTube videos and they're able to pull it off and it works fine.

353
00:26:35.125 --> 00:26:41.625
But I I'll also mention, shameless plug that, I sell the presoldered Raspberry Pis for $15

354
00:26:42.669 --> 00:26:44.850
through the Square shop that I operate.

355
00:26:45.309 --> 00:26:45.809
So,

356
00:26:46.669 --> 00:26:49.169
if you're okay with, you know, buying it

357
00:26:49.630 --> 00:26:58.475
not yourself at, you know, a brick and mortar retailer or something, you're okay ordering it. I sell them for 15 with the pins attached, so that's kind of a way for people to get in the door there.

358
00:26:59.790 --> 00:27:00.290
Awesome.

359
00:27:03.230 --> 00:27:07.505
So we have the parts. What I'm just curious. What does the Spectre DIY use

360
00:27:07.985 --> 00:27:09.205
as their baseboard?

361
00:27:10.305 --> 00:27:11.125
They use,

362
00:27:11.585 --> 00:27:16.220
I believe you'd call it, like, a development board. So it's it's more geared towards,

363
00:27:17.640 --> 00:27:20.540
people who are experimenting with different hardware platforms

364
00:27:21.160 --> 00:27:21.820
and their

365
00:27:22.235 --> 00:27:28.095
form factor is much like a mobile phone, and it has a lot of the same, kind of hardware features of a mobile phone.

366
00:27:29.960 --> 00:27:30.679
But they're,

367
00:27:31.240 --> 00:27:31.740
the

368
00:27:32.600 --> 00:27:33.080
the,

369
00:27:33.720 --> 00:27:45.025
it's called a disco board. I I can't remember the model number, but I think they retail for, like, $62 is probably a good price for those at least. Yeah. The best one that I found. The core processor is, STM 32.

370
00:27:45.405 --> 00:27:48.880
And the screen, I think it's basically like an iPhone

371
00:27:50.940 --> 00:27:53.200
4. It's a full touchscreen. Right?

372
00:27:54.059 --> 00:27:54.559
Yeah.

373
00:27:55.100 --> 00:27:57.840
While the seed signer uses kind of like a joystick.

374
00:27:59.565 --> 00:28:00.465
Yeah. Yeah.

375
00:28:00.765 --> 00:28:01.404
So it's,

376
00:28:02.365 --> 00:28:03.505
for us, like,

377
00:28:04.684 --> 00:28:15.975
your what I I like to kinda think of it as seed signers maybe closer to entry level, though I think it's getting better and better. But Specter DIY is kinda like mid grade and then Specter shield that they have with their

378
00:28:16.275 --> 00:28:16.775
proprietary,

379
00:28:17.395 --> 00:28:21.175
add on board. I kinda call that, like, the premier kinda top tier.

380
00:28:22.299 --> 00:28:32.175
So for us, yeah, you don't get that big touchscreen that you're gonna be able to, at least at this point, type letters into. But we've come up with some pretty creative ways to to use the joystick.

381
00:28:32.795 --> 00:28:34.955
Keith can talk more about that, absolutely, and,

382
00:28:35.675 --> 00:28:38.495
more creative ways to get the seed into the device that

383
00:28:39.120 --> 00:28:40.500
that Keith came up with.

384
00:28:43.280 --> 00:28:48.500
Yeah. I mean, the cool part about multisig, right, is that you can use all these devices together in your quorum.

385
00:28:49.025 --> 00:28:49.525
And

386
00:28:50.705 --> 00:28:54.805
in general, when we're talking about multisig, you know, the more options, the better.

387
00:28:55.265 --> 00:28:57.605
We don't want everyone using the same exact

388
00:28:58.225 --> 00:28:58.725
setup.

389
00:28:59.970 --> 00:29:01.830
Keith, so you wanna talk about,

390
00:29:02.450 --> 00:29:04.550
I I think I know where this is going.

391
00:29:07.330 --> 00:29:08.310
I I guess,

392
00:29:09.765 --> 00:29:15.865
yeah. Let let's let's talk about that. So let's let's talk about so you have this you have this seed. You have these words.

393
00:29:18.120 --> 00:29:19.340
Personally, I think,

394
00:29:20.120 --> 00:29:24.914
you should keep those in steel. I don't know if you guys disagree with me on that. Totally agree.

395
00:29:25.394 --> 00:29:27.414
Because it's fire and water resistant,

396
00:29:27.794 --> 00:29:28.455
and, obviously,

397
00:29:28.914 --> 00:29:34.020
EMPs or or whatever things that can destroy an electronic device cannot destroy steel.

398
00:29:34.640 --> 00:29:39.140
If anything, the biggest negative of storing your seeds in steel is it's really hard to,

399
00:29:40.320 --> 00:29:42.545
destroy them if you wanna destroy them,

400
00:29:43.105 --> 00:29:44.245
which is the benefit.

401
00:29:45.025 --> 00:29:48.405
So you're entering the seed every single time you use the device.

402
00:29:50.640 --> 00:29:53.700
And, Keith, you came up with a pretty novel way of

403
00:29:54.080 --> 00:29:56.820
making that not a pain in the ass. You wanna talk about that?

404
00:29:57.440 --> 00:29:59.780
Yeah. So well, first of all, when I saw

405
00:30:00.365 --> 00:30:03.424
Steve give his demo in the Phosstome in, in Miami,

406
00:30:04.605 --> 00:30:12.130
you know, I was just like I was blown away. Right? I I I wanted to make sure I caught his presentation because we had interacted a bit on on Twitter beforehand.

407
00:30:13.950 --> 00:30:16.289
But I noticed that while he was demoing,

408
00:30:16.750 --> 00:30:23.595
you know, you so you have to enter enter your seat, and he's got, like, you know, a 20 minute slot or if even that in in the phosstome.

409
00:30:24.855 --> 00:30:29.410
And so he's just hitting abandon, abandon, abandon, abandon. Right? The very first,

410
00:30:29.870 --> 00:30:30.610
dip 39,

411
00:30:31.710 --> 00:30:36.164
mnemonic seed board. And so that's his, like, quote, you know, high entropy,

412
00:30:36.544 --> 00:30:38.565
private key that he's, you know, configuring,

413
00:30:39.585 --> 00:30:45.980
just for the purpose of the demo. Right? Just to get it in there so he's got a seed signer that can do its thing.

414
00:30:46.680 --> 00:30:51.500
And so I get home from Miami. I get the parts. I assemble my seed signer. I'm so excited.

415
00:30:51.905 --> 00:30:52.725
And then,

416
00:30:54.705 --> 00:31:02.920
someone says I'm really quiet. Let me see. I raised your volume on my side for what it's worth. Okay. Alright. Yeah. Well, hit me up in the chat if it's still quiet.

417
00:31:05.540 --> 00:31:08.520
And so yes. I've got my assembled seed signer,

418
00:31:08.975 --> 00:31:09.475
and

419
00:31:09.775 --> 00:31:19.380
I, you know, generate a a a fake key that I can, you know, toss away. And I start entering my 24 words. I'm like, oh my god. This is, you know, it's

420
00:31:19.760 --> 00:31:23.300
like 5 minutes, right, to type in a full 24, word seed.

421
00:31:25.440 --> 00:31:31.775
And so I think the first thing I did was just changing the input UI. So it was using, like, a vertical,

422
00:31:32.955 --> 00:31:37.055
like, cylinder, basically. We you know, you'd scroll through the alphabet,

423
00:31:39.059 --> 00:31:43.800
letter by letter. And then as you enter each individual letter, it can start eliminating

424
00:31:44.180 --> 00:31:44.680
letters,

425
00:31:45.300 --> 00:31:48.925
you know, as as like the the matches against the word list,

426
00:31:49.645 --> 00:31:50.465
narrow down.

427
00:31:51.085 --> 00:31:53.665
But it still takes too long. So then

428
00:31:54.020 --> 00:32:00.440
I was able to build a keyboard UI where you can use the joystick to move across a virtual keyboard,

429
00:32:00.820 --> 00:32:04.424
click the joystick to select your letters. It's a little bit quicker.

430
00:32:05.785 --> 00:32:06.445
And then

431
00:32:06.825 --> 00:32:10.420
the the next thing was, okay, I've got it down to, like,

432
00:32:10.900 --> 00:32:14.760
I don't know. I can do this in 2 minutes now with this keyboard UI, but it's still

433
00:32:15.220 --> 00:32:21.255
too long. And, you know, I'm just thinking about my own, like, I'm a lazy jerk. Right? And

434
00:32:21.555 --> 00:32:26.135
if I know that, oh my god, you know, I should get my coins off of the exchange.

435
00:32:26.500 --> 00:32:30.200
But, crap. I gotta, you know, type in all these damn words on this damn thing.

436
00:32:31.620 --> 00:32:34.975
If it's too hard, I'm just not gonna do Right? That's like the bane of security.

437
00:32:35.275 --> 00:32:39.375
You put up too many barriers, and then you just start taking bad lazy shortcuts.

438
00:32:41.115 --> 00:32:41.615
So

439
00:32:42.155 --> 00:32:42.655
the

440
00:32:43.000 --> 00:32:46.380
the seed word list is 2,048,

441
00:32:47.240 --> 00:32:49.420
you know, specifically defined words.

442
00:32:49.960 --> 00:32:52.220
And when you're entering your seed,

443
00:32:52.605 --> 00:32:53.425
they're basically

444
00:32:54.285 --> 00:33:01.105
just being interpreted as the index number that they appear on the list. So the very first word in the list is abandon.

445
00:33:01.600 --> 00:33:03.140
Abandon equals 0.

446
00:33:03.520 --> 00:33:10.740
And then whatever the second word is, that equals 1. Because, you know, we're computer science. We we zero index our our counts.

447
00:33:11.664 --> 00:33:13.684
So your 24 words

448
00:33:14.145 --> 00:33:15.525
are really just 24

449
00:33:15.985 --> 00:33:16.485
numbers

450
00:33:16.865 --> 00:33:19.445
that are at most 4 digits each.

451
00:33:19.950 --> 00:33:20.450
So,

452
00:33:21.070 --> 00:33:26.049
you know, at first, like, okay. Well, we could just enter them by digit. That that'd be a little bit quicker,

453
00:33:27.735 --> 00:33:31.355
but not really great for, like, as a human UI.

454
00:33:31.735 --> 00:33:33.995
Like, you know, if I write down the wrong number,

455
00:33:34.375 --> 00:33:38.190
now I've just screwed up everything, and I've, you know, lost access to my funds.

456
00:33:40.090 --> 00:33:41.470
But then because

457
00:33:41.850 --> 00:33:49.215
the seed signer already has a camera on board, and it's built to read QR codes, I was like, okay. We have 24

458
00:33:49.835 --> 00:33:50.975
4 digit numbers.

459
00:33:51.755 --> 00:33:54.655
How big is a QR code that would store that?

460
00:33:55.460 --> 00:33:59.640
And it turns out you can fit it in a, what is it, 29 by 29,

461
00:34:01.220 --> 00:34:01.720
SploC

462
00:34:02.100 --> 00:34:03.155
QR code.

463
00:34:04.115 --> 00:34:04.615
And

464
00:34:05.075 --> 00:34:06.535
so on on a weekend,

465
00:34:06.835 --> 00:34:11.630
I was like, okay. This might be just the dumbest idea ever, but I'm gonna render

466
00:34:11.930 --> 00:34:13.470
my 24 words

467
00:34:14.329 --> 00:34:17.789
as a QR code, 29 by 29, put it up on the screen.

468
00:34:18.170 --> 00:34:25.174
I'm just gonna print out a grid, and I'm gonna see if I can just manually manually transcribe this thing. And, you know, at first,

469
00:34:25.555 --> 00:34:38.645
like With a Sharpie. Like, you put it. Right. Right. You fill in the squares with a Sharpie. Yeah. So the first version, though, like, it was just so primitive. It was just showing the entire QR on this tiny, like, 1.3 inch screen.

470
00:34:39.265 --> 00:34:44.085
And, you know, I'm trying to, like, look at, like, the individual blocks, how they line up.

471
00:34:44.460 --> 00:34:48.480
And I was able to transcribe it and and scan it back and show that it worked,

472
00:34:48.859 --> 00:34:50.960
but, like, I was blind afterwards.

473
00:34:51.420 --> 00:34:56.385
You know, my eyes were so sore because I was squinting at this tiny screen, these tiny little pixels.

474
00:34:57.885 --> 00:35:10.289
And then so I spent a little more time, and I was like, okay. Can I zoom into the QR code, and can I show it to you, like, a 5 by 5 chunk at a time and let you, you know, pan through

475
00:35:10.755 --> 00:35:11.735
the entire QR,

476
00:35:12.275 --> 00:35:14.775
you know, 5 by 5 steps at a time?

477
00:35:15.235 --> 00:35:24.380
And when I got that working, I mean, that was just a a heavy lift of just, you know, UI stuff working in, in in the seed signer hardware.

478
00:35:25.240 --> 00:35:41.220
But once I got working, it was so easy to transcribe these QR codes. And then I made a matching template that had those 5 by 5 grid lines. And, you know, everyone had the same suggestion. They're like, this should be Battleship. You should be filling in square, you know, d 5.

479
00:35:42.224 --> 00:35:45.285
And so, you know, one axis is letters, the other axis is numbers.

480
00:35:45.585 --> 00:35:49.605
The seed signer, when it's zoomed in, it shows you

481
00:35:49.940 --> 00:35:55.880
the 5 by 5 grid that you're zoomed in on. It shows you the number. It shows you the letter, that identifies that spot.

482
00:35:56.740 --> 00:36:01.195
And, yeah, and then the Sharpie. And, you know, so now people are, like, going crazy

483
00:36:01.734 --> 00:36:05.515
just seeing how sloppy they can be, how quickly they can do it.

484
00:36:06.010 --> 00:36:08.349
And, like, QR codes are so resilient.

485
00:36:09.130 --> 00:36:15.685
Somebody just posted in the Telegram group, like, 5 minutes before the stream started, that I I think they said, like, their mom or their grandma

486
00:36:16.145 --> 00:36:17.045
is stitching

487
00:36:17.505 --> 00:36:28.200
a QR code. So they posted the photo of the, like, stitch you know, the the the lattice work of the, that they're gonna be stitching into. And they had already stitched the the 3,

488
00:36:28.660 --> 00:36:37.895
big concentric blocks in in the 3, corners of the QR code. So they've got, like, the basic template, and now they just need to, like, actually go, spot by spot,

489
00:36:38.910 --> 00:36:42.690
and and stitch it in. It looks so funny. It it's just so cool.

490
00:36:43.150 --> 00:36:50.275
And the reason the re to the freaks that are wondering, like, why did Keith go through this trouble instead of just printing the QR code filled out

491
00:36:50.575 --> 00:36:53.875
is because then your secret your private keys are on a computer

492
00:36:54.335 --> 00:37:00.280
and is stored in memory. A lot of these printers stored in memory, so you you don't you wanna avoid that step. That's why,

493
00:37:00.900 --> 00:37:06.985
you know, common practice is to to write it down on on piece of paper or put it into steel rather than,

494
00:37:08.245 --> 00:37:09.465
putting it into a computer.

495
00:37:09.845 --> 00:37:15.390
That's the whole that's the whole goal of SeedSigner in the first place is that your online device doesn't ever

496
00:37:16.010 --> 00:37:16.990
have this secret.

497
00:37:17.530 --> 00:37:18.990
Yeah. And and after

498
00:37:19.530 --> 00:37:20.910
after Bitcoin 2021,

499
00:37:21.450 --> 00:37:21.930
like, what

500
00:37:22.955 --> 00:37:23.455
like,

501
00:37:23.915 --> 00:37:26.255
how how Jack Mallers has changed the world,

502
00:37:26.955 --> 00:37:28.095
was just so inspiring.

503
00:37:28.475 --> 00:37:28.975
And

504
00:37:29.275 --> 00:37:29.775
so

505
00:37:30.420 --> 00:37:30.920
everything

506
00:37:31.540 --> 00:37:33.640
it it it just changed the way that I view

507
00:37:34.099 --> 00:37:36.359
Bitcoin and this project in particular,

508
00:37:37.125 --> 00:37:40.984
which is like, hey. What if there are people that don't have printers?

509
00:37:41.285 --> 00:37:53.410
Like, forget the security issues. Right? They don't they don't have, like, you know, the the easy access to to tech and money that we have. So how would they be able to use this? Like, can someone in El Salvador who's making

510
00:37:54.109 --> 00:38:02.835
$300 a month buy a cold card for a 100 and, you know, $14, $20, whatever it is. Like, it'd be amazing if they can. The cold card is a phenomenal

511
00:38:03.135 --> 00:38:04.035
hardware wallet,

512
00:38:04.495 --> 00:38:11.619
but it becomes a really high barrier to entry when the price is creeping up to a $100 or a 100 plus or the $300,

513
00:38:12.865 --> 00:38:14.244
foundation devices thing.

514
00:38:15.984 --> 00:38:21.365
So flow is the flow is, when it when it comes time to to sign a transaction,

515
00:38:23.520 --> 00:38:23.920
your

516
00:38:24.320 --> 00:38:27.380
you power on your seed signer, you plug it into power,

517
00:38:29.360 --> 00:38:31.780
through micro USB. Right? And then

518
00:38:32.545 --> 00:38:36.484
you scan the QR code that you have. And I guess the QR code is, like,

519
00:38:37.825 --> 00:38:39.444
your your easy access

520
00:38:39.825 --> 00:38:40.325
to

521
00:38:40.660 --> 00:38:44.840
the seed, but then you also have a separate seed backup. Right?

522
00:38:47.060 --> 00:38:52.275
Yeah. Like, I I'm I'm totally on board with steel. I I just got a a block mitt,

523
00:38:53.055 --> 00:38:54.515
jig to to pound,

524
00:38:55.295 --> 00:38:56.495
my seed words into,

525
00:38:56.815 --> 00:38:57.635
steel washers.

526
00:38:58.940 --> 00:39:03.360
Yeah. And and those are gonna be, you know, the, like, survive a fire, survive an earthquake,

527
00:39:03.660 --> 00:39:04.160
backups.

528
00:39:04.700 --> 00:39:09.065
Right. And then you have your QR code for for easy input every time you use the device.

529
00:39:10.165 --> 00:39:11.785
Yeah. Yeah. Exactly. And,

530
00:39:12.565 --> 00:39:13.545
you you know, I

531
00:39:14.245 --> 00:39:18.250
I getting a little ahead of us of ourselves, but I I'm even imagining,

532
00:39:18.710 --> 00:39:19.770
you know, like

533
00:39:20.150 --> 00:39:24.010
like a collaborative custody company. You know, you've got Casa Unchained.

534
00:39:25.505 --> 00:39:29.205
They hold one key, at least, for all their customers.

535
00:39:29.825 --> 00:39:36.140
I mean, do they have, like, a cold card or a ledger or a treasure sitting in a drawer for each customer.

536
00:39:36.520 --> 00:39:41.900
You know, imagine if they just had, like, secured QR code sheets for each customer.

537
00:39:42.280 --> 00:39:45.405
And when they need to help cosign on a transaction,

538
00:39:46.025 --> 00:39:51.244
they just unlock their customer secure sheet, scan it scan it with a seed signer,

539
00:39:51.900 --> 00:39:52.800
sign the transaction,

540
00:39:53.180 --> 00:39:55.520
and then, you know, lock up their sheet again.

541
00:39:55.980 --> 00:39:57.500
So it you know, it

542
00:39:58.435 --> 00:40:01.575
like, this QR based seed entry model

543
00:40:01.875 --> 00:40:04.455
can work for the poorest of people.

544
00:40:05.530 --> 00:40:06.350
But then also

545
00:40:06.890 --> 00:40:08.430
these, like, collaborative custody

546
00:40:08.810 --> 00:40:12.670
companies that, you know, could be making 1,000,000 and 1,000,000,000 of dollars.

547
00:40:14.685 --> 00:40:18.225
Yeah. I mean, anyone who's entered a seed into any of these devices,

548
00:40:18.605 --> 00:40:20.705
can see the value in it pretty quickly.

549
00:40:21.830 --> 00:40:22.810
So, I mean, another

550
00:40:23.190 --> 00:40:26.650
big issue with these devices is how to generate a secure,

551
00:40:28.630 --> 00:40:31.290
seed in the first place. You you need

552
00:40:31.725 --> 00:40:32.625
proper randomness,

553
00:40:33.965 --> 00:40:35.105
in order to

554
00:40:35.725 --> 00:40:37.985
have a seed that can't be brute forced.

555
00:40:38.925 --> 00:40:40.385
And we've seen in the past

556
00:40:42.690 --> 00:40:48.470
different services that offer to generate your private keys or or different tools that offer to generate your private keys,

557
00:40:48.875 --> 00:40:53.455
and they don't have sufficient random to have some kind of broken randomness. And as a result,

558
00:40:54.475 --> 00:40:57.775
the seeds aren't secure in the first place when they're originally generated.

559
00:40:58.950 --> 00:41:05.050
Have there been any documented cases that I I'm just curious, like If I remember correctly, blockchain.info

560
00:41:05.670 --> 00:41:06.650
is using random.org

561
00:41:08.425 --> 00:41:10.045
for their entropy, and

562
00:41:11.865 --> 00:41:15.325
and and there was, like, a 404 error when a bunch of people

563
00:41:15.750 --> 00:41:20.650
their address. Oh, god. Generated their seeds, so they didn't have actually any entropy whatsoever.

564
00:41:21.030 --> 00:41:21.530
Right.

565
00:41:22.230 --> 00:41:23.690
And those all got swept.

566
00:41:24.705 --> 00:41:27.285
But the big fear is, like, if you use a,

567
00:41:30.705 --> 00:41:39.670
most computers have, like, random number generators, but, you know, one of the big conspiracy theories is that those random number generators are compromised, like, by Intel and stuff.

568
00:41:40.744 --> 00:41:46.924
Right. Either Intel or see, like like, bid address, like, makes you, like, shake your mouse or something to add entropy.

569
00:41:48.839 --> 00:41:54.700
That's also for some of the hardware wallets, like, they'll they'll call that a retirement attack where somebody, you know, is inserted

570
00:41:55.000 --> 00:41:56.299
some sort of predictable

571
00:41:57.145 --> 00:41:58.045
quote entropy

572
00:41:58.665 --> 00:42:03.405
into a hardware device and then in an undetermined amount of years when they're ready

573
00:42:03.865 --> 00:42:06.560
to go, they, they can sweep some things.

574
00:42:07.520 --> 00:42:08.340
So, historically,

575
00:42:09.360 --> 00:42:13.460
one of the ways to get around that was dice rolls, and I guess that's what you guys used originally.

576
00:42:14.160 --> 00:42:15.140
But I saw

577
00:42:15.684 --> 00:42:17.385
you have a new method for entropy.

578
00:42:18.164 --> 00:42:26.330
Yeah. That's all Keith's. You wanna talk about that, Keith? Yeah. So and and, you know, let me be clear. I'm I'm not a cryptographer.

579
00:42:26.630 --> 00:42:27.130
So,

580
00:42:27.510 --> 00:42:28.630
you know, if if,

581
00:42:29.590 --> 00:42:35.755
any of the freaks out there who know way more about this than I do, if this is a terrible idea, please, please

582
00:42:36.055 --> 00:42:36.875
let us know.

583
00:42:37.655 --> 00:42:39.994
You know, I I consider all of this experimental

584
00:42:40.295 --> 00:42:42.750
until it's vetted by the community.

585
00:42:44.730 --> 00:42:47.470
But it's pretty simple. Seed signer has a camera on board.

586
00:42:47.850 --> 00:42:49.550
What if we just took a photo

587
00:42:50.095 --> 00:42:53.475
with that camera? It's 7 20 by 480 pixels

588
00:42:53.855 --> 00:42:55.955
times 3 color channels, RGB.

589
00:42:56.575 --> 00:42:58.279
That's a lot of data.

590
00:42:58.900 --> 00:43:03.079
Each pixel each of those channels is, you know, ranging from 0 to 255.

591
00:43:05.700 --> 00:43:06.599
Take a picture,

592
00:43:07.305 --> 00:43:08.765
hash it with SHA 256,

593
00:43:09.785 --> 00:43:14.845
run that as your entropy, and what comes out? A 24 word seed.

594
00:43:17.530 --> 00:43:20.030
And because, we get because of SHA 256,

595
00:43:20.730 --> 00:43:23.390
if a single pixel value is changed

596
00:43:23.770 --> 00:43:24.990
by a single integer,

597
00:43:25.305 --> 00:43:26.045
You know, red

598
00:43:26.825 --> 00:43:27.325
248

599
00:43:27.705 --> 00:43:29.165
is changed to red 249,

600
00:43:29.465 --> 00:43:31.725
but the entire rest of the image is identical.

601
00:43:32.720 --> 00:43:34.660
That should generate a completely

602
00:43:35.039 --> 00:43:35.539
different

603
00:43:35.839 --> 00:43:36.339
seed,

604
00:43:36.799 --> 00:43:39.059
once you run it through shot 25 256.

605
00:43:41.119 --> 00:43:41.619
And,

606
00:43:42.385 --> 00:43:43.845
you know, some people have

607
00:43:44.705 --> 00:43:48.085
tried to poke holes in this. And again, I invite that a 1000%.

608
00:43:48.705 --> 00:43:49.985
You know, what if there's,

609
00:43:51.110 --> 00:43:56.890
the sensor noise is this? What if there's smoothing applied to that? What if there's a, like a a grid

610
00:43:57.270 --> 00:44:03.365
pattern that's, you know, invisible to the naked eye, but inherent to the sensors themselves? You know, what if there's more structure there

611
00:44:03.665 --> 00:44:04.165
than,

612
00:44:05.425 --> 00:44:06.805
than you think there is?

613
00:44:07.265 --> 00:44:07.765
And

614
00:44:08.119 --> 00:44:15.339
I, you know, I I I just keep doing these thought experiments. Like, okay, let's say every other pixel is pure black. There's just no data there.

615
00:44:16.075 --> 00:44:20.255
And let's cut it down from RGB down to just down to just monochrome.

616
00:44:21.994 --> 00:44:25.295
I it it's still there's just so many pixels

617
00:44:25.820 --> 00:44:27.680
going into the hashing function

618
00:44:28.780 --> 00:44:32.400
that, you know, for for my layman's understanding

619
00:44:32.860 --> 00:44:37.915
of hashing, I just I don't see how there's a problem. But So

620
00:44:38.535 --> 00:44:42.474
so my monkey brain goes to well, first of all, so OpenDimes

621
00:44:43.079 --> 00:44:45.339
use a similar setup for entropy.

622
00:44:46.119 --> 00:44:50.140
They tell you to drag a random file in to the OpenDime

623
00:44:50.440 --> 00:44:51.980
at at creation,

624
00:44:53.265 --> 00:44:54.805
to generate the private key.

625
00:44:55.424 --> 00:45:00.645
But what they do is they also use entropy from the device, so they combine the 2.

626
00:45:02.730 --> 00:45:06.190
So where my monkey brain goes is it'd be kinda cool if you can combine

627
00:45:07.210 --> 00:45:10.590
the entropy from the photo with entropy from the dice

628
00:45:13.035 --> 00:45:17.215
if you want to. Like, have have that as an option could could be

629
00:45:19.000 --> 00:45:21.100
a nice little paranoid extra step.

630
00:45:21.880 --> 00:45:25.260
Yeah. Or even accumulate over a series of photos.

631
00:45:25.640 --> 00:45:28.060
Exactly. Yeah. I like that idea.

632
00:45:29.515 --> 00:45:33.855
But yeah. And and assuming this idea holds, like, I it just really

633
00:45:34.395 --> 00:45:39.140
tickles me. Like, you know, if if I wanted to set up a

634
00:45:39.520 --> 00:45:41.540
a Bitcoin fund for my nieces,

635
00:45:41.920 --> 00:45:44.865
I would take my seed signer over to their house,

636
00:45:45.245 --> 00:45:46.625
use it to take a picture

637
00:45:47.165 --> 00:45:48.065
of my nieces.

638
00:45:48.525 --> 00:45:50.705
You know? And so their faces would be

639
00:45:51.240 --> 00:45:51.900
the entropy

640
00:45:52.280 --> 00:45:52.780
for

641
00:45:53.160 --> 00:45:53.660
their

642
00:45:54.200 --> 00:45:57.420
mnemonic phrase for their, you know, seed that I'm gonna

643
00:45:57.880 --> 00:46:05.190
help fund their their, you know, college or whatever money, in the future. Like, I just think it's so cool that you can attach, like,

644
00:46:05.670 --> 00:46:06.170
sentimental

645
00:46:06.790 --> 00:46:07.290
representation

646
00:46:07.829 --> 00:46:09.690
to the creation of a new seed.

647
00:46:11.109 --> 00:46:14.755
Yeah. I like that idea a lot. I really like the several photos.

648
00:46:16.095 --> 00:46:17.955
That's a that's a cool idea.

649
00:46:21.980 --> 00:46:23.180
Yeah. That that's

650
00:46:24.700 --> 00:46:34.785
so so I think we've nailed all the basics here. I mean, that's awesome. I mean so so that's currently in beta right now. Right? Like, is that is that in the in the proper,

651
00:46:36.045 --> 00:46:36.545
release?

652
00:46:36.925 --> 00:46:42.200
No. That's in that's in, the most recent build that's out there. I was also gonna ask,

653
00:46:42.980 --> 00:46:46.440
do you have the ability to show, like, a YouTube video up in the stream?

654
00:46:46.819 --> 00:46:48.049
I didn't know that.

655
00:46:50.135 --> 00:46:52.715
I could. Yeah. If you send me the link in the private.

656
00:46:53.495 --> 00:46:55.195
So it's yeah. I can do that.

657
00:46:55.970 --> 00:47:01.190
It's, we have kinda like we can just run-in the background, like, a 10 minute demo or something that kinda shows

658
00:47:02.930 --> 00:47:08.775
an overview of the process of, like, setting up a a wall and stuff, it'd probably be helpful for people who aren't

659
00:47:09.235 --> 00:47:10.215
familiar with,

660
00:47:11.475 --> 00:47:13.495
you know, just the air gap signing thing.

661
00:47:13.870 --> 00:47:19.950
So I have a I mean, before we get yeah. So send me that link, and I'll Yeah. Get it ready. But, before we get there

662
00:47:22.365 --> 00:47:24.305
so trade offs and threat models,

663
00:47:28.125 --> 00:47:32.119
we have a stateless device, off the shelf parts, no secure element.

664
00:47:33.539 --> 00:47:34.359
It's gonna

665
00:47:34.819 --> 00:47:39.125
primarily be used in a multisig quorum. Do you think anyone should be using this in a single sig

666
00:47:40.405 --> 00:47:40.905
setup?

667
00:47:42.085 --> 00:47:45.885
I I actually don't see any huge issues with it.

668
00:47:46.325 --> 00:47:49.220
If if you're obviously, part of the trade off

669
00:47:50.480 --> 00:47:54.660
with with trying to find the right security setup is how much value are you protecting

670
00:47:55.335 --> 00:48:03.115
and, you know, what kind of barriers are you putting in place to protect that value. So if you're protecting, you know, like, this is your Huddl stash, this is what

671
00:48:03.470 --> 00:48:08.930
you're saving to pass on to your kids or deep into the future or whatever like that. I I have a strong feeling,

672
00:48:09.710 --> 00:48:19.815
that you should be in multisig. Some people think we're still early for that, but I I think the tools are there and it's accessible to enough people that, like, I wanna get more people in the multisig. That said,

673
00:48:20.355 --> 00:48:20.835
like, for

674
00:48:21.530 --> 00:48:34.635
you can kinda think of it savings versus checking. You have, like, a checking account where you're gonna be maybe buying things with Bitcoin or or, don't know, maybe you're an active trader and you're moving things between exchanges or whatever and into a personal wallet kind of in the interim,

675
00:48:35.174 --> 00:48:35.835
I think,

676
00:48:36.214 --> 00:48:45.470
a seed signer is perfectly fine in a single sig environment for that. We that was another feature we added on our 2 or 3 versions ago, so it's not just for multisig, but we do have

677
00:48:45.770 --> 00:48:48.590
a, a single sig mode and settings that you can use.

678
00:48:49.035 --> 00:48:50.255
My biggest concern,

679
00:48:51.275 --> 00:48:53.375
from a single sig point of view is

680
00:48:54.715 --> 00:48:56.095
the evil maid attack.

681
00:48:57.329 --> 00:48:58.790
So, like, we're entering

682
00:48:59.250 --> 00:49:03.430
we're scan we're entering our our secret into this device every time we use it,

683
00:49:04.290 --> 00:49:07.945
whether that's by QR code or entering 24 words.

684
00:49:08.245 --> 00:49:08.645
Mhmm.

685
00:49:10.005 --> 00:49:13.705
And so the evil maid attack is this idea where someone replaces

686
00:49:14.325 --> 00:49:15.545
an evil maid

687
00:49:15.930 --> 00:49:17.790
that you have cleaning your house,

688
00:49:18.330 --> 00:49:18.830
replaces

689
00:49:19.370 --> 00:49:20.910
your your hardware

690
00:49:21.290 --> 00:49:21.790
device,

691
00:49:22.650 --> 00:49:24.110
with a compromised device

692
00:49:24.815 --> 00:49:25.555
that doesn't,

693
00:49:27.375 --> 00:49:32.195
that that has Wi Fi or Bluetooth enabled on it, and it transmits that secret,

694
00:49:33.055 --> 00:49:34.435
to the evil maid.

695
00:49:35.120 --> 00:49:36.740
And in a multisig setup,

696
00:49:37.360 --> 00:49:39.540
that threat is alleviated because

697
00:49:40.160 --> 00:49:45.195
you need a threshold of secrets. You it's not just one secret. Sure. But in a single sig,

698
00:49:47.495 --> 00:49:53.300
right, a single sig, all of a sudden, that becomes a threat. So you have to keep your device regardless, you should be keeping your devices

699
00:49:54.260 --> 00:50:01.320
physically secure. Right? You don't want people to easily see them or get access to them and swap them out. Right? Right. Right. Right.

700
00:50:03.315 --> 00:50:12.970
Yeah. And I like, that's definitely a legit attack vector, and that's why I say, like, obviously, this isn't your whole stash. If you're using a single sig, it's more of like a a convenience

701
00:50:13.270 --> 00:50:15.770
kinda like money you'd carry in your wallet kinda thing.

702
00:50:17.830 --> 00:50:20.810
But, yeah, I I totally get what you're saying.

703
00:50:21.535 --> 00:50:24.115
One of the other things I'd point out with seed cider is

704
00:50:25.215 --> 00:50:26.995
if you have concerns about,

705
00:50:27.535 --> 00:50:31.810
that the memory card's been tampered with or whatever, like, that is something that you can

706
00:50:32.110 --> 00:50:36.450
remove and wipe between uses or just remove and keep in a more secure place between uses,

707
00:50:37.365 --> 00:50:40.585
to mitigate, like, you know, somebody having tampered with

708
00:50:40.885 --> 00:50:42.984
the, the data on the memory card?

709
00:50:48.380 --> 00:50:52.560
That makes sense to me. I'm currently setting up this video. Keith, do you have anything to add here?

710
00:50:53.020 --> 00:50:54.655
I was just gonna say that,

711
00:50:55.675 --> 00:51:00.815
you know, if anyone's going to be using seed signer, either for single sig or multisig,

712
00:51:02.329 --> 00:51:04.349
you know, you should just you should always

713
00:51:04.730 --> 00:51:11.815
validate seed signer with a different device. So this is what I did in the the early days of Spectre desktop.

714
00:51:12.994 --> 00:51:15.175
I wanted to start using it for my multisig,

715
00:51:15.955 --> 00:51:16.455
and

716
00:51:16.835 --> 00:51:20.099
I basically created the exact same multisig

717
00:51:20.400 --> 00:51:22.500
in Spectre desktop and in Electrum,

718
00:51:22.960 --> 00:51:26.260
verified that the addresses that were generated were identical in each,

719
00:51:26.935 --> 00:51:35.195
was able to sign transactions in both of them. So I was very confident that Spectre wasn't doing anything, you know, weird or nonstandard.

720
00:51:36.020 --> 00:51:45.885
So that even if the project crashed and burned and disappeared off the face of the planet, I wouldn't you know, my Bitcoin wouldn't be stranded with that lost project.

721
00:51:47.065 --> 00:51:48.525
And there's so much standardization

722
00:51:48.904 --> 00:51:50.845
now that, like, it

723
00:51:52.240 --> 00:51:53.460
I I just feel like the

724
00:51:54.560 --> 00:51:56.020
the risks are getting

725
00:51:56.400 --> 00:51:58.100
less and less. That

726
00:51:58.615 --> 00:52:00.795
if if it works in SeedSigner

727
00:52:01.255 --> 00:52:03.915
talking to Specter, talking to Sparrow, talking to BlueWallet,

728
00:52:04.535 --> 00:52:11.460
then, you know, any other wallet that can talk to them is gonna work too. And if it if there's a bug in seed signer,

729
00:52:11.920 --> 00:52:13.380
you're gonna find out pretty quickly.

730
00:52:14.240 --> 00:52:16.500
You know, early on in

731
00:52:16.945 --> 00:52:19.445
Spectre desktop, I was messaging with Stefan,

732
00:52:20.065 --> 00:52:21.845
and this is back in, like, late 2019.

733
00:52:22.785 --> 00:52:23.285
And,

734
00:52:23.750 --> 00:52:33.915
you know, and he's he was really good about telling people, like, it's experimental. Don't use it for real value. Don't use it for real value. And I messaged him. I'm like, yo, man. So, I'm actually using it for real value.

735
00:52:34.935 --> 00:52:38.290
And he's like he's like, yeah. I am too, but I'm not telling people that.

736
00:52:39.570 --> 00:52:48.070
That's funny because I actually had that exact, like, DM conversation with him, like, early on. Like, so if you were gonna use this to secure your personal funds,

737
00:52:48.595 --> 00:52:55.654
and, he must have, like, progressed to the point where he was more comfortable with it because he he was like, no. I I think we're I think we're at that point.

738
00:52:58.510 --> 00:53:00.609
And and so we're we're using

739
00:53:00.990 --> 00:53:03.490
PSBTs here, partially signed Bitcoin transactions.

740
00:53:03.869 --> 00:53:07.275
Yeah. Yeah. Yeah. Yeah. Does this video does this video show us using PSBTs?

741
00:53:07.815 --> 00:53:11.035
Yeah. It's gonna it it actually goes through the whole process where

742
00:53:11.390 --> 00:53:15.170
you actually set up the wallet in Spectre from scratch. So you're gonna be inputting

743
00:53:15.869 --> 00:53:22.714
those, like Keith was talking about, the really simple repetitive seeds, and then you're gonna input the XPUBs into Spectre

744
00:53:23.415 --> 00:53:27.115
via QRs, and then I go through and sign a transaction. So it gives you

745
00:53:27.630 --> 00:53:28.930
gives you kind of the full

746
00:53:29.230 --> 00:53:36.930
gamut of of what the QR exchange process looks like. Cool. And, Freaks, feel free to put questions in the live chat, and we will get to them.

747
00:53:38.905 --> 00:53:41.165
Okay. I'm gonna play this video. Cool.

748
00:53:44.820 --> 00:53:46.980
And we can talk during this. I I,

749
00:53:47.620 --> 00:53:55.275
it's probably painful in the beginning because it's repetitive that we're setting up. Are you doing abandon? Are you gonna about to do abandon, 24 times

750
00:53:55.575 --> 00:53:56.795
or 23 times?

751
00:53:57.335 --> 00:54:02.635
You can actually do I didn't do it in this video, but you can do bacon 24 times, and it's the the proper,

752
00:54:03.920 --> 00:54:04.900
checksum word.

753
00:54:06.000 --> 00:54:08.099
Bacon's its own checksum of 23?

754
00:54:08.480 --> 00:54:24.210
Yeah. Bacon times 24 is a valid seed. So the freaks that are wondering what we're talking about here, the it's actually you you have 23 words, and then the 24th word is just checking to make sure that those previous 23 words are,

755
00:54:25.390 --> 00:54:25.890
valid.

756
00:54:26.350 --> 00:54:27.890
It's, it's called a checksum.

757
00:54:28.270 --> 00:54:31.775
And I don't know who I don't know if it was Jimmy Song or somebody, but they actually, like,

758
00:54:32.575 --> 00:54:41.635
did the, calculations and figure out there's there's probably a few dozen words that are their own checksum, so you can enter them times 24 and and they work. So,

759
00:54:42.450 --> 00:54:45.190
like So right now, this process is obsolete

760
00:54:46.130 --> 00:54:58.085
Right. Because you can just scan the QR code that you can And even the input method is obsolete. Like, what you're seeing on here is, like, I've just entered a seed. It was a 12 word seed, and it gave me the opportunity to review it.

761
00:54:58.630 --> 00:55:03.690
So for the purposes of the demo, I'm just going through and storing 3 seeds so that I can just

762
00:55:03.990 --> 00:55:12.455
use them. We probably didn't mention that before, but seed signer will currently store up to 3 seeds temporarily in memory while the device has power just in case you're

763
00:55:12.755 --> 00:55:15.735
setting up a multisig or you wanna sign with the

764
00:55:16.410 --> 00:55:25.415
multiple keys using that same device. But what you're seeing right now is kind of the old interface where Keith was talking about the the scroll wheel where you,

765
00:55:26.055 --> 00:55:31.735
enter the letters. And it's not a proper demo, the scroll wheel, because we're just doing repetitive words. But,

766
00:55:32.480 --> 00:55:33.619
But now we have a

767
00:55:34.040 --> 00:55:34.540
joystick.

768
00:55:34.960 --> 00:55:43.424
Right. Now there's, this was like an earlier, I guess, hardware version. And we're using Spectre in this Spectre desktop in this demo.

769
00:55:44.125 --> 00:55:44.865
We have

770
00:55:45.244 --> 00:55:48.464
2 questions that I just saw come in here. Yeah. Yeah.

771
00:55:48.940 --> 00:55:52.400
The first one is, do you guys trust safe deposit boxes, multisig

772
00:55:53.100 --> 00:55:53.500
keys?

773
00:55:53.980 --> 00:55:55.920
I don't trust safe deposit boxes.

774
00:55:57.435 --> 00:55:58.895
They can be drilled into.

775
00:55:59.195 --> 00:56:01.935
You might not have access to them. But for multisig,

776
00:56:02.955 --> 00:56:04.175
if it's one key,

777
00:56:04.650 --> 00:56:08.430
if it's not, like, part of if if it's not the full quorum of keys,

778
00:56:09.130 --> 00:56:17.025
then worst comes to worst. You, you know, you lose access to a single key or someone takes a single key, gets access to a single key. It's not the end of the world.

779
00:56:18.445 --> 00:56:20.945
But I definitely went in with single sig.

780
00:56:21.640 --> 00:56:22.380
Yeah. Yeah.

781
00:56:24.680 --> 00:56:26.300
And then someone asked,

782
00:56:27.480 --> 00:56:30.460
with the photo entropy, couldn't someone find the photo?

783
00:56:31.265 --> 00:56:33.365
Yeah. That's that's a key question. So

784
00:56:33.745 --> 00:56:36.645
the photo is never stored on the device.

785
00:56:37.345 --> 00:56:37.845
And

786
00:56:38.440 --> 00:56:41.260
even if it was, as soon as you you turn the power off,

787
00:56:41.720 --> 00:56:43.260
the the device is blanked.

788
00:56:44.360 --> 00:56:45.100
And then

789
00:56:45.855 --> 00:56:48.035
the the the part that I really like is

790
00:56:48.575 --> 00:56:53.155
the photo's aspect ratio is wide. It's 7 20 by 480.

791
00:56:53.660 --> 00:57:00.000
But we only show you the center crop, the center 480 by 480, and then we we scale it down to fit on the screen.

792
00:57:00.540 --> 00:57:03.795
So there's image information that you never

793
00:57:04.255 --> 00:57:04.755
see.

794
00:57:05.295 --> 00:57:05.795
So

795
00:57:06.335 --> 00:57:07.555
you can take a photo

796
00:57:08.150 --> 00:57:09.290
of the seed signer

797
00:57:09.750 --> 00:57:10.250
displaying

798
00:57:10.550 --> 00:57:21.185
your image that you're going to use as the entropy for your new seed. You could tweet it out to the world. I I I have some demos of this. I know. I saw you tweeted it out. Yeah. Yeah. My dog.

799
00:57:21.964 --> 00:57:29.650
So she's you know, her face is is my new, seed, at least. By the way, that's how I knew I liked you. You know, the the 2 the 2

800
00:57:31.015 --> 00:57:31.515
automatic

801
00:57:31.895 --> 00:57:34.315
or, like, pretty good, denominators

802
00:57:34.615 --> 00:57:40.395
that I'll like a person is if they're a Bitcoiner and if they're a dog person. So they're both it it's a very good

803
00:57:41.000 --> 00:57:41.500
indicator.

804
00:57:41.880 --> 00:57:43.660
Yeah. The dogs are amazing.

805
00:57:44.680 --> 00:57:45.900
But but yeah. So

806
00:57:47.000 --> 00:57:49.340
because the whole image is never shown,

807
00:57:49.925 --> 00:57:50.425
there's

808
00:57:50.725 --> 00:57:52.505
no way anyone can recreate

809
00:57:53.125 --> 00:57:58.905
the exact pixel for pixel values. And even if we show the entire image on screen,

810
00:57:59.640 --> 00:58:03.260
again, there's no way you're gonna recreate the entire 7 20 by 480

811
00:58:03.720 --> 00:58:14.145
exactly right. Right. So we're not uploading a photo. We're taking a unique picture that is deleted immediately afterward after power off. Yeah. Exactly. I I mean, in fact, it's it's

812
00:58:14.445 --> 00:58:16.305
wiped as soon as that function ends.

813
00:58:19.260 --> 00:58:19.760
Awesome.

814
00:58:21.339 --> 00:58:23.599
These are good questions, Freaks. Keep them coming.

815
00:58:24.465 --> 00:58:30.165
And I'd point out in the video, I think we're about to do the the sample signing process.

816
00:58:31.665 --> 00:58:32.645
I just got

817
00:58:33.570 --> 00:58:34.390
a transaction

818
00:58:35.090 --> 00:58:37.510
inbound from a faucet. This is all in testnet.

819
00:58:37.970 --> 00:58:38.470
And

820
00:58:40.290 --> 00:58:41.590
right now, I think

821
00:58:43.315 --> 00:58:45.415
we're gonna go to send. And

822
00:58:46.435 --> 00:58:52.455
to send, in this particular demo, we send some coins back to the faucet, back to their receiving address.

823
00:58:52.860 --> 00:58:56.880
So, like, you're familiar with with a lot of your wallets, I'm copying that from

824
00:58:57.180 --> 00:59:00.800
the faucet website and then pasting it back into the

825
00:59:01.525 --> 00:59:04.505
back into the Spectre or the multi sig coordinator,

826
00:59:05.125 --> 00:59:06.505
putting an amount in.

827
00:59:06.805 --> 00:59:09.065
I think I let it auto calculate the fee,

828
00:59:10.049 --> 00:59:13.349
and then it's going to say create this unsigned transaction.

829
00:59:14.450 --> 00:59:24.935
So Spector just created the unsigned transaction, which is multisig, so we need 2 of 3. So we're gonna choose to sign with the first key, and we're gonna sign with these animated QR codes.

830
00:59:25.795 --> 00:59:26.295
So

831
00:59:27.200 --> 00:59:30.340
I kinda have a rig when I recorded this video, but you're gonna see,

832
00:59:31.840 --> 00:59:35.140
it's asking me which key do you wanna sign with. I just picked the first key,

833
00:59:35.535 --> 00:59:37.795
And then you can't tell because it's picture

834
00:59:38.495 --> 00:59:38.995
it's

835
00:59:40.255 --> 00:59:48.090
a picture in picture video, but I just held the seed signer up, and I'm scanning that animated QR that that's dis displayed on the laptop screen.

836
00:59:48.470 --> 01:00:00.595
So it shows me the proposed transaction. It says this is, like, the last 13 characters of the address you wanna send to. This is the amount. This is the fee. Do you approve it? And then it just generated a QR code on the seed signer screen,

837
01:00:01.109 --> 01:00:06.490
And that is how I'm gonna communicate the partially signed transaction back to the laptop. So I hold it up to the screen.

838
01:00:07.270 --> 01:00:12.555
Specter reads the frames in 1 by 1. You're holding it to your webcam on your computer.

839
01:00:12.935 --> 01:00:14.795
So once it knows it has them all,

840
01:00:15.095 --> 01:00:20.490
it, closes the scanner face out, and it says, okay. We've signed with the, the first key.

841
01:00:21.110 --> 01:00:23.530
And then it's just that process repeated

842
01:00:24.390 --> 01:00:32.295
with the second key. So it's gonna This case, you have them all in the same seed signer, but it could be different signing devices. Totally could be different signing devices.

843
01:00:33.234 --> 01:00:35.415
But just for the demo. So it's displaying

844
01:00:36.400 --> 01:00:47.835
the the proposed transactions, QR codes, and laptop screen again. I'm gonna hold the seed center camera up to that. It's gonna give me indicators on the screen that it started collecting the frames.

845
01:00:49.575 --> 01:00:54.860
It's gonna happen like And, Phryx, the reason you might wanna use like, it's really nice,

846
01:00:55.720 --> 01:00:58.140
feature set to be able to have multiple keys

847
01:00:58.485 --> 01:00:58.985
on

848
01:01:00.005 --> 01:01:01.465
a on a single device,

849
01:01:02.325 --> 01:01:08.185
especially for a demo or even, like, in an emergency situation where you need to recover a multisig.

850
01:01:09.349 --> 01:01:12.650
But the reason you wanna use multiple devices is because right now,

851
01:01:13.270 --> 01:01:15.130
if this was holding a lot of funds,

852
01:01:15.595 --> 01:01:21.454
all the secrets that are needed to move those funds are on this single device. So if that single device is compromised,

853
01:01:22.714 --> 01:01:24.790
so are your funds. Right? Yep.

854
01:01:25.170 --> 01:01:27.589
Yep. Best practice is definitely mix

855
01:01:27.970 --> 01:01:31.510
mix vendors and mix hardware profiles for, your cosigners.

856
01:01:33.775 --> 01:01:34.915
So it's really sleek.

857
01:01:35.375 --> 01:01:36.175
So it just,

858
01:01:37.055 --> 01:01:46.210
we approved with the second signer, and that pops up a screen inspector that says, okay. You have the adequate number of signers. We broadcasted the transaction, and now it's just going back to the,

859
01:01:46.930 --> 01:01:49.750
the faucet to validate that they received a transaction.

860
01:01:51.405 --> 01:01:52.945
But that brings up, like

861
01:01:53.725 --> 01:01:55.105
like, I think you had said,

862
01:01:55.965 --> 01:02:00.961
practice, practice, practice with, like, whatever your setup is. I think part of,

863
01:02:01.418 --> 01:02:03.290
part of being secure

864
01:02:05.510 --> 01:02:09.895
in your security setup As Bitcoin moves in the future, I think we all think, like,

865
01:02:10.835 --> 01:02:13.895
the price is gonna move the number is gonna go up. And so

866
01:02:14.870 --> 01:02:18.810
at some point, you may get to that stage where you have a lot of paper gains

867
01:02:19.270 --> 01:02:21.770
and you know what number of Bitcoin you're holding

868
01:02:22.375 --> 01:02:31.195
and you know what the notional dollar amount of that is, but you start to wonder if those gains are real or if you're safeguarding them properly or stuff. And I can't emphasize

869
01:02:32.020 --> 01:02:36.920
enough how important it is to encourage everybody to first practice with testnet. And,

870
01:02:37.940 --> 01:02:38.440
most

871
01:02:39.665 --> 01:02:40.165
coordinators

872
01:02:41.025 --> 01:02:41.525
and

873
01:02:41.905 --> 01:02:51.230
all the wallets should be compatible with testnet. So, like, you can stand up a pruned testnet node in a couple hours on your machine and just practice your heart's content. Get comfortable with it.

874
01:02:51.609 --> 01:02:54.990
And then when you move to main net, like, start with some small transactions

875
01:02:56.010 --> 01:03:04.474
and get comfortable just moving the around. Because you you don't want that kinda, like, lingering in the back of your mind, like, can I really make this work when I need to?

876
01:03:05.619 --> 01:03:11.000
I think it's MBK who constantly says, like, you should basically operate under the assumption that

877
01:03:11.300 --> 01:03:15.974
the value you're holding is 10 times the amount of value you're holding. Yeah. That's fair.

878
01:03:17.875 --> 01:03:18.375
Totally.

879
01:03:19.394 --> 01:03:25.299
So we have future poll in the comments asking if you can use a USB keyboard to input the seat if you want.

880
01:03:27.920 --> 01:03:29.539
That that's definitely not supported.

881
01:03:30.195 --> 01:03:33.015
I won't say it will never be supported, but it's probably

882
01:03:33.635 --> 01:03:36.935
with the optimizations that we we came up with the seed QR.

883
01:03:38.400 --> 01:03:44.660
I it it you can probably speak more to this, but it it may just add too much complexity to the the code.

884
01:03:45.600 --> 01:03:51.335
I wouldn't call it complexity. I think we should be afraid of plugging any USB device

885
01:03:51.635 --> 01:03:52.135
into

886
01:03:52.595 --> 01:03:54.435
the seed signer Yeah. Good point.

887
01:03:54.835 --> 01:03:59.340
Or or any hardware wallet. You know, like, NVK sells those, 9 volt battery

888
01:03:59.640 --> 01:04:01.100
to USB power supplies,

889
01:04:01.720 --> 01:04:02.760
so that you have, like,

890
01:04:04.435 --> 01:04:07.655
well, a guarantee in in it's as far as we trust NVK.

891
01:04:08.035 --> 01:04:20.960
Well, it's like a baseboard. He, like, he makes it as a bare board at least. So at least you can kinda see if something was tampered Right. Compared to, like, a battery pack, like one of those USB battery packs you get off of

892
01:04:21.525 --> 01:04:32.819
Amazon or Best Buy or some shit where you have no idea what's inside the case. Yeah. So I I think it would be easy enough to add support for USB keyboard, but I think it would just open up an unnecessary,

893
01:04:33.680 --> 01:04:34.660
security risk.

894
01:04:35.680 --> 01:04:38.225
Right. Fair. And I you make a good issue,

895
01:04:38.705 --> 01:04:44.625
a a good point with the issue of plugging things into seed sign or plugging anything into a hardware wallet. And that's kind of,

896
01:04:45.345 --> 01:04:46.725
in the back of my mind

897
01:04:47.270 --> 01:04:51.109
when I had because I've had, like, a keep key and I've had a Tresor and,

898
01:04:51.510 --> 01:04:52.650
some of the other ones.

899
01:04:52.950 --> 01:04:55.690
And with my background I have a background in digital forensics.

900
01:04:56.745 --> 01:04:58.445
When you would plug those devices

901
01:04:58.745 --> 01:04:59.965
into your computer,

902
01:05:00.265 --> 01:05:06.270
like, I always just got a queasy feeling, like, who knows what is going over the the USB serial bus? Like,

903
01:05:06.970 --> 01:05:12.430
if my computer is compromised or when I'm updating the firmware, could that be, like, some sort of, you know,

904
01:05:12.810 --> 01:05:13.310
unauthorized

905
01:05:13.935 --> 01:05:23.620
payload that goes in there and, like, makes my device vulnerable, or could it be exfiltrating the private keys? Like, I most of the time, it's completely benign in its operating as it should.

906
01:05:23.940 --> 01:05:24.440
But

907
01:05:24.980 --> 01:05:38.015
just having that device plugged into my laptop, like, always made me uneasy. I don't know if you guys or anybody else felt that way, but, like, the the level of paranoia was just kinda like, I'm not I'm not I'm not crazy about this.

908
01:05:39.360 --> 01:05:45.860
Yeah. And we've seen compromised USB cables even. You know? Who Yeah. Yeah. Yeah. You can never be too paranoid in the space,

909
01:05:46.425 --> 01:05:52.605
or maybe you can be. Some people fuck they make themselves too complex. You don't wanna make it too complex, but at the same time,

910
01:05:52.984 --> 01:05:55.165
you don't you don't wanna plug these things into computers.

911
01:05:55.690 --> 01:05:59.950
So with Seed Designer, what I love about the QR exchange is it's an extremely

912
01:06:00.890 --> 01:06:01.390
limited

913
01:06:01.690 --> 01:06:03.710
regulated protocol so that,

914
01:06:04.455 --> 01:06:08.635
if you're using the device as it's, you know, currently intended, the only way

915
01:06:08.935 --> 01:06:15.820
information comes into it is via the camera, and the only way that information goes out from it using in a properly air gapped fashion

916
01:06:16.200 --> 01:06:20.859
is via the QR codes that are displayed in the screen or, you know, words that are displayed in the screen.

917
01:06:21.160 --> 01:06:21.480
But,

918
01:06:22.495 --> 01:06:28.595
I really like the regulated protocol of doing the QR's back and forth between my laptop

919
01:06:28.975 --> 01:06:29.795
and SeedSigner

920
01:06:30.095 --> 01:06:30.835
or Spectre,

921
01:06:31.830 --> 01:06:34.570
just because it it limits tax surface

922
01:06:35.110 --> 01:06:37.210
of the interface between the two devices.

923
01:06:41.275 --> 01:06:47.694
I mean, people should still verify what's shown on the screen of the device. Right? Because the QR code could be,

924
01:06:49.240 --> 01:06:52.299
I guess, the QR code could be compromised on the online device.

925
01:06:52.680 --> 01:06:55.319
Right. There's and there's some ways you can do that. Like, if it's

926
01:06:56.335 --> 01:07:05.875
you'd have to have some technical expertise to do this. But, I mean, you can scan either an XPub or, you know, any of the transaction with your phone and decode it that way,

927
01:07:06.690 --> 01:07:08.710
because it's none of that is secret information.

928
01:07:09.650 --> 01:07:11.269
There's a privacy risk.

929
01:07:11.730 --> 01:07:17.405
There is a privacy risk. And there's a privacy risk with your coordinator, whether that's on your computer,

930
01:07:17.705 --> 01:07:18.925
on an online device,

931
01:07:19.705 --> 01:07:22.685
if that's Spectre desktop, or if it's on a phone with BlueWallet.

932
01:07:23.150 --> 01:07:28.370
There's a privacy risk there. So in an ideal setup, you're using a dedicated machine

933
01:07:29.070 --> 01:07:30.050
for your coordinator.

934
01:07:30.664 --> 01:07:35.805
And what I'm hoping over time is that we can use these wallets to kinda cross check each other.

935
01:07:36.585 --> 01:07:40.599
So as the QR protocol standardize, because there there are a couple of different

936
01:07:41.220 --> 01:07:42.200
ways of,

937
01:07:42.660 --> 01:07:44.039
encoding a PSBT

938
01:07:44.500 --> 01:07:45.720
into QR codes.

939
01:07:46.339 --> 01:07:47.720
And as those

940
01:07:48.695 --> 01:07:50.155
as we converge on standards,

941
01:07:51.095 --> 01:07:53.115
I'm hoping that you'll be able to,

942
01:07:54.215 --> 01:07:56.875
use, like, your seed signer to validate

943
01:07:57.570 --> 01:08:00.310
the XPub that's produced by your Cobo Vault.

944
01:08:00.770 --> 01:08:01.270
So

945
01:08:01.570 --> 01:08:03.010
right now, if you,

946
01:08:03.730 --> 01:08:07.030
let's say you're using a Cobo Vault and you use inspector desktop

947
01:08:07.715 --> 01:08:12.455
and you wanna set up a multisig wallet with your Cobo Vault as one of the cosigners.

948
01:08:13.155 --> 01:08:13.895
So you,

949
01:08:14.435 --> 01:08:24.285
I'm not either you let it generate a seed for you or you input a seed that you've securely generated, and now you have this extended public key that you wanna input in the Spectre. So

950
01:08:24.665 --> 01:08:31.085
you do that via QR codes, you input the XPUB and a Spectre, and then in Spectre, you have, like, an alphanumeric string

951
01:08:31.520 --> 01:08:32.739
that represents your XPUB.

952
01:08:33.440 --> 01:08:37.300
What I'd encourage people to do is take another hardware device like SeedSigner

953
01:08:37.920 --> 01:08:40.179
and put your seed into that device too,

954
01:08:40.735 --> 01:08:50.275
And then go to generate next pub. And what we do is we'll also show you, like, the derivation path, the parent fingerprint, and then the extended public key so that you can

955
01:08:50.590 --> 01:08:51.490
compare that

956
01:08:51.950 --> 01:08:54.290
with, what your other hardware device

957
01:08:54.670 --> 01:08:57.170
already put into, say, Spectre. There's one

958
01:08:57.715 --> 01:08:59.415
attack that was just described.

959
01:09:00.595 --> 01:09:04.055
I I forget who described it, but it was like, what if what if basically

960
01:09:04.435 --> 01:09:09.080
you enter a seed into your hardware wallet it gives you an XPUB, but the XPUB isn't really

961
01:09:09.460 --> 01:09:11.320
representative of your seed. It's a

962
01:09:11.620 --> 01:09:12.840
preconceived XPUB

963
01:09:13.380 --> 01:09:13.945
that is,

964
01:09:14.465 --> 01:09:31.860
you know, some kind of retirement attack or it's it's it's Right. Representing something else. So getting to the point where these devices Someone else's ex pub. Right. So these devices can be used to kinda cross check each other. I think that'd be a great space for, like, the over overall kinda wallet ecosystem. Agreed.

965
01:09:32.535 --> 01:09:42.540
So we have a lot of good questions here. So we have Roman in the audience asking, if any of the parts are discontinued, are there other interchangeable parts that could be substituted in? Is there,

966
01:09:44.440 --> 01:09:45.820
what are your feelings here?

967
01:09:46.440 --> 01:09:56.605
So the camera is a pretty generic, like, Raspberry Pi compatible camera. There's a few specific models that'll fit in the enclosure that we've designed, but that's like a less important thing.

968
01:09:56.985 --> 01:09:59.645
Pretty much a standard Raspberry Pi camera should work.

969
01:10:00.030 --> 01:10:00.690
And that

970
01:10:01.470 --> 01:10:01.970
Waveshare,

971
01:10:04.030 --> 01:10:07.730
combination controls and LCD hat is kind of our Achilles heel

972
01:10:08.125 --> 01:10:19.540
because only Waveshare makes it. And actually, Waveshare makes multiple versions of kinda the same thing. So we've had it to where people have bought, like, slightly wrong models that are, a different pixel count.

973
01:10:19.920 --> 01:10:24.500
And we're dialed in on this very specific 240 by 240 pixel,

974
01:10:25.435 --> 01:10:27.455
model display hat. So

975
01:10:27.915 --> 01:10:32.795
that's kind of an issue. If they discontinue that, we're we're gonna be hustling to,

976
01:10:33.195 --> 01:10:34.495
get to a different platform.

977
01:10:35.040 --> 01:10:37.200
But that's also a good avenue to,

978
01:10:38.960 --> 01:10:42.260
talk about. We're we're hoping in the future to move to

979
01:10:42.605 --> 01:10:45.985
supporting a secondary hardware profile to where we can keep the current,

980
01:10:47.005 --> 01:10:51.745
the current LCD hat, but we'd also like to get to a larger screen that's a touch screen profile

981
01:10:52.400 --> 01:10:55.220
just because we'd be able to pack more density in the QRs.

982
01:10:55.680 --> 01:10:57.700
And I think it'd be a little bit more approachable,

983
01:10:58.640 --> 01:11:01.060
maybe a little more intuitive interface for people.

984
01:11:01.465 --> 01:11:06.525
It's all kind of experimental, and and Keith is kind of the lead in figuring out,

985
01:11:06.985 --> 01:11:07.485
what

986
01:11:08.185 --> 01:11:08.665
what,

987
01:11:09.065 --> 01:11:09.565
LCD

988
01:11:10.020 --> 01:11:11.560
touchscreen makes sense,

989
01:11:12.179 --> 01:11:14.119
but that's the direction we'd like to get to.

990
01:11:14.500 --> 01:11:17.080
The density is what? So you'd have

991
01:11:17.675 --> 01:11:21.855
less the animated QR codes would have to wouldn't be as long?

992
01:11:22.635 --> 01:11:26.415
Right. So the, and this is actually something that Craig from Sparrow

993
01:11:26.969 --> 01:11:27.469
implemented,

994
01:11:28.010 --> 01:11:30.989
in his last one of his last 2 or 3 releases

995
01:11:31.370 --> 01:11:35.390
that helped us immensely because the number of squares that are in that QR code,

996
01:11:36.435 --> 01:11:37.335
basically dictates

997
01:11:37.635 --> 01:11:51.500
the density of the amount of information that you can encode into a single QR code. So if you make the QR code a little bigger and, like, pack more squares into it, you can reduce the overall amount of, like, say, animated QR frames that you have to exchange.

998
01:11:52.695 --> 01:11:54.495
That's just part of the process of

999
01:11:54.935 --> 01:11:58.315
we're optimizing it as much as we can on our end, and some of the the

1000
01:11:59.015 --> 01:12:05.600
the multisig coordinators have been super helpful with optimizing it on their end. But, yeah, like you're saying, so if if we go to a bigger screen,

1001
01:12:05.980 --> 01:12:09.280
we can put more squares in the QR code, and that means less frames

1002
01:12:09.955 --> 01:12:18.215
you have to pass back into your, laptop or, like, quite literally, it's less time that you're holding your your your device's screen up to your webcam.

1003
01:12:18.750 --> 01:12:19.489
I would add 2

1004
01:12:19.790 --> 01:12:20.290
things,

1005
01:12:20.670 --> 01:12:22.050
here to this answer.

1006
01:12:24.030 --> 01:12:27.010
Is first of all, SeedSigner is a free open source project.

1007
01:12:27.365 --> 01:12:30.265
So if something got discontinued, I assume,

1008
01:12:32.005 --> 01:12:35.945
either you guys or another contributor would step up to the plate to

1009
01:12:37.600 --> 01:12:42.980
make it compatible with something that continues to exist. Right. And regardless of that,

1010
01:12:43.865 --> 01:12:46.045
you know, the seed format is standardized,

1011
01:12:46.665 --> 01:12:54.310
so you should be able to, in an emergency situation, import that into some other kind of either signing device or software wallet,

1012
01:12:54.850 --> 01:13:01.990
that supports it. Yep. So your funds aren't at risk there. If if if your seed signer gets destroyed and you can't get the new parts,

1013
01:13:02.845 --> 01:13:04.865
you can migrate that to a new wallet.

1014
01:13:05.725 --> 01:13:11.345
Yeah. And there were kinda 2 related questions, but you can run this on, I think,

1015
01:13:11.849 --> 01:13:14.349
any Raspberry Pi. You don't have to use

1016
01:13:14.650 --> 01:13:15.150
the

1017
01:13:15.530 --> 01:13:16.030
01.3.

1018
01:13:16.969 --> 01:13:20.510
We we prefer it as the safest method, but,

1019
01:13:21.085 --> 01:13:25.665
Kevin had a question. Can I use the version of the 0 that has Wi Fi? Like, yeah.

1020
01:13:26.765 --> 01:13:29.880
And that weight share display hat,

1021
01:13:30.760 --> 01:13:32.699
either just sits on the,

1022
01:13:33.080 --> 01:13:33.580
GPIO

1023
01:13:33.960 --> 01:13:36.300
pins of the the pi zero,

1024
01:13:36.600 --> 01:13:38.620
but the pi zero has the same pinout

1025
01:13:38.965 --> 01:13:42.825
as all the other Raspberry Pis. So, like, you could download

1026
01:13:43.285 --> 01:13:46.505
the the the seed signer, you know, image,

1027
01:13:46.805 --> 01:13:48.345
put it on an SD card,

1028
01:13:48.740 --> 01:13:55.400
power down your your your Bitcoin node. Right? Pop the SD card out of that, pop in the seed signer card,

1029
01:13:55.780 --> 01:14:18.465
and turn your Bitcoin node into a temporary seed signer. Just slap the the LCD head on top of it and and plug in a camera. Yeah. The camera is the you would need an additional camera. Yeah. I I mean and and, like, you know, they're standard. It's, like, literally, if you just Google, like, Raspberry Pi camera, there's, like, one result that you have to care about. And and, he has a second part of that question. Do you guys disable the Wi Fi if

1030
01:14:18.925 --> 01:14:27.220
on the software level if he uses one more Wi Fi on it? It's not disabled in the, in the build that we released because we assume that people are using the 1.3.

1031
01:14:28.560 --> 01:14:31.540
But we've left the Wi Fi enabled for the reason being that

1032
01:14:32.054 --> 01:14:40.875
sometimes people wanna, like, tinker with the platform or help us test advanced versions, and the easiest way to get into the device is through Wi Fi. So the in our builds,

1033
01:14:41.199 --> 01:14:49.840
Wi Fi is still enabled. So we kind of assume if you're using it securely, you've gotten a 1.3 and you're using it that way. Though, if you go through the

1034
01:14:50.725 --> 01:14:58.905
basically, the the developer way of installing the the seed signer code where you're step by step grabbing, you know, a fresh,

1035
01:14:59.680 --> 01:15:01.780
image of the the Raspberry Pi OS,

1036
01:15:02.160 --> 01:15:08.295
installing dependencies, blah blah blah. The Raspberry Pi OS comes out of the box with,

1037
01:15:08.755 --> 01:15:15.735
Wi Fi disabled. It has a little message at the bottom when you when you sign into it that says it's it's disabled by default. So

1038
01:15:16.070 --> 01:15:20.810
if you do it, like, the the step by step way instead of grabbing the the prebuilt image,

1039
01:15:21.270 --> 01:15:22.650
then you get that for free.

1040
01:15:23.864 --> 01:15:25.805
We have minion in the chat mentioning,

1041
01:15:27.145 --> 01:15:29.725
be careful where you buy your Raspberry Pi components.

1042
01:15:31.840 --> 01:15:34.740
I guess there is a risk there that they could be tampered with,

1043
01:15:35.440 --> 01:15:36.980
before you receive them.

1044
01:15:38.135 --> 01:15:40.315
Is this something you guys have thought about at all?

1045
01:15:41.495 --> 01:15:44.155
The I guess the nice thing is, like,

1046
01:15:44.535 --> 01:15:47.195
nobody knows you're buying this for Bitcoin related purposes.

1047
01:15:47.800 --> 01:15:49.659
So if they're tampering with it,

1048
01:15:50.199 --> 01:15:52.300
who knows what they're tampering with it for?

1049
01:15:54.575 --> 01:15:57.635
Yeah. That's I part part of the model with generic

1050
01:15:57.935 --> 01:16:00.594
hardware components is, hopefully, it provides you with

1051
01:16:00.895 --> 01:16:02.435
some kind of level of,

1052
01:16:04.990 --> 01:16:11.650
I don't know if anonymity is not the right word, but some sort of level of almost randomness when you get the components. It's not like you're ordering

1053
01:16:12.675 --> 01:16:16.855
a ledger from Amazon, and everybody at Amazon knows that you're getting a ledger.

1054
01:16:17.795 --> 01:16:21.130
When when you're ordering a Raspberry Pi through, you know, Pomeroney

1055
01:16:22.230 --> 01:16:32.595
or Amazon or any retailer like that, people order these things for all sorts of stuff, so no nobody has a clue what you're gonna use it for. I mean, specifically, I really like the idea of, like, walking in a microcenter and paying with cash

1056
01:16:33.075 --> 01:16:35.815
Yeah. Which you can't do with any of the

1057
01:16:36.889 --> 01:16:38.429
Bitcoin specific stuff yet.

1058
01:16:39.130 --> 01:16:46.585
And I guess that's part of the reason why the Pi zero one point three is chose chosen because it does not have Wi Fi or Bluetooth on it at all.

1059
01:16:47.765 --> 01:16:48.745
So I guess

1060
01:16:49.205 --> 01:16:58.639
best practice would be when you when you get your Pi 0 to look up pictures of it online and and check to make sure that nothing looks completely off.

1061
01:16:59.179 --> 01:17:04.955
Right. Check the modules and yeah. Yeah. A lot of these attacks are, like, very low hanging fruit. Like, they

1062
01:17:05.735 --> 01:17:08.315
I mean, there was, like I think there was a ledger attack recently,

1063
01:17:10.160 --> 01:17:14.660
where they they literally put a whole USB flash drive inside the ledger.

1064
01:17:16.255 --> 01:17:20.035
So, I mean, with a ledger, it's not intuitive to open the case.

1065
01:17:20.655 --> 01:17:22.355
You're not supposed to open the case,

1066
01:17:23.295 --> 01:17:34.755
so people might not see it. But with the pi zero, it comes as a bare board. So in that case, you would it'd probably be pretty visible. Right. Right. Right. And another thing to mention is,

1067
01:17:35.795 --> 01:17:39.975
you know, the the kind of sunsetting of that hardware. I think they're committed to

1068
01:17:40.620 --> 01:17:43.040
producing and supporting the Pi Zero through

1069
01:17:43.659 --> 01:17:46.080
it's at least through, like, 2023 or 2024.

1070
01:17:46.460 --> 01:17:46.960
So,

1071
01:17:47.980 --> 01:17:49.920
yeah, who who knows what

1072
01:17:50.385 --> 01:18:01.930
what the future brings for SeedSigner, but I I I'm comfortable that the pie zero is gonna be around for a while. Right now, because of COVID, there are some supply chain issues where they can be a little bit harder to, acquire.

1073
01:18:02.710 --> 01:18:03.210
But,

1074
01:18:03.750 --> 01:18:07.555
I've been in touch with people at the Raspberry Pi Foundation, and they're still,

1075
01:18:08.495 --> 01:18:17.940
they're still taking purchase orders for quantities of pi zeros. So it sounds like they have another run-in the works, so it's it's, still fully in production.

1076
01:18:20.160 --> 01:18:24.180
And the the code is all just straight Python. So,

1077
01:18:24.985 --> 01:18:27.804
you know, on on my wish list is to

1078
01:18:28.105 --> 01:18:30.045
make a version that can run-in,

1079
01:18:31.704 --> 01:18:32.525
as micropython.

1080
01:18:32.850 --> 01:18:36.790
So right now, the Raspberry Pi is a full computer, even though the the tiny

1081
01:18:37.090 --> 01:18:44.955
Raspberry Pi 0 is like the the size of, like, a stick of chewing gum. Like, it's a full computer running, you know, a full operating system.

1082
01:18:45.735 --> 01:18:51.160
And so there's some some weight attached with that. There's some bloat attached with that.

1083
01:18:52.180 --> 01:18:58.535
Like, right now, it takes the seed signer, you know, maybe a minute to to boot up from from, once you power it on.

1084
01:18:59.015 --> 01:19:05.140
Although the custom OS is making some incredible strides to to cut that down to, like, 10 seconds or less.

1085
01:19:06.240 --> 01:19:15.925
But I'd really like to have a micro Python version where it's running on a microcontroller. There's no operating system. It's not running Linux. It's just literally only executing

1086
01:19:16.385 --> 01:19:17.925
the seed signer code.

1087
01:19:19.505 --> 01:19:21.925
And, you know, so the potential is

1088
01:19:22.250 --> 01:19:24.510
you get a you find the right microcontroller

1089
01:19:24.890 --> 01:19:25.390
platform

1090
01:19:25.850 --> 01:19:32.765
that can run, you know, this code and has the same air gapped qualities. It doesn't have Wi Fi on board. It doesn't have Bluetooth,

1091
01:19:33.225 --> 01:19:35.324
can handle a camera being plugged in.

1092
01:19:36.105 --> 01:19:37.565
It's it's kind of a longer

1093
01:19:38.079 --> 01:19:52.035
r and d project to find the right microcontroller that'll have enough horsepower to to do what the the pi zero is doing. But it's not like the pi zero is, like, a a processing powerhouse. Like, it's it's pretty crappy,

1094
01:19:52.815 --> 01:19:57.050
as a as a stand alone computer, because, you know, it's $5. Like, what do you expect?

1095
01:19:58.070 --> 01:20:01.990
But even compared to a a Raspberry Pi 4, like the the 0 is,

1096
01:20:02.675 --> 01:20:03.575
it's really weak.

1097
01:20:04.035 --> 01:20:07.575
So I'm I'm hoping that eventually we can get that

1098
01:20:08.035 --> 01:20:10.055
microcontroller version instead of

1099
01:20:10.540 --> 01:20:12.160
Linux OS based version.

1100
01:20:12.620 --> 01:20:19.040
And then that just opens the door to a huge variety of different microcontroller chips out there,

1101
01:20:19.994 --> 01:20:21.375
that that we can pick from.

1102
01:20:25.355 --> 01:20:27.775
I like Roman's question that came up

1103
01:20:28.490 --> 01:20:29.630
just now about,

1104
01:20:30.890 --> 01:20:31.390
gaps

1105
01:20:31.850 --> 01:20:35.710
and contributors development skills. Keith can probably speak more to this, but,

1106
01:20:37.025 --> 01:20:42.405
we've we're we're kind of looking for somebody right now who has maybe some knowledge of GPIO and SPI

1107
01:20:43.105 --> 01:20:46.244
who, and maybe some experience with some of these touch screens

1108
01:20:46.820 --> 01:20:48.440
who could kinda jump start,

1109
01:20:49.300 --> 01:20:49.800
getting

1110
01:20:50.260 --> 01:20:53.080
the touch screen UI and a second hardware profile,

1111
01:20:54.155 --> 01:20:58.975
running. That's the first one that pops into my head. There's also to other kind of less technical

1112
01:20:59.595 --> 01:21:00.495
areas of

1113
01:21:00.949 --> 01:21:03.130
contribution I can think of. But yeah.

1114
01:21:04.150 --> 01:21:05.610
Yeah. What are the other levels

1115
01:21:06.389 --> 01:21:11.335
of contribution? Like, how can people help? Like, we we are in dire need of, like,

1116
01:21:12.435 --> 01:21:17.255
explainer videos and just how to videos or videos of people using the device

1117
01:21:18.030 --> 01:21:19.889
especially in, like, other languages.

1118
01:21:21.710 --> 01:21:26.190
We haven't mentioned it yet, but we just recently launched finally seed center.com, which is kind of

1119
01:21:27.575 --> 01:21:36.715
it's great to have a one stop shop where everybody can get, you know, a link to the latest release and go to look at the GitHub repo and see some of the media appearances. And,

1120
01:21:37.550 --> 01:21:38.050
one

1121
01:21:38.430 --> 01:21:41.010
section I'm really excited about there is explainer videos.

1122
01:21:41.470 --> 01:21:45.890
Just getting a ton of, like, short videos so that, like, if you're curious to learn more about SeedSigner,

1123
01:21:46.765 --> 01:21:50.145
and I'm gonna be making some of these myself, but people with video

1124
01:21:50.605 --> 01:22:00.159
production skills like to just sit down and make, like, a short understandable video of how to input a seed, how to generate an XPub and import it into your coordinator,

1125
01:22:00.860 --> 01:22:07.225
how to sign a transaction, how to generate a seed with, you know, the seed from digital photo feature,

1126
01:22:07.765 --> 01:22:13.545
and just stuff like that. Like, that's that's pretty low hanging fruit that people don't need a lot of technical chops to get into.

1127
01:22:15.210 --> 01:22:19.790
But, yeah, I I've been thrilled over the last few months with how people have

1128
01:22:20.170 --> 01:22:26.145
kinda jumped in in all sorts of areas that, like, you know, Keith was obviously a big one, but

1129
01:22:26.605 --> 01:22:28.065
we're also looking at

1130
01:22:28.445 --> 01:22:28.925
over,

1131
01:22:29.245 --> 01:22:30.785
overhauling the user interface

1132
01:22:31.200 --> 01:22:37.860
from the video that you showed before. Like, you can see that we have, like, a pretty basic, almost DOS like interface where you're just selecting

1133
01:22:38.240 --> 01:22:42.005
menu options that are highlighted and displayed on the screen. And there's

1134
01:22:42.945 --> 01:22:44.165
a a guy with a handle

1135
01:22:44.545 --> 01:22:46.885
that goes by I think his handle's easy,

1136
01:22:47.185 --> 01:22:56.150
who has apparently, his day job is in graphic designer and user interface design, and he's helped us kinda, like, conceive of. So if we move to a more

1137
01:22:56.610 --> 01:23:00.724
graphical based user interface, what does that look like, and how much is that gonna,

1138
01:23:01.264 --> 01:23:02.565
give us in terms of

1139
01:23:03.105 --> 01:23:07.525
making the operating system more approachable to people and more intuitive for people to use?

1140
01:23:08.020 --> 01:23:10.040
But the the website that I mentioned,

1141
01:23:11.380 --> 01:23:13.880
a guy named Jay, who I believe is in the Philippines,

1142
01:23:14.420 --> 01:23:18.795
kinda jumped in, and at no cost, he's he's apparently a web developer by trade,

1143
01:23:19.895 --> 01:23:24.395
has has done most most most of the the website coding.

1144
01:23:25.335 --> 01:23:34.864
There's a guy named Richard I'll give a shout out to who is, in the European Union who's been a huge help with me testing different enclosure versions

1145
01:23:35.405 --> 01:23:36.705
and even shipping out,

1146
01:23:38.125 --> 01:23:41.185
shipping out 3 d printed enclosures that he's printed himself

1147
01:23:41.660 --> 01:23:44.480
to different people that are interested in trying it out

1148
01:23:44.780 --> 01:23:47.120
or, are interested in building one for themselves.

1149
01:23:48.620 --> 01:23:50.480
The the guy who did our logo,

1150
01:23:51.635 --> 01:23:53.735
can't think of his name, but he's from South America.

1151
01:23:54.355 --> 01:23:54.855
I,

1152
01:23:55.315 --> 01:23:59.255
sent him a, like, a t shirt and some other things

1153
01:23:59.650 --> 01:24:03.190
as a thank you through snail mail. So it's just I I've been humbled

1154
01:24:03.650 --> 01:24:13.295
by people who have just stepped up and, like, you know, I may not know how code, but I can design a logo or I can build a website or I can make explainer videos. It's it's like, this is truly

1155
01:24:13.755 --> 01:24:18.780
a community thing to where I I couldn't do all this stuff myself. It's it's been awesome to experience.

1156
01:24:21.560 --> 01:24:26.380
Yeah. And we we should give a shout out to, the the 3rd major contributor, Nick.

1157
01:24:26.685 --> 01:24:28.065
Yes. Who who predates

1158
01:24:28.445 --> 01:24:29.985
my involvement in the project.

1159
01:24:31.165 --> 01:24:38.520
You know, my my understanding is, you know, seed did the, like, original r and d, got, like, proof of concept up and running,

1160
01:24:39.220 --> 01:24:42.040
started building just a kind of, you know,

1161
01:24:42.395 --> 01:24:45.855
sort of publicity platform so people would start noticing the project.

1162
01:24:46.315 --> 01:24:47.855
And then Nick entered,

1163
01:24:48.235 --> 01:24:49.614
and he has

1164
01:24:50.120 --> 01:24:52.140
a much deeper programming experience.

1165
01:24:52.520 --> 01:24:57.260
And so just started really professionalizing the code and revamping and reorganizing.

1166
01:24:58.840 --> 01:25:20.205
And he's really the technical expert on the Bitcoin side. So, like, I was so excited to to join this stream, but I was also terrified because I'm like, I'm such a huge fraud. Like, I don't understand the details, the, you know, the the the super techie details of our PSB Ts and, you know, all the other stuff because that's that's all Nick. Like, he's the one

1167
01:25:20.585 --> 01:25:21.324
in the trenches,

1168
01:25:22.025 --> 01:25:25.085
you know, handling the PSB Ts, handling the QR formats,

1169
01:25:25.830 --> 01:25:28.570
talking with all the other wallet and coordinator developers.

1170
01:25:29.590 --> 01:25:31.590
So huge, huge shout out to Nick.

1171
01:25:31.910 --> 01:25:39.345
Like, you know, Seed and Nick got this project to a point where it was on it had such a strong foundation built

1172
01:25:39.699 --> 01:25:45.560
that I was able to come in later and just start playing and making, like, fun new features for it.

1173
01:25:46.260 --> 01:26:00.250
But they they did all the, like, real real work. Yeah. Without Nick, like, this we it wouldn't we we wouldn't be having this conversation. Like, I I'm not a coder by trade, and I watched enough, like, Udemy videos and bang my head against the wall long enough

1174
01:26:00.950 --> 01:26:02.650
that I was on, you know,

1175
01:26:03.295 --> 01:26:06.034
I was on Stack Exchange and Googling and, like,

1176
01:26:06.415 --> 01:26:09.074
just trying to get a basic proof of concept.

1177
01:26:10.175 --> 01:26:11.955
And also a shout out to,

1178
01:26:12.680 --> 01:26:13.660
Stepan from,

1179
01:26:14.120 --> 01:26:14.620
Specter.

1180
01:26:15.160 --> 01:26:17.260
Like, I was in his Telegram DMs,

1181
01:26:17.880 --> 01:26:23.365
and he created the, embed Python library that we lean on to do some of the heavier lifting

1182
01:26:23.745 --> 01:26:30.940
with the signatures and the protocol work. And it's, it's an open source library that he's put out there for embedded Python devices,

1183
01:26:31.480 --> 01:26:36.700
and it it's like it it made our thing definitely possible. And he was also just so,

1184
01:26:38.985 --> 01:26:42.844
so patient with my, you know, idiot newbie, I don't know how to code questions,

1185
01:26:43.305 --> 01:26:45.405
and how can I make this work kinda questions?

1186
01:26:46.425 --> 01:26:50.429
But yeah, Nick coming in was like the game changer because

1187
01:26:50.889 --> 01:26:52.670
even I had interacted with,

1188
01:26:53.290 --> 01:27:00.645
Michael Flaxman a little bit when I had the proof of concept up, And he had looked at the repo, and he was like, oh my gosh. This is like spaghetti code.

1189
01:27:01.985 --> 01:27:02.385
And,

1190
01:27:03.025 --> 01:27:11.270
Nick, like, I I can't remember how Nick stumbled. I think Nick actually just came across the project through GitHub, not even from our Twitter account.

1191
01:27:11.810 --> 01:27:12.130
And,

1192
01:27:13.455 --> 01:27:17.955
he's also a a cur by trade and just brought immense knowledge of, like,

1193
01:27:18.655 --> 01:27:19.155
Python

1194
01:27:20.450 --> 01:27:24.550
coding convention, coding structure, what makes sense, what's the most efficient

1195
01:27:25.090 --> 01:27:27.990
structures for what we're trying to do, and, like, yeah, I I

1196
01:27:28.415 --> 01:27:30.515
I, we we wouldn't be here without

1197
01:27:30.895 --> 01:27:32.455
Nick. I wish he could've,

1198
01:27:32.895 --> 01:27:42.870
joined us tonight. Well, he's here in spirit. I mean, this is what I love about Bitcoin. This is what I love about free open source software. Keith, it sounds like you need to hear it, but you're not a fraud. We do appreciate you.

1199
01:27:44.175 --> 01:27:50.195
Well, I I'm just very aware of of the things I don't know, and I'm I'm terrified of all those, unknown unknowns.

1200
01:27:50.560 --> 01:27:54.100
That's good. That's where that's where you should be. Everyone should stay humble

1201
01:27:54.480 --> 01:27:55.699
and keep moving forward.

1202
01:27:58.135 --> 01:28:00.695
Yeah. I I appreciate you both. I I this is,

1203
01:28:02.775 --> 01:28:09.920
this is what it's about. You know? This is this is awesome. I I I love how the community comes together around these types of projects.

1204
01:28:11.260 --> 01:28:12.720
So I assume,

1205
01:28:13.954 --> 01:28:15.414
see, this is your first

1206
01:28:15.795 --> 01:28:17.014
open source project.

1207
01:28:18.434 --> 01:28:19.895
Correct? It sure is.

1208
01:28:20.760 --> 01:28:22.220
So I'm a stay at home dad.

1209
01:28:23.480 --> 01:28:25.500
I people who've listened to other podcasts

1210
01:28:26.120 --> 01:28:28.300
know probably have heard a little bit about my background,

1211
01:28:28.665 --> 01:28:31.005
but I'm a retired police officer, actually.

1212
01:28:32.264 --> 01:28:35.165
I was a local cop for 15 years,

1213
01:28:35.770 --> 01:28:36.270
and

1214
01:28:36.730 --> 01:28:38.350
I was lucky enough

1215
01:28:39.050 --> 01:28:39.550
that

1216
01:28:39.929 --> 01:28:42.989
I had a I had a background in technology, background in computers.

1217
01:28:43.705 --> 01:28:46.045
And about 3 years into my police career,

1218
01:28:47.945 --> 01:28:48.445
somebody

1219
01:28:48.824 --> 01:28:55.940
higher up than me knew that I had background in computers and was aware of a digital forensics group where I live who is kinda spinning up

1220
01:28:56.320 --> 01:28:57.460
and looking for,

1221
01:28:58.160 --> 01:28:59.620
new contributors, new members.

1222
01:29:00.005 --> 01:29:04.264
So early in my career, I was given the opportunity to join this digital forensic group. So I spent

1223
01:29:04.965 --> 01:29:07.784
the majority of my law enforcement career, like, in a lab setting,

1224
01:29:08.650 --> 01:29:10.110
taking apart computers

1225
01:29:10.650 --> 01:29:12.350
and hard drives and,

1226
01:29:13.930 --> 01:29:15.815
laptops, thumb drives, and and

1227
01:29:16.375 --> 01:29:18.155
figuring out how to assist prosecutors

1228
01:29:18.455 --> 01:29:18.935
in,

1229
01:29:20.135 --> 01:29:20.614
in,

1230
01:29:21.415 --> 01:29:22.715
making cases, which

1231
01:29:23.150 --> 01:29:26.849
is a little bit weird for me in the Bitcoin community. Yeah. You're the spook.

1232
01:29:27.630 --> 01:29:31.614
Basically. Yeah. Are you still the spook if you're, like, out as the spook? Is that

1233
01:29:32.335 --> 01:29:34.434
That's that's a classic spook movie.

1234
01:29:34.735 --> 01:29:36.915
You're a fool. Second level spook.

1235
01:29:38.150 --> 01:29:41.850
No. The the majority of my work was in, crimes against children,

1236
01:29:42.390 --> 01:29:43.850
so I'm, like,

1237
01:29:44.755 --> 01:29:47.575
I I'm super proud of the work that I did, but I actually

1238
01:29:48.195 --> 01:29:50.775
learned of Bitcoin through work. So,

1239
01:29:51.875 --> 01:29:52.695
in 2013,

1240
01:29:53.950 --> 01:29:57.970
I was, you know, having a water cooler conversation with a couple of the other examiners,

1241
01:29:58.910 --> 01:30:03.330
and one guy is telling me about this case that he's working on where there's this local kid

1242
01:30:03.935 --> 01:30:04.415
who,

1243
01:30:04.815 --> 01:30:07.235
got, like, a pretty high end gaming rig,

1244
01:30:08.335 --> 01:30:09.395
a desktop computer

1245
01:30:10.550 --> 01:30:15.450
for Christmas or for, you know, his birthday or whatever. And instead of using it to play

1246
01:30:16.150 --> 01:30:27.005
call of duty or whatever would have been the game at the time, He was mining Bitcoin with this gaming rig with the GPU, and this was in 2013, so it was still kind of at the tail end of when GPU mining was viable.

1247
01:30:27.579 --> 01:30:34.719
But he'd take the Bitcoins that he mined and purchase weed on the Silk Road that he'd have delivered to, you know, his house with his parents.

1248
01:30:35.085 --> 01:30:40.305
He'd break it into smaller packages and take it to school, and it was making a tidy little profit,

1249
01:30:41.005 --> 01:30:43.405
selling dime bags to, you know, his,

1250
01:30:43.805 --> 01:30:44.705
fellow students.

1251
01:30:45.550 --> 01:30:46.210
And so

1252
01:30:47.550 --> 01:30:57.094
I was kinda, like, stupefied by this Bitcoin thing. I I started googling it, and it didn't make sense to me. Like, why people why would you be using a GPU to to generate all this compute to,

1253
01:30:57.795 --> 01:31:01.574
like, mine these coins? It just it was such a foreign concept. So I

1254
01:31:01.960 --> 01:31:07.420
I heard about it, researched it. It didn't make sense. I didn't know if it was like a SETI or like a folding at home thing.

1255
01:31:08.760 --> 01:31:14.264
And then for whatever reason, like, in March of 2013, I circled back to it, and that was kind of during,

1256
01:31:15.045 --> 01:31:17.465
a period of price appreciation. And I was probably,

1257
01:31:18.010 --> 01:31:21.550
kinda back of my mind looking for investments at the time. So I started

1258
01:31:22.570 --> 01:31:25.950
learning more and more about it. It was like one of those, like, you

1259
01:31:26.675 --> 01:31:29.495
you come for the gains and stay for the freedom kind of things.

1260
01:31:30.835 --> 01:31:32.455
Definitely one of the more novel

1261
01:31:32.915 --> 01:31:34.935
Bitcoin intro stories I've ever heard.

1262
01:31:35.380 --> 01:31:36.260
Yeah. It was,

1263
01:31:37.060 --> 01:31:38.520
so, you know, I still

1264
01:31:39.060 --> 01:31:43.480
I still was probably in the forensics business for 7 or 8 years after that.

1265
01:31:43.955 --> 01:31:44.455
So,

1266
01:31:46.435 --> 01:31:49.554
I was when everybody first gets into Bitcoin, what's the,

1267
01:31:50.195 --> 01:31:54.500
the way that they think is the best way to acquire Bitcoin is obviously through mining.

1268
01:31:55.199 --> 01:31:56.420
So I was

1269
01:31:56.880 --> 01:31:58.900
a participant in some of the earliest

1270
01:31:59.840 --> 01:32:01.219
kinda ASIC ventures.

1271
01:32:01.675 --> 01:32:18.090
Did you preorder Butterfly Labs? I did. And I was like the guy checking the website, and they'd say every 2 weeks, it'd be like, oh, we think we're gonna send someone about 2 weeks. But, like, I was just thinking about that earlier tonight, like, what a comical sell to my wife that I've just learned about this thing called Bitcoin.

1272
01:32:18.445 --> 01:32:20.865
And I'm telling her that we should spend $45100

1273
01:32:21.645 --> 01:32:22.625
on this, like,

1274
01:32:23.565 --> 01:32:30.500
this special computer that all it can do is generate Bitcoin, and we're not even sure if they're gonna be able to finish development of it, but they need the money up front.

1275
01:32:31.440 --> 01:32:31.760
So,

1276
01:32:32.560 --> 01:32:34.580
yeah. That and I actually sold

1277
01:32:36.025 --> 01:32:41.245
my preorder for Butterfly Labs on eBay. I have no idea how that would get through, like, eBay's,

1278
01:32:41.785 --> 01:32:42.765
you know, like,

1279
01:32:43.520 --> 01:32:44.420
fraud stuff,

1280
01:32:44.880 --> 01:32:47.380
but I never actually even received the device.

1281
01:32:48.800 --> 01:32:52.580
I sold the preorder on eBay, and once the auction had settled,

1282
01:32:54.724 --> 01:33:12.395
I changed the ship to address in my Butterfly Labs account, and it shipped directly to somebody else who you know, if they got it and plugged it in, like, they did very well with it. But I I was getting uneasy and was looking to offload the risk associated with Butterfly Labs at that point. A lot of people, I don't think, received devices.

1283
01:33:13.335 --> 01:33:27.305
Yeah. And there was there was all sorts of rumors that Butterfly Labs was mining with with, the devices before they'd shipped them because they're in the middle of a bull market and they're, you know, air quotes, testing the devices. It was very common back then. Yeah. Yeah. Yeah.

1284
01:33:28.745 --> 01:33:30.365
But also through, like,

1285
01:33:30.985 --> 01:33:31.965
Bitcoin talk,

1286
01:33:32.585 --> 01:33:33.725
there was a guy named

1287
01:33:34.105 --> 01:33:34.560
Yif

1288
01:33:35.360 --> 01:33:41.460
Yifigiu, or I'm I'm sure I'm butchering that name, but he was one of the earliest ASIC chip designers.

1289
01:33:42.385 --> 01:33:48.085
And there were all these people on Bitcoin Talk that were organizing group purchases of chips from him

1290
01:33:48.625 --> 01:33:51.630
to design, like, custom mining hardware. That was

1291
01:33:54.410 --> 01:33:54.970
pretty crazy back then. Yeah. Yeah. It was.

1292
01:33:58.185 --> 01:34:01.885
Stuff fell through. That was pretty crazy back then. Yeah. Yeah. It was.

1293
01:34:02.265 --> 01:34:05.965
Well, I mean, I was gonna ask you what your experience has been,

1294
01:34:07.500 --> 01:34:10.480
you know, being the lead maintainer of an open source project.

1295
01:34:11.660 --> 01:34:14.640
So this being the first project I've been involved with,

1296
01:34:15.100 --> 01:34:17.474
I don't have a lot to compare it to, but it's,

1297
01:34:19.455 --> 01:34:19.955
it's

1298
01:34:21.775 --> 01:34:22.275
it's,

1299
01:34:23.430 --> 01:34:25.770
I there's not much to say about it. Like, I

1300
01:34:26.150 --> 01:34:32.969
I have some level of trust in the developers. I've kinda fallen into a less technical role where I test the hell out of the code that

1301
01:34:33.335 --> 01:34:34.074
that they,

1302
01:34:34.454 --> 01:34:36.795
put in some of our test branches in the repo.

1303
01:34:37.255 --> 01:34:47.560
And I can read enough Python to understand what's going on, but some of the structures that these guys come up with aren't stuff that I myself could come up with. So if I spider my way through the the code, I can get it.

1304
01:34:49.400 --> 01:34:56.605
But it it was, gosh, this is probably embarrassing to say, but it was the first time I'd set up a a GPG key. And it was actually

1305
01:34:57.465 --> 01:34:59.325
Don't worry. No one uses GPG.

1306
01:35:00.890 --> 01:35:01.470
That was

1307
01:35:02.090 --> 01:35:02.750
I think

1308
01:35:03.690 --> 01:35:04.570
it it was,

1309
01:35:05.850 --> 01:35:07.150
one of your favorite,

1310
01:35:08.730 --> 01:35:09.710
anon accounts.

1311
01:35:10.285 --> 01:35:11.905
It's like numbers, like, 4704.

1312
01:35:12.285 --> 01:35:15.105
That's not it, but it's something like 102? That's 6102.

1313
01:35:16.045 --> 01:35:18.145
He had been in touch with OpenNoms

1314
01:35:19.300 --> 01:35:19.800
and,

1315
01:35:20.739 --> 01:35:24.600
asked me to set up a GPG key to start establishing kind of a trust

1316
01:35:25.060 --> 01:35:30.845
trust chain and a reputation for the releases to at least, like, if you were willing to accept the

1317
01:35:31.305 --> 01:35:37.480
the security trade off of a precompiled release, at least we could have kinda like a track record to go with go with

1318
01:35:37.940 --> 01:35:50.215
that. Yeah. That's definitely best practice. Yeah. Definitely best practice, and I'm glad that they kinda steered me towards that. But, 62 is fantastic. I love that dude. I consider him a brother, and I have no idea what his name is.

1319
01:35:50.675 --> 01:36:03.260
Have you ever met him in person, or is that not a thing? I I hopefully, one day, he will trust me enough for that to happen. But that's gonna be on his terms, not mine. I just expect him to just, like, show up one day.

1320
01:36:04.585 --> 01:36:06.925
I gotta I gotta shout him out too.

1321
01:36:07.545 --> 01:36:12.030
When I tweeted out the video of my demo doing the human transcription

1322
01:36:19.605 --> 01:36:22.505
3 years ago or something that was basically describing

1323
01:36:23.284 --> 01:36:24.505
exactly what I built.

1324
01:36:25.364 --> 01:36:28.670
So, you know, he he was there 3 years before I ever got there.

1325
01:36:29.390 --> 01:36:30.770
Yeah. He told me that.

1326
01:36:31.469 --> 01:36:32.370
He was pretty

1327
01:36:32.750 --> 01:36:36.850
he was he he was pretty proud that we got there. So thank you for that.

1328
01:36:37.790 --> 01:36:38.530
Very cool.

1329
01:36:38.895 --> 01:36:41.395
Keith, I mean, while we're here, you know,

1330
01:36:42.014 --> 01:36:43.395
seed story was very

1331
01:36:44.494 --> 01:36:47.235
novel. Do you what's what was your Bitcoin story?

1332
01:36:48.870 --> 01:36:50.170
I mean, I'm professional

1333
01:36:50.470 --> 01:36:51.450
Python dev.

1334
01:36:52.550 --> 01:36:55.930
You know, my first exposures to Bitcoin were through,

1335
01:36:56.470 --> 01:37:03.175
I think there were there were a series of wired articles over some of the early years, you know, talking about, Silk Road and,

1336
01:37:03.815 --> 01:37:04.635
Mt. Gox.

1337
01:37:05.175 --> 01:37:06.650
And each time

1338
01:37:07.190 --> 01:37:09.130
I would come across one of these articles,

1339
01:37:09.590 --> 01:37:19.035
I was just fascinated. I was like, oh my god. This is, like, just crazy interesting stuff. I need to I need to learn more. And then I would put the magazine down and, like,

1340
01:37:19.495 --> 01:37:32.635
I would lose the train of thought. And then, like, a year or 2 would go by, and then I'd pick up another issue, and there's another art you know, article on on Bitcoin. I'm like, oh, that's right. This Bitcoin thing. It's so interesting. And And then I put the magazine down, and I forgot about it again.

1341
01:37:33.095 --> 01:37:33.595
And

1342
01:37:33.975 --> 01:37:34.475
finally,

1343
01:37:35.015 --> 01:37:36.795
for whatever reason, in 2017,

1344
01:37:37.660 --> 01:37:44.480
you know, I'd wasted 3 or 4 years at that point. I was finally like, okay. I gotta dig in and and learn what this thing is about.

1345
01:37:46.034 --> 01:37:46.855
So damn.

1346
01:37:48.434 --> 01:37:53.335
I mean, no. Most of us, I think, required multiple touch points before we

1347
01:37:53.710 --> 01:38:14.320
didn't think Bitcoin was a scam. Yeah. Yeah. Yeah. It's a very common theme. I would say Seed's, story is is is way more novel than any story I've heard. The big meme in the space is, like, every Bitcoin podcast starts off with, well, what is your Bitcoin story? And almost all of them are the same. It's like, oh, I heard about it really early, completely dismissed it,

1348
01:38:14.860 --> 01:38:16.400
and then I came back later

1349
01:38:17.179 --> 01:38:19.040
after, like, the 4th time I heard it.

1350
01:38:21.614 --> 01:38:22.114
Awesome.

1351
01:38:22.494 --> 01:38:23.135
So we,

1352
01:38:23.614 --> 01:38:25.315
is it like a funny side story?

1353
01:38:26.255 --> 01:38:34.750
When I was still working in the computer lab, so we had this training room where we had, like, 24 computers. They're all pretty basic computers, but this is during 2013

1354
01:38:35.130 --> 01:38:36.909
during the first, like,

1355
01:38:37.449 --> 01:38:37.949
shitcoin

1356
01:38:38.945 --> 01:38:40.085
total craziness.

1357
01:38:40.705 --> 01:38:41.745
And one of the,

1358
01:38:42.945 --> 01:38:45.045
one of the particular, like,

1359
01:38:45.665 --> 01:38:46.725
strains of shitcoin

1360
01:38:47.230 --> 01:39:01.645
was that it was something that you could only mine with a CPU, like, they had an algorithm that would rotate and it wasn't something that a GPU could do. So, I had set up all 24 of these computers in our training room to mine Prime Coin and then probably something else.

1361
01:39:02.160 --> 01:39:02.900
And that was

1362
01:39:03.520 --> 01:39:04.420
also when,

1363
01:39:06.000 --> 01:39:06.580
like, BTCE

1364
01:39:07.360 --> 01:39:10.420
was still in existence, so you could exchange coins,

1365
01:39:11.405 --> 01:39:13.905
without doing any any KYC at that point.

1366
01:39:14.445 --> 01:39:17.665
And, we mined enough of these shitcoins that, like,

1367
01:39:17.970 --> 01:39:22.950
our forensic lab actually had a Bitcoin wallet that appreciated over time, and we were able to,

1368
01:39:23.970 --> 01:39:26.310
purchase, like, equipment for our work,

1369
01:39:27.235 --> 01:39:29.655
when we got into, like, subsequent price runs.

1370
01:39:30.275 --> 01:39:30.775
So

1371
01:39:31.075 --> 01:39:33.095
at one point, I think I bought, like,

1372
01:39:34.250 --> 01:39:35.390
I bought an Imac

1373
01:39:36.010 --> 01:39:37.630
with some of the Bitcoin that we'd

1374
01:39:38.090 --> 01:39:39.710
we'd indirectly mined,

1375
01:39:40.250 --> 01:39:43.795
and then, like, we bought new monitors for everybody in 2017. It was,

1376
01:39:44.915 --> 01:39:49.895
somebody just put up in the chat, like, the troll box in BTC, which is, like, the mother of all,

1377
01:39:50.355 --> 01:39:50.855
like,

1378
01:39:51.429 --> 01:39:51.929
trading,

1379
01:39:52.949 --> 01:39:53.850
rumor mills.

1380
01:39:54.230 --> 01:39:58.409
But, yeah, there's, like, so much lore in the early days of Bitcoin that's, like,

1381
01:39:58.775 --> 01:40:03.435
hilarious. Toolbox was epic. Yeah. Absolutely. Do you remember how they took down BTC?

1382
01:40:05.415 --> 01:40:06.315
I don't remember

1383
01:40:07.250 --> 01:40:09.170
other than, you know, the day that the,

1384
01:40:09.730 --> 01:40:15.830
you know, the URL or whatever came up is the domain came up as being seized. I don't remember how it was executed. How was it?

1385
01:40:17.225 --> 01:40:20.365
I guess it was it was run by a Russian guy,

1386
01:40:21.305 --> 01:40:27.480
and, he was he was vacationing in in Greece, I if I recall correctly.

1387
01:40:30.100 --> 01:40:45.219
And the the way full disk encryption works is it activates when when your device is off. Mhmm. So the key is you you want to get I mean, you know better than most. I mean, the so the key is you wanna get them while the device is on and they're signed into everything. Sure.

1388
01:40:45.760 --> 01:40:48.580
So he was on vacation. He was signed into everything at BTC,

1389
01:40:50.335 --> 01:40:56.514
and they took an unmarked car, and they rammed it through his vacation home gates. And he, like, ran out in his robe,

1390
01:40:57.020 --> 01:40:59.680
And then they arrested him, and he was signed into everything.

1391
01:41:00.700 --> 01:41:02.540
That's that's reminiscent of,

1392
01:41:03.100 --> 01:41:09.265
how they got Ross Ulbrich too Right. Was that he was operating in a, I think it was a public library.

1393
01:41:09.885 --> 01:41:17.070
And Correct. Somehow, they distracted him from his screen or something and and, like, physically converged on him so he couldn't,

1394
01:41:17.370 --> 01:41:19.710
like, sleep the computer or log out or anything.

1395
01:41:23.005 --> 01:41:26.225
Indeed. I mean, but he was, like, in a San Francisco library.

1396
01:41:27.005 --> 01:41:33.920
It's a lot less glamorous than a recent vacation home in a robe. I don't know. Just from from Russia. Like, that's a picture. Yeah?

1397
01:41:34.620 --> 01:41:35.600
Yeah. It's definitely,

1398
01:41:36.780 --> 01:41:38.000
it's definitely an image.

1399
01:41:39.045 --> 01:41:41.225
So, I mean, guys, this has been a great conversation.

1400
01:41:43.125 --> 01:41:47.385
Oh, I get I have one more thing on my list that I wanted to hit before we wrap this up.

1401
01:41:47.800 --> 01:41:50.780
So it's a free open source project. Anyone could do this.

1402
01:41:51.960 --> 01:41:53.820
The code's out there. They can just

1403
01:41:54.360 --> 01:41:58.344
use the build, put it on, you know, general purpose hardware.

1404
01:42:01.045 --> 01:42:05.990
Is are you how do you view this project? Is it just gonna be donation based? Is there a monetization

1405
01:42:06.770 --> 01:42:07.270
strategy?

1406
01:42:09.570 --> 01:42:16.784
What what yeah. What how do you view that? If there's a, like, a significant monetization strategy, like, I don't see it.

1407
01:42:18.045 --> 01:42:24.130
I currently like I mentioned before, I sell the presoldered pies, and I also sell the 3 d printed enclosures.

1408
01:42:25.470 --> 01:42:31.055
But that's, like, low margin stuff that helps me cover, like, you know, the hosting fees

1409
01:42:31.515 --> 01:42:32.015
and,

1410
01:42:33.195 --> 01:42:33.855
you know,

1411
01:42:34.155 --> 01:42:37.615
sending T shirts to contributors and sending hardware to people who,

1412
01:42:37.920 --> 01:42:42.739
you know, potentially contribute or who might, you know, be good for the project and,

1413
01:42:43.440 --> 01:42:49.665
like, web development, that kind of stuff. I don't see any sort of path of monetization. Maybe I'm naive or just

1414
01:42:50.045 --> 01:42:51.965
inept business wise to see that,

1415
01:42:53.645 --> 01:43:01.800
seed signer's more like, it this is more like a the goal of the project, and this isn't something we talked about, but we recently declared a license.

1416
01:43:02.420 --> 01:43:03.639
And that was, like,

1417
01:43:04.435 --> 01:43:08.614
by far the hardest decision that I've made by far associated with the project.

1418
01:43:10.514 --> 01:43:11.574
And we we

1419
01:43:11.954 --> 01:43:13.255
initially were leaning

1420
01:43:16.870 --> 01:43:20.010
GPL or a GPL, but that was wrong. So GPL.

1421
01:43:20.765 --> 01:43:23.985
And the theory was so that, like, anybody who,

1422
01:43:24.845 --> 01:43:32.320
you know, uses the code or modifies the code contributes it back to the open source community. Right. And we just got a ton of pushback about that.

1423
01:43:32.860 --> 01:43:33.360
And

1424
01:43:33.980 --> 01:43:34.480
the

1425
01:43:34.860 --> 01:43:37.599
ultimate decision was that I didn't wanna discourage

1426
01:43:38.125 --> 01:43:39.824
there were a lot of people who were super

1427
01:43:40.525 --> 01:43:46.465
m I pro MIT, and I think there's a little bit of a cult mentality to that, not that there's anything wrong with MIT.

1428
01:43:47.165 --> 01:43:50.520
So the main difference to the freaks is with GPL,

1429
01:43:51.540 --> 01:43:55.720
any derivative work has to be open source. It has to be GPL.

1430
01:43:56.135 --> 01:43:57.435
Right. With MIT,

1431
01:43:58.215 --> 01:43:59.195
it's completely

1432
01:43:59.655 --> 01:44:02.635
open. Like, you can you can take that code,

1433
01:44:03.415 --> 01:44:09.500
like Square can take that code, and they can just put it into a completely closed source,

1434
01:44:11.160 --> 01:44:13.820
device or software library or whatever.

1435
01:44:14.905 --> 01:44:16.045
Right. And so,

1436
01:44:16.425 --> 01:44:28.270
like, the goal for us thinking it through was we always want people to be able to build a seed signer on their own without permission from off the shelf components and have the software completely unfettered and free.

1437
01:44:28.650 --> 01:44:29.790
So in that sense,

1438
01:44:31.655 --> 01:44:32.875
GPL made sense,

1439
01:44:34.295 --> 01:44:35.994
but we got, like,

1440
01:44:36.775 --> 01:44:39.355
super pushback from the from the community.

1441
01:44:40.099 --> 01:44:41.480
And one of the more,

1442
01:44:42.900 --> 01:44:43.400
legitimate

1443
01:44:43.940 --> 01:44:46.679
kind of concerns was that apparently people who work,

1444
01:44:47.105 --> 01:44:57.520
their day job is for, you know, a for profit company and they're professional coders, and maybe Keith can talk more to this. But I had several people approach me, and I think it was in good faith,

1445
01:44:57.980 --> 01:45:00.960
tell me that, like, their employer prefers that they

1446
01:45:02.195 --> 01:45:03.414
don't contribute

1447
01:45:04.355 --> 01:45:04.855
to,

1448
01:45:06.755 --> 01:45:08.375
like, Copyleft or GPL

1449
01:45:08.950 --> 01:45:17.530
projects because of potential legal entanglements and that they prefer them to just contribute to MIT stuff because it's pretty cut and dry that there's no legal

1450
01:45:18.365 --> 01:45:18.765
legal,

1451
01:45:19.405 --> 01:45:21.265
implications to it. So if people

1452
01:45:21.725 --> 01:45:27.425
a lot of employers give you Google used to give you, like, what, 10 or 15% of your work week

1453
01:45:27.889 --> 01:45:29.590
just to work on some sort of

1454
01:45:30.130 --> 01:45:31.750
passion project or,

1455
01:45:32.849 --> 01:45:33.349
like,

1456
01:45:33.730 --> 01:45:42.215
open source kind of stuff. Like, I didn't wanna just just discourage any contributors from contributing seed signers. So even though we were leading towards GPL,

1457
01:45:42.675 --> 01:45:44.135
we actually went with MIT,

1458
01:45:45.239 --> 01:45:48.540
and I'm I'm not ashamed of that. That's what Bitcoin uses. That's what,

1459
01:45:49.000 --> 01:45:54.345
Spectra uses. It's a great license. I just don't think that a closed source signing device makes sense.

1460
01:45:54.825 --> 01:45:57.405
So we were trying to steer it towards JPL, but,

1461
01:45:58.265 --> 01:46:04.850
yeah, that that's where we're at. So to get back to your original question of I don't think there's a profit motive motive in this.

1462
01:46:05.950 --> 01:46:10.050
I I yeah. That's that's kinda where we're at unless Keith has any perspective.

1463
01:46:11.885 --> 01:46:12.865
No. I mean, I think,

1464
01:46:13.885 --> 01:46:16.945
and and and by the way, you know, Matt, you had asked about

1465
01:46:17.680 --> 01:46:18.820
how how Steve

1466
01:46:19.120 --> 01:46:19.860
has experienced,

1467
01:46:20.240 --> 01:46:23.140
running his first project, his first open source project.

1468
01:46:24.240 --> 01:46:27.855
And, you know, I can tell you from the from the inside of these discussions,

1469
01:46:29.275 --> 01:46:30.575
you know, all the transparency

1470
01:46:30.955 --> 01:46:33.455
that you see him tweeting out publicly,

1471
01:46:34.970 --> 01:46:35.630
that's, like,

1472
01:46:36.250 --> 01:46:40.360
exactly what's going on in these internal discussions that, you know,

1473
01:46:42.725 --> 01:46:46.345
here's what I'm thinking. Here's what I'm agonizing over. Here's what I don't know.

1474
01:46:47.205 --> 01:46:50.265
And we just kinda, you know, discuss it and and hash it out.

1475
01:46:50.885 --> 01:46:56.080
And just, you know, his his transparency. Like, the the multisig donation address

1476
01:46:56.460 --> 01:46:56.960
is

1477
01:46:57.260 --> 01:47:07.675
out there. But not not only that, like, the x pub of each key of the multisig has been tweeted out. You know, just like levels of transparency that are are just crazy.

1478
01:47:09.370 --> 01:47:10.910
But, no, I I think this project,

1479
01:47:11.290 --> 01:47:19.305
you know, like, I I'm contributing in my free time. Nick is contributing in his free time. He's got, you know, a a young child. I think I think maybe a newborn.

1480
01:47:21.445 --> 01:47:24.825
And, you know, it it's it's an all volunteer effort.

1481
01:47:25.810 --> 01:47:29.670
You know, I I'm just having so much fun working on this project.

1482
01:47:31.970 --> 01:47:34.515
But but, yeah, like, longer term, if

1483
01:47:35.055 --> 01:47:37.555
if if we could get to the point where through

1484
01:47:38.095 --> 01:47:39.395
donations and grants

1485
01:47:39.775 --> 01:47:43.840
that, you know, I could scale back my my normie day job,

1486
01:47:44.560 --> 01:47:49.619
and spend more time on on seed signers, spend more time on on Spectre, like, that would be incredible.

1487
01:47:50.560 --> 01:47:55.565
But, you know, I'm gonna keep contributing to this project as much as I can in in my evenings and weekends.

1488
01:47:56.905 --> 01:48:00.605
And, you know, I'm just gonna trust in the Bitcoin community. Like, if

1489
01:48:00.910 --> 01:48:01.730
if this project,

1490
01:48:02.750 --> 01:48:07.250
needs more more funding and more attention, I think the community will will deliver it.

1491
01:48:08.030 --> 01:48:14.315
If what we've built is kind of like a good enough solution and it just has some, you know, kind of

1492
01:48:14.615 --> 01:48:15.755
maintenance requirements,

1493
01:48:16.135 --> 01:48:16.875
over time,

1494
01:48:17.335 --> 01:48:20.360
and doesn't doesn't require, like, investment like that,

1495
01:48:21.000 --> 01:48:22.619
then then that's what it'll be.

1496
01:48:23.480 --> 01:48:25.500
But, but yeah. And and I I

1497
01:48:25.960 --> 01:48:27.420
I don't have any plans on

1498
01:48:28.205 --> 01:48:32.145
disappearing from this project, but I always tell Seed, like,

1499
01:48:32.685 --> 01:48:35.400
you know, this isn't a corporation. You know, we're

1500
01:48:35.860 --> 01:48:36.440
not hired

1501
01:48:36.900 --> 01:48:37.400
employees.

1502
01:48:38.580 --> 01:48:40.280
We have no intention of going anywhere,

1503
01:48:40.660 --> 01:48:42.600
but you can't build this project

1504
01:48:43.295 --> 01:48:47.315
assuming that we, you know, specific pieces will be there.

1505
01:48:48.175 --> 01:48:54.579
Right. Or and you don't know who's gonna come in, you know, tomorrow with some amazing ideas and and and make major contributions.

1506
01:48:56.480 --> 01:49:01.300
So it's it's just, you know, you you set up the

1507
01:49:01.784 --> 01:49:02.284
the

1508
01:49:02.585 --> 01:49:06.925
structure the best that you can. It's open source. Anyone can come in and contribute.

1509
01:49:08.425 --> 01:49:09.739
And if if someone's contributions

1510
01:49:10.440 --> 01:49:15.260
just become more and more important, you start bringing them into the inner circle of

1511
01:49:15.560 --> 01:49:19.345
of, I I I hesitate to say the word decision makers,

1512
01:49:20.205 --> 01:49:23.585
but, you know, of of the the people whose input,

1513
01:49:24.450 --> 01:49:26.210
are are listened to the most for,

1514
01:49:26.690 --> 01:49:28.150
the the seed center group.

1515
01:49:29.170 --> 01:49:29.970
Right. And I'd,

1516
01:49:31.495 --> 01:49:33.195
Keith kind of alluded to it. We

1517
01:49:33.575 --> 01:49:34.635
we did set up,

1518
01:49:36.055 --> 01:49:36.635
an official

1519
01:49:37.015 --> 01:49:38.075
donation wallet.

1520
01:49:39.380 --> 01:49:41.159
So it's a 4 of 6 multisig.

1521
01:49:42.179 --> 01:49:47.400
I published all the XPUBs the other day so we can have full transparency. So anybody who wants to

1522
01:49:47.835 --> 01:49:53.135
import the the XPUBs into a Specter Wallet or even, you know, a a Spiro wallet or anything,

1523
01:49:53.995 --> 01:49:57.295
can do that and monitor what comes in and what comes out.

1524
01:49:57.730 --> 01:49:58.230
We,

1525
01:49:58.930 --> 01:50:01.590
I was approached, like, a month or 2 ago from

1526
01:50:01.970 --> 01:50:05.910
a significant donor and asked to submit a grant proposal.

1527
01:50:06.705 --> 01:50:13.284
I don't know if that particular one's gonna come through, but I'm optimistic that I I think we're demonstrating enough value that I think

1528
01:50:14.520 --> 01:50:17.260
some form of sustaining funding is gonna come through.

1529
01:50:17.560 --> 01:50:24.705
But that was part of the rationale for setting up the multistig address. It's like I mentioned, it's a 4 of 6. I hold 2 of the keys

1530
01:50:25.165 --> 01:50:26.465
and then 4 other

1531
01:50:29.520 --> 01:50:34.500
key contributors, we'll say, who've asked not to be named or holding one key each.

1532
01:50:35.039 --> 01:50:35.539
And

1533
01:50:36.614 --> 01:50:39.195
over time, as funds hopefully become available,

1534
01:50:39.495 --> 01:50:42.074
like, it's gonna be a process of, you know,

1535
01:50:42.455 --> 01:50:44.315
us at a primary level

1536
01:50:44.775 --> 01:50:50.940
hashing out, like, what we think, like, deserves compensation for contribution and what sort of features we wanna

1537
01:50:51.240 --> 01:50:53.180
incentivize through through compensation,

1538
01:50:53.875 --> 01:51:05.620
but it's also gonna be, like Keith alluded to, a process of listening, you know, to people who are following us on Twitter and people who are in the the, seats on our Telegram chat, like, asking about features and

1539
01:51:06.000 --> 01:51:08.660
and expressing their opinions. So we're we're trying to do this,

1540
01:51:09.120 --> 01:51:09.620
like,

1541
01:51:10.575 --> 01:51:15.235
as much in the open out in the open as we can, and I'm optimistic that we can kinda

1542
01:51:15.695 --> 01:51:24.530
reach that middle ground to where, you know, people if they wanna be heard, like, they're gonna be heard, and I think, like, we can make mostly the the right calls.

1543
01:51:26.270 --> 01:51:27.970
Have you submitted a grant?

1544
01:51:30.655 --> 01:51:48.340
Have have you submitted to OpenSats yet? Yeah. Yeah. We, I think when it was first announced I I'm not sure where you guys are at in terms of setting that up. Or Yeah. We're not we're moving slower than we'd like to move. But I I can fully, like, We have money standing by, and you're, like, the ideal project for it.

1545
01:51:48.935 --> 01:51:52.795
Well, that's cool. We, in the spirit of open source,

1546
01:51:54.535 --> 01:52:01.489
you know, I was I was I was, like, the 2nd person on board with OpenSats, and all the board members were not taking any money out.

1547
01:52:04.375 --> 01:52:05.915
And as as a result,

1548
01:52:08.935 --> 01:52:16.040
you know, maybe it's it's facing some some of the same hurdles that the free open source projects that we're trying to support are facing,

1549
01:52:16.580 --> 01:52:17.080
because,

1550
01:52:18.020 --> 01:52:23.805
no one's working on it full time. But, we do have money. We have Bitcoin sitting there waiting to

1551
01:52:24.185 --> 01:52:26.365
dish out to con dish out to projects,

1552
01:52:27.760 --> 01:52:31.140
in need, and, your project completely fits the bill,

1553
01:52:31.760 --> 01:52:34.020
for that. So I'm glad you submitted something,

1554
01:52:35.155 --> 01:52:37.815
and we're working on getting that out as soon as possible.

1555
01:52:39.475 --> 01:52:44.889
I kinda wanna go back to the licensing real quick. I mean Yeah. Yeah. It's, a reoccurring

1556
01:52:45.270 --> 01:52:46.570
topic on dispatch.

1557
01:52:47.829 --> 01:52:50.570
And you're right that there it's very much a,

1558
01:52:52.505 --> 01:52:53.405
first of all,

1559
01:52:53.785 --> 01:52:58.205
100% appreciate you going MIT. It is the most open license you can choose,

1560
01:53:00.960 --> 01:53:01.860
But I I

1561
01:53:03.600 --> 01:53:07.780
I struggle with it myself, and I got a lot of I get a lot of pushback because I'm

1562
01:53:08.575 --> 01:53:09.075
a

1563
01:53:09.615 --> 01:53:10.515
it's it's

1564
01:53:11.135 --> 01:53:12.435
I I'm a I'm a

1565
01:53:13.695 --> 01:53:14.355
GPL proponent.

1566
01:53:14.655 --> 01:53:15.155
I

1567
01:53:17.449 --> 01:53:20.030
I I've noticed that a lot of

1568
01:53:20.809 --> 01:53:21.949
or or some

1569
01:53:23.185 --> 01:53:28.005
groups that provide grants in the space require you to switch to MIT if you're GPL.

1570
01:53:29.585 --> 01:53:30.085
And

1571
01:53:31.210 --> 01:53:35.310
I feel like it's a little bit of a subversion of open source

1572
01:53:36.170 --> 01:53:38.190
even though it's the most free license

1573
01:53:38.875 --> 01:53:40.095
because it allows

1574
01:53:40.555 --> 01:53:44.575
corporations to come in and take the code and not contribute back.

1575
01:53:46.690 --> 01:53:48.710
Right. It's it's kinda like it's this,

1576
01:53:49.250 --> 01:53:59.495
like I I don't wanna call it manipulation, but, like, all of these smart guys with money are having all of these nerds, like, do all this work, and then they can turn it into a product kind of a thing.

1577
01:54:00.035 --> 01:54:05.015
And, like, the perfect example is is something like BTC payserver, which is a project I love,

1578
01:54:07.380 --> 01:54:07.880
MIT.

1579
01:54:10.099 --> 01:54:15.765
I expect there to be a lot of closed source point of sale systems that use BTC Payserver code

1580
01:54:16.245 --> 01:54:22.745
and don't contribute anything back and keep everything closed. Right. With SeedSigner, it's a little bit different because I do agree with you. I mean,

1581
01:54:23.980 --> 01:54:26.880
hopefully, most people wouldn't wanna use a closed source,

1582
01:54:27.900 --> 01:54:28.800
signing device.

1583
01:54:29.500 --> 01:54:31.360
Unfortunately, there are some out there,

1584
01:54:32.375 --> 01:54:32.875
but,

1585
01:54:33.895 --> 01:54:39.355
so it's a little bit less of a concern, but, I I tend to fall on the GPL side. But

1586
01:54:40.200 --> 01:54:43.020
I a 100% respect the decision to go for

1587
01:54:43.320 --> 01:54:45.100
the most open license there is.

1588
01:54:45.560 --> 01:54:49.305
Yeah. I I I totally empathize with you preferring,

1589
01:54:50.165 --> 01:54:53.865
GPL. I just don't see because we're a do it yourself

1590
01:54:54.325 --> 01:54:58.830
thing from off the shelf component off the shelf components. Like, there's not a ton of margin

1591
01:54:59.530 --> 01:55:00.670
in it for

1592
01:55:01.050 --> 01:55:02.990
a potential commercial participant.

1593
01:55:04.035 --> 01:55:08.135
And I and maybe that's just a lack of imagination on my part, but,

1594
01:55:08.675 --> 01:55:16.060
that that kinda, like, took some of the pressure off for me because I just don't see this as a, you know, super commercially profitable

1595
01:55:16.360 --> 01:55:19.820
potential venture. Well, what we could see is we could see

1596
01:55:20.600 --> 01:55:21.100
a

1597
01:55:22.415 --> 01:55:24.915
purpose built Bitcoin signing device

1598
01:55:26.495 --> 01:55:27.315
that is

1599
01:55:28.495 --> 01:55:29.475
source viewable,

1600
01:55:29.900 --> 01:55:34.800
which is the bare minimum, I would say, if you're gonna buy a signing device. Mhmm.

1601
01:55:35.980 --> 01:55:37.040
But not MIT

1602
01:55:37.820 --> 01:55:38.560
or GPL.

1603
01:55:39.985 --> 01:55:44.245
And it uses mostly your code and puts it in a very pretty case

1604
01:55:44.705 --> 01:55:48.885
and then goes and raises a shit ton of VC money off of your work

1605
01:55:49.290 --> 01:55:50.030
and your contributors' work.

1606
01:55:53.210 --> 01:55:53.690
But,

1607
01:55:54.489 --> 01:55:58.270
That would suck for us. Yeah. You'd still have my support regardless.

1608
01:55:58.885 --> 01:56:01.545
But the most important thing for me is that,

1609
01:56:01.925 --> 01:56:10.630
you know, the dude in Iraq or Iran or Saudi Arabia or whatever Love it. Like, he can get the components, the codes available, he can build it. Like,

1610
01:56:10.930 --> 01:56:12.550
people in El Salvador,

1611
01:56:12.930 --> 01:56:17.695
like, we can host a workshop there. And regardless of what some, you know,

1612
01:56:18.315 --> 01:56:19.455
clown, you know,

1613
01:56:20.075 --> 01:56:31.200
VC company is doing, like, we can show people how to build this stuff, you know, themselves. And after we leave, they can make more of them if they think there's, like, a value proposition there. Like, that's the most important thing.

1614
01:56:32.375 --> 01:56:35.755
Yeah. Yeah. And that's why you're a fucking legend. Thank you, dude.

1615
01:56:37.255 --> 01:56:44.730
We have, Bitcoin makes sense asking a completely unrelated question asking, is Trust Wallet okay? No. Trust Wallet's a piece of shit.

1616
01:56:45.909 --> 01:56:47.530
You should migrate to

1617
01:56:48.155 --> 01:56:49.375
to a better wallet.

1618
01:56:51.835 --> 01:57:06.795
First of all, I hate the name, but besides that, it's just it's mostly shitcoin focused, and the Bitcoin side's really bad. I don't even I I I'm I I can't speak to their license or whether or not it's sourced viewable or not, but it's a really bad wallet. If you go to cildispatch.com/help,

1619
01:57:11.070 --> 01:57:16.530
there's a there's a list of Trust Wallet's a mobile wallet. There's a list of mobile wallets,

1620
01:57:17.310 --> 01:57:19.810
that I recommend that are significantly better.

1621
01:57:22.505 --> 01:57:26.764
Yeah. But that's a completely unrelated question, but he did ask it, so I'm going to answer it.

1622
01:57:27.720 --> 01:57:30.540
So I appreciate you guys' time. I think this was a great conversation.

1623
01:57:32.120 --> 01:57:34.780
Do you have any final thoughts before we wrap this up?

1624
01:57:36.324 --> 01:57:37.284
I would just,

1625
01:57:37.844 --> 01:57:41.705
like, people are curious to check out our thing. We finally have a website, seedcenter.com.

1626
01:57:43.445 --> 01:57:53.370
Follow me on Twitter just at at seed signer, all one word. We have a Telegram group that's a great place, like, for people who are curious or wanting to do a build and they have specific questions.

1627
01:57:55.495 --> 01:58:00.155
Yeah. And if if, Keith, if you have any final thoughts, I'd I'm probably forgetting all sorts of stuff.

1628
01:58:01.630 --> 01:58:11.085
Just we got we got some cool things in the works too. No no formal road map or release schedule, but, you know, we talked about seeing if we can figure out a touch screen,

1629
01:58:13.465 --> 01:58:14.844
you know, UI redesign.

1630
01:58:15.224 --> 01:58:17.565
One thing I'd really love to add is NVK's

1631
01:58:18.200 --> 01:58:25.500
seed XOR. You know, with Yes. With your seeds as QR codes, they are more exposed and vulnerable.

1632
01:58:26.120 --> 01:58:27.100
But if

1633
01:58:27.565 --> 01:58:31.185
your seed is represented in a seed XOR

1634
01:58:31.725 --> 01:58:34.785
pair or, you know, 3 set or whatever,

1635
01:58:36.190 --> 01:58:39.890
then you just have, like, an additional level of of security there.

1636
01:58:41.710 --> 01:58:42.370
And then

1637
01:58:42.670 --> 01:58:48.445
we do have on the road map multi language support. So I Oh, yeah. I did the,

1638
01:58:48.824 --> 01:58:49.304
Spectre,

1639
01:58:49.705 --> 01:58:52.844
desktop implementation of, for multi language support

1640
01:58:53.200 --> 01:58:58.340
and, recruited all of the translators. So that's how we were able to launch with 11,

1641
01:58:59.040 --> 01:59:01.060
languages fully translated for Spectre.

1642
01:59:02.175 --> 01:59:05.635
So when we're ready, we'll do the same thing for,

1643
01:59:06.095 --> 01:59:15.950
Seed signer. And then, you know, hopefully, I can tap that same group or, you know, just tweet out to the world, like, hey. You know, let's let's, load this thing up on on other languages.

1644
01:59:17.195 --> 01:59:18.175
And if people wanna

1645
01:59:18.635 --> 01:59:20.495
donate, that's seed signer.com?

1646
01:59:21.995 --> 01:59:24.975
I need to add the donation. It's probably not on the website.

1647
01:59:25.300 --> 01:59:31.800
Dude, you gotta put that front and center. Yeah. I'll I'll put it on the main page. It's it's in my Twitter feed. I actually tweeted it out today.

1648
01:59:32.825 --> 01:59:34.364
But, yeah, I'll get it on the website.

1649
01:59:34.745 --> 01:59:35.245
Awesome.

1650
01:59:35.945 --> 01:59:38.205
Well, I appreciate you guys. Thank you for joining.

1651
01:59:38.665 --> 01:59:40.364
It's really a fantastic conversation,

1652
01:59:40.665 --> 01:59:44.110
and I hope the freaks appreciated it. I think they will.

1653
01:59:44.730 --> 01:59:50.510
I know I did. I appreciate your work. I love the project. I have not built my own seed signer yet,

1654
01:59:50.915 --> 01:59:53.255
and I feel like a fraud for not.

1655
01:59:53.875 --> 01:59:55.955
So I will do that. I will try and,

1656
01:59:56.835 --> 01:59:59.415
pump out a a video or 2 about it,

1657
01:59:59.780 --> 02:00:00.520
do my

1658
02:00:00.900 --> 02:00:03.140
part. If we can if we can help,

1659
02:00:03.780 --> 02:00:05.800
just, like, let me know.

1660
02:00:06.500 --> 02:00:07.000
100%.

1661
02:00:08.685 --> 02:00:13.824
Big shout out to the freaks who joined us in the live chat on this late Bitcoin Tuesday rip.

1662
02:00:14.764 --> 02:00:19.570
Appreciate you as always, and thanks to the freaks who continue to support the show. Without you,

1663
02:00:20.829 --> 02:00:26.975
this show does not exist. So thank you all. Thank you Keith. Better than, the Olympics, I think, tonight. Like A 100%.

1664
02:00:27.355 --> 02:00:29.455
I mean, low bar, but a 100%.

1665
02:00:29.835 --> 02:00:30.735
And thank you,

1666
02:00:31.390 --> 02:00:36.210
ma'am. And thank you, Seed. Thank you, Keith. Appreciate you guys. Cheers. Yep. Appreciate it. Thanks.

1667
02:02:33.519 --> 02:02:35.699
Every day for us something

1668
02:02:38.079 --> 02:02:41.460
new. Open mine for a different view.

1669
02:02:43.494 --> 02:02:45.594
And nothing else matters.

1670
02:04:49.110 --> 02:04:52.570
Trust, I seek, and I find it new.

1671
02:04:54.870 --> 02:04:56.485
Every day for us something

1672
02:04:59.665 --> 02:05:02.805
new. Open mind for a different view.

1673
02:05:04.840 --> 02:05:06.940
And nothing else matters.

1674
02:07:10.114 --> 02:07:13.974
Appreciate you freaks. Reminder that you can go to btcpins.com

1675
02:07:15.550 --> 02:07:18.610
and buy a FOSS pin set to support open source development.

1676
02:07:19.630 --> 02:07:20.690
I love you all.

1677
02:07:21.310 --> 02:07:28.735
I'll see you on Thursday for rabbit hole recap, and I'll see you next Bitcoin Tuesday for another dispatch. Stay humble and stack stats.