1
00:00:00,000 --> 00:00:03,100
David, welcome to the 21 and 21 show.

2
00:00:03,320 --> 00:00:04,200
Thank you for having me.

3
00:00:04,440 --> 00:00:04,980
Of course.

4
00:00:05,360 --> 00:00:10,040
For those of you that don't know David Gumberg, he's a Bitcoin Core contributor at Localhost,

5
00:00:10,300 --> 00:00:12,900
which is a Bitcoin-friendly research center in the Bay Area.

6
00:00:13,640 --> 00:00:16,420
David is relatively new to the Bitcoin FOSS community.

7
00:00:17,000 --> 00:00:19,580
He completed the Chaincode Boss program in 2024,

8
00:00:20,220 --> 00:00:24,420
then received two consecutive OpenSats grants supporting his Bitcoin Core contributions

9
00:00:24,420 --> 00:00:27,860
before joining Localhost full-time in January 2025.

10
00:00:27,860 --> 00:00:36,940
five yeah it's been uh like uh my my life has changed a lot in uh in the past year and a half

11
00:00:36,940 --> 00:00:44,380
or so getting to work on bitcoin core um yeah yeah i totally get that life changes once you

12
00:00:44,380 --> 00:00:49,340
work full-time on bitcoin well yes well that leads me to my first question how did you get

13
00:00:49,340 --> 00:00:55,240
interested in bitcoin in the first place yeah i think the first time i heard about bitcoin was

14
00:00:55,240 --> 00:00:59,380
in either freshman in high school or in middle school.

15
00:00:59,380 --> 00:01:00,920
And I was like on IRC.

16
00:01:01,140 --> 00:01:02,960
I think it was like Freenode at the time.

17
00:01:02,960 --> 00:01:06,340
And I just like went into the list of channels

18
00:01:06,340 --> 00:01:09,020
and I saw which ones had the most people.

19
00:01:10,020 --> 00:01:12,400
And I saw this channel for Bitcoin

20
00:01:12,400 --> 00:01:16,680
was like by far the most popular channel on Freenode.

21
00:01:16,900 --> 00:01:18,460
And I went on the channel

22
00:01:18,460 --> 00:01:21,000
and I'd never heard anything at all about Bitcoin.

23
00:01:21,680 --> 00:01:23,260
And it's just like all these people

24
00:01:23,260 --> 00:01:26,820
talking about this thing that I didn't understand at all.

25
00:01:26,880 --> 00:01:28,800
That was like the first exposure.

26
00:01:29,020 --> 00:01:31,960
And then I started doing some research.

27
00:01:32,220 --> 00:01:34,840
And then later on, I learned about

28
00:01:34,840 --> 00:01:37,340
some of the Chaincode seminar programs

29
00:01:37,340 --> 00:01:39,400
and the Brink Fellowship.

30
00:01:39,900 --> 00:01:43,420
And I started to think that maybe it would be possible

31
00:01:43,420 --> 00:01:46,700
for me to work full-time on open-source software,

32
00:01:46,700 --> 00:01:51,500
on this decentralized money, peer-to-peer thing,

33
00:01:51,500 --> 00:01:55,180
which is like all the boxes for me,

34
00:01:55,320 --> 00:01:58,020
like decentralized, peer-to-peer, open source.

35
00:01:58,620 --> 00:02:00,640
And the fact that I might be able to do that,

36
00:02:00,760 --> 00:02:03,420
that was like really, really exciting.

37
00:02:03,560 --> 00:02:05,460
That's kind of like what drew me towards that.

38
00:02:05,760 --> 00:02:08,020
That is definitely an interesting way to get into Bitcoin.

39
00:02:08,220 --> 00:02:09,500
I have never heard that answer.

40
00:02:09,640 --> 00:02:11,980
You were really thrown into like the deep end

41
00:02:11,980 --> 00:02:15,360
with like niche detailed conversations.

42
00:02:16,400 --> 00:02:16,560
Yeah.

43
00:02:17,140 --> 00:02:17,880
Very cool.

44
00:02:17,960 --> 00:02:21,220
How did you even learn about the Bitcoin boss program

45
00:02:21,220 --> 00:02:21,940
in the first place?

46
00:02:22,220 --> 00:02:24,520
So the boss program I learned about,

47
00:02:24,700 --> 00:02:25,400
I had done,

48
00:02:25,600 --> 00:02:26,980
there's a program Chaincode used to do

49
00:02:26,980 --> 00:02:28,000
called the seminar program.

50
00:02:28,560 --> 00:02:29,840
And I had done that.

51
00:02:30,200 --> 00:02:31,320
And actually, like,

52
00:02:32,080 --> 00:02:33,080
I had tried,

53
00:02:33,360 --> 00:02:36,000
I'd like started and stopped multiple times

54
00:02:36,000 --> 00:02:39,220
at like trying to work on Bitcoin Core.

55
00:02:39,400 --> 00:02:41,660
So I'd like opened one or two PRs

56
00:02:41,660 --> 00:02:44,080
and I like attended some of the review clubs.

57
00:02:44,680 --> 00:02:46,300
I tried a few things here and there,

58
00:02:46,800 --> 00:02:49,060
but I never really could get traction.

59
00:02:49,300 --> 00:02:51,160
And at some point I kind of gave up

60
00:02:51,160 --> 00:02:53,220
and I thought like maybe I'll do something.

61
00:02:53,320 --> 00:02:55,100
I started trying to work on like other paths.

62
00:02:56,240 --> 00:02:59,720
And then I was like, I just like,

63
00:02:59,760 --> 00:03:02,820
and then one day I just like saw just by accident.

64
00:03:02,920 --> 00:03:04,500
I don't even have like a Twitter account.

65
00:03:04,580 --> 00:03:06,740
I just like saw that they'd retweeted

66
00:03:06,740 --> 00:03:07,900
this thing about the boss program.

67
00:03:08,180 --> 00:03:10,460
And I really, really enjoyed the chain code seminar.

68
00:03:10,740 --> 00:03:13,080
So I just signed up for it based on that.

69
00:03:14,640 --> 00:03:15,900
And yeah, that was, that was,

70
00:03:15,980 --> 00:03:17,360
that was how I heard about it was like,

71
00:03:17,400 --> 00:03:19,180
it was really, really just like pure chance.

72
00:03:19,180 --> 00:03:20,920
Like I don't even have a Twitter.

73
00:03:20,920 --> 00:03:23,640
I just was like, I wonder if this person has tweeted recently.

74
00:03:23,840 --> 00:03:25,780
I looked at their Twitter, they'd retweeted it,

75
00:03:25,920 --> 00:03:27,760
and I went and I signed up immediately.

76
00:03:28,020 --> 00:03:29,400
It was like, I knew I wanted to do it.

77
00:03:29,860 --> 00:03:30,180
So cool.

78
00:03:30,640 --> 00:03:33,160
Well, can you maybe tell our listeners a little bit more

79
00:03:33,160 --> 00:03:34,620
about the Chaincode Boss program?

80
00:03:35,160 --> 00:03:35,400
Yeah.

81
00:03:36,240 --> 00:03:39,520
So the Chaincode Boss program is kind of a mixture

82
00:03:39,520 --> 00:03:41,860
of an educational program.

83
00:03:42,660 --> 00:03:46,040
You get to learn more about working on Bitcoin open source software.

84
00:03:46,040 --> 00:04:04,700
There are a lot of resources that are already publicly available, but that the program guides you towards some of the best resources that are available for jumping into the deep end of working on Bitcoin open source software.

85
00:04:04,700 --> 00:04:14,500
And the other aspect of the program is really is like a set of challenges that participants engage in.

86
00:04:14,760 --> 00:04:24,140
And kind of the point of the challenges is to like demonstrate like you're learning as you've gone through the program.

87
00:04:25,140 --> 00:04:32,940
And then for people that perform really well in the challenges that are in the kind of beginning section of the program,

88
00:04:32,940 --> 00:04:35,080
then the next phase of the program

89
00:04:35,080 --> 00:04:36,960
you kind of get resources

90
00:04:36,960 --> 00:04:38,920
from people that have experience

91
00:04:38,920 --> 00:04:40,940
working either in my case

92
00:04:40,940 --> 00:04:42,660
it was Bitcoin Core but like really

93
00:04:42,660 --> 00:04:45,020
like the field is wide open in terms

94
00:04:45,020 --> 00:04:46,600
of like open source software

95
00:04:46,600 --> 00:04:48,020
related to Bitcoin

96
00:04:48,020 --> 00:04:50,740
I know some people went on to work on

97
00:04:50,740 --> 00:04:52,660
BDK some people

98
00:04:52,660 --> 00:04:54,840
from my cohort went on to work

99
00:04:54,840 --> 00:04:56,920
on Warnet which is

100
00:04:56,920 --> 00:04:59,020
like this cool Bitcoin network

101
00:04:59,020 --> 00:05:01,020
tool but yeah

102
00:05:01,020 --> 00:05:02,920
at that point you kind of like

103
00:05:02,940 --> 00:05:11,800
And Chaincode kind of gives you resources and connects you with people that like kind of help you on the next step of the journey from like, I know a lot.

104
00:05:12,060 --> 00:05:16,420
I feel like I can, I feel like I can do this, but I kind of don't know how to apply myself.

105
00:05:17,460 --> 00:05:20,820
For me, that was what I needed was like, I felt like I had the skills.

106
00:05:21,120 --> 00:05:29,980
I still had a lot that I needed to learn, but it kind of like helped, helped me find a direction to, to, to apply that in.

107
00:05:29,980 --> 00:05:31,220
And it's all virtual.

108
00:05:31,600 --> 00:05:31,740
Yeah.

109
00:05:31,740 --> 00:05:38,600
Yeah, it's all run through a Discord server where you get weekly challenges.

110
00:05:39,260 --> 00:05:53,011
The other cool part of the program is the community part of it You get to meet the other people that are interested in working on Bitcoin open source stuff And everyone is super friendly and like shares helpful information about how to get through challenges

111
00:05:53,011 --> 00:05:54,831
Like in the year that I participated in

112
00:05:54,831 --> 00:05:56,531
and last year I helped mentor

113
00:05:56,531 --> 00:05:57,691
some of the existing people.

114
00:05:57,971 --> 00:06:00,371
The people that show up are so nice

115
00:06:00,371 --> 00:06:01,071
and so helpful.

116
00:06:01,071 --> 00:06:03,611
And like for that month or two

117
00:06:03,611 --> 00:06:04,891
or for the three months,

118
00:06:04,951 --> 00:06:06,031
kind of like a nice little community.

119
00:06:06,411 --> 00:06:06,771
Yeah.

120
00:06:07,191 --> 00:06:08,771
And then I guess like

121
00:06:08,771 --> 00:06:11,531
what was your coding experience prior

122
00:06:11,531 --> 00:06:17,211
and what after going through it realistically how much like you know software engineering experience

123
00:06:17,211 --> 00:06:23,871
do you think that someone has to have it really depends so in my case um it was really a wide

124
00:06:23,871 --> 00:06:31,831
spectrum so um there was all kinds of people in the program and honestly i don't think that um

125
00:06:31,831 --> 00:06:37,811
any normal metrics you could have used to like guess like who's going to succeed i they at least

126
00:06:37,811 --> 00:06:39,691
from my perspective wouldn't have worked.

127
00:06:40,431 --> 00:06:42,731
I don't have a computer science degree.

128
00:06:42,991 --> 00:06:43,991
I've never worked.

129
00:06:44,171 --> 00:06:47,071
I've never really worked professionally full-time

130
00:06:47,071 --> 00:06:49,111
developing software of any kind.

131
00:06:49,271 --> 00:06:51,491
So for me, I was just like a hobbyist

132
00:06:51,491 --> 00:06:52,911
from like being a teenager,

133
00:06:53,251 --> 00:06:56,111
just like tinkering with open source software,

134
00:06:56,591 --> 00:06:58,371
teaching myself a little bit as I went.

135
00:06:58,611 --> 00:07:00,911
I knew some C, I knew some Python.

136
00:07:01,151 --> 00:07:03,691
I kind of had just like a hodgepodge

137
00:07:03,691 --> 00:07:04,991
of different little skills,

138
00:07:04,991 --> 00:07:07,551
but none that I had ever really like

139
00:07:07,811 --> 00:07:12,011
applied in a kind of concentrated, full-time way.

140
00:07:13,591 --> 00:07:17,031
So, I mean, that's kind of where I started from.

141
00:07:17,151 --> 00:07:19,311
And then there was also lots of people in the program that had success

142
00:07:19,311 --> 00:07:22,111
that were existing software engineers that just, like,

143
00:07:22,591 --> 00:07:24,811
weren't that interested in the work that they were doing

144
00:07:24,811 --> 00:07:26,311
and wanted to work on open source stuff

145
00:07:26,311 --> 00:07:29,671
or wanted more self-guided work.

146
00:07:30,771 --> 00:07:33,751
Yeah, so I think it's really a wide array of backgrounds.

147
00:07:33,911 --> 00:07:36,231
There's students, there's people like me that I was,

148
00:07:36,231 --> 00:07:38,191
like an algebra teacher when I

149
00:07:38,191 --> 00:07:40,331
when I did the program and I was actually like

150
00:07:40,331 --> 00:07:42,491
I was working full time as

151
00:07:42,491 --> 00:07:43,931
like teaching algebra

152
00:07:43,931 --> 00:07:46,591
like sneaking into

153
00:07:46,591 --> 00:07:48,191
conference rooms and like taking

154
00:07:48,191 --> 00:07:50,531
like taking calls and working on the

155
00:07:50,531 --> 00:07:52,391
assignments so yeah

156
00:07:52,391 --> 00:07:54,251
but like that's not just like

157
00:07:54,251 --> 00:07:56,411
really it's like

158
00:07:56,411 --> 00:07:58,491
I just encourage anyone that

159
00:07:58,491 --> 00:08:00,571
like thinks that they want to

160
00:08:00,571 --> 00:08:02,591
do it to try and

161
00:08:02,591 --> 00:08:04,411
maybe it's not the right time

162
00:08:04,411 --> 00:08:06,131
maybe there's more skills you need but

163
00:08:06,231 --> 00:08:11,431
I like just try like you you you don't lose anything by just trying and seeing.

164
00:08:12,071 --> 00:08:12,591
Yeah.

165
00:08:13,251 --> 00:08:13,391
Yeah.

166
00:08:13,771 --> 00:08:14,551
Algebra, man.

167
00:08:14,551 --> 00:08:18,131
I haven't done algebra in so long.

168
00:08:19,291 --> 00:08:20,591
Do you miss algebra?

169
00:08:22,091 --> 00:08:24,871
I still try to get in some practice on the weekends.

170
00:08:25,251 --> 00:08:26,931
I have a little notebook.

171
00:08:27,351 --> 00:08:27,731
I'll be honest.

172
00:08:27,811 --> 00:08:31,331
I loved I loved I loved algebra and I love teaching algebra.

173
00:08:31,791 --> 00:08:32,951
I also love what I do now.

174
00:08:32,951 --> 00:08:36,831
But yeah, the kids, they didn't, they didn't like algebra as much as I did.

175
00:08:36,971 --> 00:08:37,891
Yeah, that's funny.

176
00:08:38,351 --> 00:08:47,011
So you could do this program during like, you can have a full-time job too, or you just have to, you know, maybe you're working extra hard.

177
00:08:47,591 --> 00:08:51,831
It depends on who you are and exactly what your situation is.

178
00:08:52,851 --> 00:09:00,271
I, what, I mean, I don't, like what I did was like, it was really hard.

179
00:09:00,531 --> 00:09:01,991
Like it was really hard.

180
00:09:01,991 --> 00:09:10,751
I was, I was, I was what I, for me, because just because of my unique situation, which was that I had a big skill gap, I think.

181
00:09:11,391 --> 00:09:13,011
I had a lot to learn.

182
00:09:13,931 --> 00:09:18,291
And I was like trying to work a job and I was trying to do the program.

183
00:09:18,291 --> 00:09:21,391
It was like, it was like a lot of hours because I wasn't just doing the challenges.

184
00:09:21,471 --> 00:09:25,731
I was catching up on things that I didn't know how to do while I was going.

185
00:09:26,171 --> 00:09:30,891
So I just like, it's, it's hard to say, like, for me, I made it work.

186
00:09:30,891 --> 00:09:32,931
there are other people that made it work

187
00:09:32,931 --> 00:09:35,151
but there were definitely people in the program

188
00:09:35,151 --> 00:09:36,991
like smart capable people

189
00:09:36,991 --> 00:09:39,111
who just couldn't balance

190
00:09:39,111 --> 00:09:40,711
taking on the program

191
00:09:40,711 --> 00:09:42,571
while also working full time somewhere else

192
00:09:42,571 --> 00:09:45,291
but it just

193
00:09:45,291 --> 00:09:47,231
like it's one of those things

194
00:09:47,231 --> 00:09:49,111
you just have to try and see if it

195
00:09:49,111 --> 00:09:50,331
see if it works for you

196
00:09:50,331 --> 00:09:52,051
but in my case yeah I was able to

197
00:09:52,051 --> 00:09:54,151
and there was other examples of people that were

198
00:09:54,151 --> 00:09:55,811
working and also doing the program

199
00:09:55,811 --> 00:09:58,251
that's awesome well good for you

200
00:09:58,251 --> 00:10:00,071
for balancing all that

201
00:10:00,071 --> 00:10:06,851
that's a lot um okay one last question about boss program what was like your biggest surprise

202
00:10:06,851 --> 00:10:13,611
from doing it well at least unexpected most unexpected thing you either learned or someone

203
00:10:13,611 --> 00:10:21,551
you met honestly i would like not to keep focusing i feel like i keep focusing on myself

204
00:10:21,551 --> 00:10:27,551
but but i guess for me the like the the most unexpected part i guess was that i was that i

205
00:10:27,551 --> 00:10:32,651
was able to do it engineers or people interested in software tend to have kind of like imposter

206
00:10:32,651 --> 00:10:37,351
syndrome type like array of things and not having a computer science degree not having work

207
00:10:37,351 --> 00:10:43,991
professionally i had kind of like some preconceived notions of like what how far like what i could do

208
00:10:43,991 --> 00:10:51,331
or how capable i was so like the fact that i was able to do it at all was like like i i honestly

209
00:10:51,331 --> 00:10:54,571
couldn't i couldn't believe that i was like succeeding at the challenges when i was doing

210
00:10:54,571 --> 00:10:59,651
them that like i was just like putting in time learning things applying it and then like i would

211
00:10:59,651 --> 00:11:04,331
succeed in the challenges and i was just like what like i don't know that was that was part of it but

212
00:11:04,331 --> 00:11:10,871
the other thing that i would say is like how nice and available so many of the people that are

213
00:11:10,871 --> 00:11:17,491
working on like bitcoin open source stuff are like so many people that like i imagined are like

214
00:11:17,491 --> 00:11:40,501
I don know like like closed off or impossible to reach or busy 24 seven like people that have built like so much stuff and continue to build so many amazing things So many of them were and are so ready and willing to give up time to like talk to people like me at the time that didn know very much and answer questions and like be super helpful and like i

215
00:11:40,501 --> 00:11:45,601
could field ideas to them and they would give me feedback and that was just like unbelievable i

216
00:11:45,601 --> 00:11:51,401
couldn't i still don't know how some of those people how they can do so much and then also be

217
00:11:51,401 --> 00:11:56,261
so open and and and available and helpful but yeah that's the other part of it it's just

218
00:11:56,261 --> 00:11:58,661
there's this perception from like

219
00:11:58,661 --> 00:12:00,541
GitHub and IRC and stuff that

220
00:12:00,541 --> 00:12:03,001
everyone is like I don't know like in silos

221
00:12:03,001 --> 00:12:04,941
or something like that but once you

222
00:12:04,941 --> 00:12:06,881
like actually try to reach out

223
00:12:06,881 --> 00:12:08,541
like

224
00:12:08,541 --> 00:12:10,801
everyone is super generous with their time

225
00:12:10,801 --> 00:12:12,821
and with their knowledge and stuff like that and

226
00:12:12,821 --> 00:12:14,861
really want to help people

227
00:12:14,861 --> 00:12:16,821
like and I

228
00:12:16,821 --> 00:12:18,901
include myself in this like we really really

229
00:12:18,901 --> 00:12:20,981
want to help bring

230
00:12:20,981 --> 00:12:22,921
up people to be able to work on this because

231
00:12:22,921 --> 00:12:24,601
we need more people

232
00:12:24,601 --> 00:12:26,041
yeah

233
00:12:26,041 --> 00:12:53,941
Totally. Well, I'm so glad that you had such a positive experience. And it's super exciting that Chaincode's doing it again. And so applications close on December 31st. So time for people to get some focus time in before the new year and they can kick off their new year with something super fun and cool and potentially lead to a new career like you. So after that, you moved on and did OpenSats grants.

234
00:12:53,941 --> 00:13:06,141
Yeah, so after I completed the BOSS program, I went on to get a grant from OpenSats for about six months or so.

235
00:13:06,141 --> 00:13:14,141
I had two short-term grants from them, and I worked on some stuff related to IBD in Bitcoin Core.

236
00:13:15,561 --> 00:13:23,781
And then after that, I got hired by local host research, and I came out here to the Bay Area, where I'm now working full-time on Bitcoin Core.

237
00:13:23,941 --> 00:13:28,381
on stuff related to compact block relay.

238
00:13:29,381 --> 00:13:33,721
So how does it feel now to work on Bitcoin full-time?

239
00:13:33,941 --> 00:13:36,701
Yeah, it's crazy.

240
00:13:37,061 --> 00:13:41,201
Like, it's crazy because it's crazy for so many reasons.

241
00:13:41,341 --> 00:13:43,701
I can't believe, honestly, I can't believe,

242
00:13:43,701 --> 00:13:48,481
like, my colleagues are, like, so smart, so talented.

243
00:13:48,761 --> 00:13:52,201
Like, I still, like, kind of pinch myself.

244
00:13:52,201 --> 00:13:56,041
I can't believe that I'm like, like working on this stuff.

245
00:13:56,141 --> 00:14:02,781
And I, and I, and I get to ask like, you know, people that know like so, so much like world

246
00:14:02,781 --> 00:14:03,501
class experts.

247
00:14:03,501 --> 00:14:07,141
And I get to like talk to them and ask them questions and work on stuff with them.

248
00:14:07,521 --> 00:14:12,721
And the problems that we work on are like so interesting.

249
00:14:12,721 --> 00:14:15,941
And like, there's so, so many different kinds of problems.

250
00:14:15,941 --> 00:14:21,341
One of the really, really cool things about, about Bitcoin core is like, it's huge.

251
00:14:21,341 --> 00:14:24,381
and there are so, so many domains

252
00:14:24,381 --> 00:14:26,181
that can be improved.

253
00:14:26,601 --> 00:14:28,121
And like, there's just like

254
00:14:28,121 --> 00:14:30,441
so many rabbit holes to dive down

255
00:14:30,441 --> 00:14:32,201
and things to learn about

256
00:14:32,201 --> 00:14:36,181
and like new problems to try to take on.

257
00:14:36,341 --> 00:14:38,521
So that's my favorite part is that like,

258
00:14:38,921 --> 00:14:41,421
I get to work on like interesting problems

259
00:14:41,421 --> 00:14:44,501
all the time that I do it in an environment

260
00:14:44,501 --> 00:14:46,681
that isn't, that is like, you know,

261
00:14:46,741 --> 00:14:48,381
collaborative and kind of feels like research.

262
00:14:48,381 --> 00:14:51,221
Like we're all focused on like,

263
00:14:51,341 --> 00:14:58,781
yeah, making the best open source Bitcoin implementation that we possibly can.

264
00:14:58,781 --> 00:15:03,521
And that's just like, yeah, it's just like, it's cool.

265
00:15:03,881 --> 00:15:03,981
Yeah.

266
00:15:04,121 --> 00:15:05,921
Yeah, there's so many rabbit holes in Bitcoin.

267
00:15:06,421 --> 00:15:09,981
So, and maybe in layman's terms, as much as possible,

268
00:15:10,281 --> 00:15:14,801
what are you focused on right now and why is it important to Bitcoin?

269
00:15:15,541 --> 00:15:20,841
So right now I am working on an implementation of,

270
00:15:20,841 --> 00:15:22,361
I have to give a shout out to B10C,

271
00:15:22,481 --> 00:15:25,161
whose idea I'm working on implementing

272
00:15:25,161 --> 00:15:27,181
and I'm researching.

273
00:15:27,901 --> 00:15:31,701
What I'm working on is something called Compact Block Relay.

274
00:15:32,161 --> 00:15:35,121
So we've got this protocol in Bitcoin Core

275
00:15:35,121 --> 00:15:37,421
that was designed many years ago

276
00:15:37,421 --> 00:15:39,581
that lets us do block announcements

277
00:15:39,581 --> 00:15:42,301
in a way that's like really, really small

278
00:15:42,301 --> 00:15:44,961
and basically takes advantage of the fact that

279
00:15:44,961 --> 00:15:48,001
we kind of already know that...

280
00:15:48,001 --> 00:15:48,921
Oh, you said layman's terms.

281
00:15:49,241 --> 00:15:49,641
All right.

282
00:15:49,821 --> 00:15:50,381
That's okay.

283
00:15:50,381 --> 00:15:52,301
I'll try to couch myself.

284
00:15:52,581 --> 00:15:55,461
But yeah, we kind of take advantage of the fact that

285
00:15:55,461 --> 00:15:57,561
instead of having to send the full block,

286
00:15:58,001 --> 00:16:01,181
we know that lots of nodes already have most of the data

287
00:16:01,181 --> 00:16:02,841
that's going to be in the next block.

288
00:16:02,961 --> 00:16:05,781
They've already heard about those transactions from the mempool.

289
00:16:07,341 --> 00:16:11,041
And so what I'm working on was something that was kind of originally left

290
00:16:11,041 --> 00:16:14,181
as a blank piece in that original proposal,

291
00:16:14,181 --> 00:16:20,601
which was handling the bits of information that nodes don't have.

292
00:16:21,281 --> 00:16:25,241
Basically, it's like predicting what our peers won't have

293
00:16:25,241 --> 00:16:28,641
and sending it to them ahead of time.

294
00:16:29,621 --> 00:16:31,401
There's a write-up on Delving.

295
00:16:31,761 --> 00:16:33,441
There's a thread on Delving called

296
00:16:33,441 --> 00:16:35,921
Stats on Compact Block Reconstructions.

297
00:16:35,981 --> 00:16:38,661
And if you scroll down there, there's a full detailed write-up,

298
00:16:38,661 --> 00:16:41,681
a lot of information from B10C,

299
00:16:41,681 --> 00:16:44,521
and a lot of writing that I've done about the topic.

300
00:16:45,061 --> 00:16:48,621
And the impact that it has is basically on block propagation times.

301
00:16:48,901 --> 00:16:52,181
So we want blocks to propagate across the network

302
00:16:52,181 --> 00:16:54,661
as quickly as possible.

303
00:16:55,141 --> 00:16:57,421
Like, you know, hopefully blocks are traveling,

304
00:16:57,621 --> 00:17:00,481
relatively speaking, like at the speed of light around the network.

305
00:17:01,061 --> 00:17:06,701
This is super, super important for protecting smaller miners.

306
00:17:07,501 --> 00:17:11,281
For reasons that Antoine has written about on delving,

307
00:17:11,681 --> 00:17:26,752
Also there a post that Antoine made um uh going into some of the math behind this slow block propagation disproportionately harms small miners makes them less competitive than larger miners So one of the centralizing forces

308
00:17:26,752 --> 00:17:28,092
that we want to mitigate

309
00:17:28,092 --> 00:17:28,972
as much as possible

310
00:17:28,972 --> 00:17:31,512
is latency in block propagation

311
00:17:31,512 --> 00:17:35,172
to make mining as fairer as possible.

312
00:17:35,992 --> 00:17:38,012
We want it to be the case

313
00:17:38,012 --> 00:17:38,972
that something like

314
00:17:38,972 --> 00:17:43,132
your expected reward

315
00:17:43,132 --> 00:17:45,672
is equal to your proportion of the hash rate

316
00:17:45,672 --> 00:17:46,232
or something like that,

317
00:17:46,252 --> 00:17:47,332
that those are aligned,

318
00:17:47,412 --> 00:17:48,532
that there aren't other factors

319
00:17:48,532 --> 00:17:51,492
that are making it worse for you

320
00:17:51,492 --> 00:17:52,452
if you're a small miner.

321
00:17:53,212 --> 00:17:54,992
So yeah, that's kind of the topic

322
00:17:54,992 --> 00:17:55,732
that I'm focused on.

323
00:17:55,992 --> 00:17:56,572
That's very cool.

324
00:17:56,772 --> 00:17:59,792
I bet you about a year ago

325
00:17:59,792 --> 00:18:00,372
or whatever,

326
00:18:00,632 --> 00:18:02,392
you're in change when you're an algebra teacher,

327
00:18:02,732 --> 00:18:04,392
you didn't think you'd be speaking.

328
00:18:06,392 --> 00:18:06,832
No.

329
00:18:07,392 --> 00:18:08,492
Okay, I'm so curious.

330
00:18:09,132 --> 00:18:10,252
Just a few more questions.

331
00:18:10,972 --> 00:18:13,092
I feel like people who are like Bitcoin

332
00:18:13,092 --> 00:18:18,712
core developers work on something that's like so niche and like never something i would even know

333
00:18:18,712 --> 00:18:24,492
is something how do you even like find out these problems and like what makes you like interested

334
00:18:24,492 --> 00:18:34,032
to like solve these like specific things i mean i think a like a lot of us are kind of susceptible

335
00:18:34,032 --> 00:18:40,232
like there are some personality traits that are somewhat common i think one of the personality

336
00:18:40,232 --> 00:18:42,292
traits that Bitcoin core developers I've

337
00:18:42,292 --> 00:18:44,252
noticed have and a lot of open source developers have is

338
00:18:44,252 --> 00:18:46,252
kind of susceptibility to being

339
00:18:46,252 --> 00:18:47,892
like nerd snipe so like

340
00:18:47,892 --> 00:18:50,172
we're just like at least in my case like

341
00:18:50,172 --> 00:18:51,872
I'm so vulnerable to like

342
00:18:51,872 --> 00:18:54,272
overhearing and someone

343
00:18:54,272 --> 00:18:55,632
talking about a problem

344
00:18:55,632 --> 00:18:58,052
and then like I can't help myself

345
00:18:58,052 --> 00:18:59,892
but like taking out my

346
00:18:59,892 --> 00:19:02,292
taking out my notebook like starting to write

347
00:19:02,292 --> 00:19:03,952
things down and thinking like oh there

348
00:19:03,952 --> 00:19:06,412
should be a way to solve this or something like that

349
00:19:06,412 --> 00:19:08,552
and then just like being

350
00:19:08,552 --> 00:19:09,892
kind of like

351
00:19:09,892 --> 00:19:14,392
stubborn about like I think that there should be a way to solve this we can do better

352
00:19:14,392 --> 00:19:22,172
we can do whatever so like um I think the the like now I'm at the point where like I'm kind

353
00:19:22,172 --> 00:19:28,572
of saturated on I have like I have like enough problems that are that are that I can kind of

354
00:19:28,572 --> 00:19:33,512
fill the rest of my time of enough interesting problems in my queue but the main way I guess I

355
00:19:33,512 --> 00:19:40,812
find out about things that are like interesting are like delving um there's so much interesting

356
00:19:40,812 --> 00:19:46,992
discussion on delving and people put in so much time to talk uh to write in detail about like

357
00:19:46,992 --> 00:19:54,252
problems solutions etc it's a really really cool like um a space i love delving bitcoin

358
00:19:54,252 --> 00:19:58,992
and um following on the github repo that requires a little more detailed work but

359
00:19:58,992 --> 00:20:01,172
just from paying attention to the repo,

360
00:20:01,432 --> 00:20:02,792
what issues users are opening,

361
00:20:03,372 --> 00:20:05,352
what issues Bitcoin core contributors are opening,

362
00:20:05,892 --> 00:20:07,432
what people are talking about in pull requests.

363
00:20:07,432 --> 00:20:09,552
That takes a little bit longer to get tapped into,

364
00:20:10,312 --> 00:20:15,712
a little bit longer to kind of get tuned into

365
00:20:15,712 --> 00:20:18,272
what the kind of repo is thinking about.

366
00:20:18,832 --> 00:20:20,192
But once you're there,

367
00:20:20,812 --> 00:20:23,692
and if you pay attention to the issues and stuff like that,

368
00:20:23,992 --> 00:20:26,252
a lot of these problems just kind of emerge,

369
00:20:26,392 --> 00:20:27,452
like consistent themes,

370
00:20:27,452 --> 00:20:30,872
like, hmm, like this is really, something is really wrong with this.

371
00:20:30,872 --> 00:20:36,012
And like this and like, oh, like, or like this thing really doesn't get a lot of love.

372
00:20:36,192 --> 00:20:41,992
You know, that that's like, I mean, that was kind of a part of the motivation for me initially

373
00:20:41,992 --> 00:20:47,132
to work on IBD was like, that's as like a 13, 14 year old.

374
00:20:47,212 --> 00:20:50,792
That was like my first experience with Bitcoin was like, okay, like, what is this?

375
00:20:50,852 --> 00:20:55,032
I download the client and then there's this thing that happens, this like IBD thing.

376
00:20:55,032 --> 00:21:01,952
And like, I can't use the Bitcoin for like some 24 hours or something like that.

377
00:21:01,972 --> 00:21:05,472
And I was like wanting this to be faster or something like that.

378
00:21:05,552 --> 00:21:11,312
And when, after doing the boss challenge, I just was like looking around and I saw that

379
00:21:11,312 --> 00:21:13,852
the topic really wasn't getting that much attention.

380
00:21:14,412 --> 00:21:20,112
Now there's a lot of attention on that problem and there's great work from Lawrence and Andrew.

381
00:21:20,392 --> 00:21:22,512
They've been doing a lot of great work to improve IBD.

382
00:21:22,512 --> 00:21:25,352
we've had a lot of great improvements in the recent releases

383
00:21:25,352 --> 00:21:27,072
we're going to have some really cool improvements

384
00:21:27,072 --> 00:21:29,572
the next few releases but yeah it was like

385
00:21:29,572 --> 00:21:31,092
finding stuff that's like

386
00:21:31,092 --> 00:21:33,172
not that's like super critical

387
00:21:33,172 --> 00:21:35,112
super important for a lot of different reasons

388
00:21:35,112 --> 00:21:36,952
IBD is super important

389
00:21:36,952 --> 00:21:39,212
and like

390
00:21:39,212 --> 00:21:41,212
isn't getting enough attention isn't getting enough

391
00:21:41,212 --> 00:21:43,192
love that's like one metric also

392
00:21:43,192 --> 00:21:44,072
that you can use

393
00:21:44,072 --> 00:21:47,232
so what I'm hearing is people

394
00:21:47,232 --> 00:21:48,932
should get into Bitcoin

395
00:21:48,932 --> 00:21:51,072
and sign up for the boss challenge if they

396
00:21:51,072 --> 00:21:52,372
like being nerd sniped

397
00:21:52,512 --> 00:22:00,412
They like going down the rabbit hole of cool, interesting things, solving unique problems, and interacting with really nice, interesting, smart people.

398
00:22:00,592 --> 00:22:00,852
Yes.

399
00:22:01,092 --> 00:22:02,172
That's like a no-brainer.

400
00:22:02,352 --> 00:22:02,632
Yes.

401
00:22:02,772 --> 00:22:03,312
Okay, cool.

402
00:22:03,792 --> 00:22:05,852
Well, we're at time.

403
00:22:06,292 --> 00:22:10,012
If people want to follow your work, where should they go?

404
00:22:12,252 --> 00:22:14,012
My work is all on GitHub.

405
00:22:14,372 --> 00:22:18,512
My username is David Gumberg, G-U-M-B-E-R-G.

406
00:22:19,292 --> 00:22:22,392
I've also done some writing on Delving under the same name.

407
00:22:22,512 --> 00:22:25,352
yeah that's where

408
00:22:25,352 --> 00:22:25,712
I

409
00:22:25,712 --> 00:22:28,572
that's where all my work happens is on

410
00:22:28,572 --> 00:22:30,352
GitHub and I also

411
00:22:30,352 --> 00:22:31,892
strongly encourage people that are interested

412
00:22:31,892 --> 00:22:34,452
in applying for the BOSS program to

413
00:22:34,452 --> 00:22:36,532
do so just like try it

414
00:22:36,532 --> 00:22:38,512
like please please if you're

415
00:22:38,512 --> 00:22:40,292
thinking about it just try it

416
00:22:40,292 --> 00:22:42,592
and I think the URL for that

417
00:22:42,592 --> 00:22:44,612
is bosschallenge.xyz

418
00:22:44,612 --> 00:22:46,512
bosschallenge.xyz

419
00:22:47,292 --> 00:22:48,652
It is amazing

420
00:22:48,652 --> 00:22:50,712
well thank you so much for coming

421
00:22:50,712 --> 00:22:51,852
on the show today

422
00:22:51,852 --> 00:22:53,032
and for coming back

423
00:22:53,032 --> 00:22:53,852
to Presidio Bitcoin

424
00:22:53,852 --> 00:22:55,772
and hopefully we'll get

425
00:22:55,772 --> 00:22:56,992
some new cool people

426
00:22:56,992 --> 00:22:58,752
working in Bitcoin

427
00:22:58,752 --> 00:22:59,532
open source with you.

428
00:22:59,712 --> 00:22:59,952
Yes.

429
00:23:00,152 --> 00:23:00,952
Yeah, that would be awesome.

430
00:23:01,112 --> 00:23:01,612
Thank you so much

431
00:23:01,612 --> 00:23:02,172
for having me

432
00:23:02,172 --> 00:23:02,852
and letting me talk

433
00:23:02,852 --> 00:23:03,692
about the BOSS program.

434
00:23:03,872 --> 00:23:04,252
Of course.

435
00:23:04,432 --> 00:23:04,612
Yeah.

436
00:23:04,792 --> 00:23:05,012
Bye.

437
00:23:05,272 --> 00:23:05,412
Bye.
