David, welcome to the 21 and 21 show.
Thank you for having me.
Of course.
For those of you that don't know David Gumberg, he's a Bitcoin Core contributor at Localhost,
which is a Bitcoin-friendly research center in the Bay Area.
David is relatively new to the Bitcoin FOSS community.
He completed the Chaincode Boss program in 2024,
then received two consecutive OpenSats grants supporting his Bitcoin Core contributions
before joining Localhost full-time in January 2025.
five yeah it's been uh like uh my my life has changed a lot in uh in the past year and a half
or so getting to work on bitcoin core um yeah yeah i totally get that life changes once you
work full-time on bitcoin well yes well that leads me to my first question how did you get
interested in bitcoin in the first place yeah i think the first time i heard about bitcoin was
in either freshman in high school or in middle school.
And I was like on IRC.
I think it was like Freenode at the time.
And I just like went into the list of channels
and I saw which ones had the most people.
And I saw this channel for Bitcoin
was like by far the most popular channel on Freenode.
And I went on the channel
and I'd never heard anything at all about Bitcoin.
And it's just like all these people
talking about this thing that I didn't understand at all.
That was like the first exposure.
And then I started doing some research.
And then later on, I learned about
some of the Chaincode seminar programs
and the Brink Fellowship.
And I started to think that maybe it would be possible
for me to work full-time on open-source software,
on this decentralized money, peer-to-peer thing,
which is like all the boxes for me,
like decentralized, peer-to-peer, open source.
And the fact that I might be able to do that,
that was like really, really exciting.
That's kind of like what drew me towards that.
That is definitely an interesting way to get into Bitcoin.
I have never heard that answer.
You were really thrown into like the deep end
with like niche detailed conversations.
Yeah.
Very cool.
How did you even learn about the Bitcoin boss program
in the first place?
So the boss program I learned about,
I had done,
there's a program Chaincode used to do
called the seminar program.
And I had done that.
And actually, like,
I had tried,
I'd like started and stopped multiple times
at like trying to work on Bitcoin Core.
So I'd like opened one or two PRs
and I like attended some of the review clubs.
I tried a few things here and there,
but I never really could get traction.
And at some point I kind of gave up
and I thought like maybe I'll do something.
I started trying to work on like other paths.
And then I was like, I just like,
and then one day I just like saw just by accident.
I don't even have like a Twitter account.
I just like saw that they'd retweeted
this thing about the boss program.
And I really, really enjoyed the chain code seminar.
So I just signed up for it based on that.
And yeah, that was, that was,
that was how I heard about it was like,
it was really, really just like pure chance.
Like I don't even have a Twitter.
I just was like, I wonder if this person has tweeted recently.
I looked at their Twitter, they'd retweeted it,
and I went and I signed up immediately.
It was like, I knew I wanted to do it.
So cool.
Well, can you maybe tell our listeners a little bit more
about the Chaincode Boss program?
Yeah.
So the Chaincode Boss program is kind of a mixture
of an educational program.
You get to learn more about working on Bitcoin open source software.
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.
And the other aspect of the program is really is like a set of challenges that participants engage in.
And kind of the point of the challenges is to like demonstrate like you're learning as you've gone through the program.
And then for people that perform really well in the challenges that are in the kind of beginning section of the program,
then the next phase of the program
you kind of get resources
from people that have experience
working either in my case
it was Bitcoin Core but like really
like the field is wide open in terms
of like open source software
related to Bitcoin
I know some people went on to work on
BDK some people
from my cohort went on to work
on Warnet which is
like this cool Bitcoin network
tool but yeah
at that point you kind of like
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.
I feel like I can, I feel like I can do this, but I kind of don't know how to apply myself.
For me, that was what I needed was like, I felt like I had the skills.
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.
And it's all virtual.
Yeah.
Yeah, it's all run through a Discord server where you get weekly challenges.
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
Like in the year that I participated in
and last year I helped mentor
some of the existing people.
The people that show up are so nice
and so helpful.
And like for that month or two
or for the three months,
kind of like a nice little community.
Yeah.
And then I guess like
what was your coding experience prior
and what after going through it realistically how much like you know software engineering experience
do you think that someone has to have it really depends so in my case um it was really a wide
spectrum so um there was all kinds of people in the program and honestly i don't think that um
any normal metrics you could have used to like guess like who's going to succeed i they at least
from my perspective wouldn't have worked.
I don't have a computer science degree.
I've never worked.
I've never really worked professionally full-time
developing software of any kind.
So for me, I was just like a hobbyist
from like being a teenager,
just like tinkering with open source software,
teaching myself a little bit as I went.
I knew some C, I knew some Python.
I kind of had just like a hodgepodge
of different little skills,
but none that I had ever really like
applied in a kind of concentrated, full-time way.
So, I mean, that's kind of where I started from.
And then there was also lots of people in the program that had success
that were existing software engineers that just, like,
weren't that interested in the work that they were doing
and wanted to work on open source stuff
or wanted more self-guided work.
Yeah, so I think it's really a wide array of backgrounds.
There's students, there's people like me that I was,
like an algebra teacher when I
when I did the program and I was actually like
I was working full time as
like teaching algebra
like sneaking into
conference rooms and like taking
like taking calls and working on the
assignments so yeah
but like that's not just like
really it's like
I just encourage anyone that
like thinks that they want to
do it to try and
maybe it's not the right time
maybe there's more skills you need but
I like just try like you you you don't lose anything by just trying and seeing.
Yeah.
Algebra, man.
I haven't done algebra in so long.
Do you miss algebra?
I still try to get in some practice on the weekends.
I have a little notebook.
I'll be honest.
I loved I loved I loved algebra and I love teaching algebra.
I also love what I do now.
But yeah, the kids, they didn't, they didn't like algebra as much as I did.
Yeah, that's funny.
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.
It depends on who you are and exactly what your situation is.
I, what, I mean, I don't, like what I did was like, it was really hard.
Like it was really hard.
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.
I had a lot to learn.
And I was like trying to work a job and I was trying to do the program.
It was like, it was like a lot of hours because I wasn't just doing the challenges.
I was catching up on things that I didn't know how to do while I was going.
So I just like, it's, it's hard to say, like, for me, I made it work.
there are other people that made it work
but there were definitely people in the program
like smart capable people
who just couldn't balance
taking on the program
while also working full time somewhere else
but it just
like it's one of those things
you just have to try and see if it
see if it works for you
but in my case yeah I was able to
and there was other examples of people that were
working and also doing the program
that's awesome well good for you
for balancing all that
that's a lot um okay one last question about boss program what was like your biggest surprise
from doing it well at least unexpected most unexpected thing you either learned or someone
you met honestly i would like not to keep focusing i feel like i keep focusing on myself
but but i guess for me the like the the most unexpected part i guess was that i was that i
was able to do it engineers or people interested in software tend to have kind of like imposter
syndrome type like array of things and not having a computer science degree not having work
professionally i had kind of like some preconceived notions of like what how far like what i could do
or how capable i was so like the fact that i was able to do it at all was like like i i honestly
couldn't i couldn't believe that i was like succeeding at the challenges when i was doing
them that like i was just like putting in time learning things applying it and then like i would
succeed in the challenges and i was just like what like i don't know that was that was part of it but
the other thing that i would say is like how nice and available so many of the people that are
working on like bitcoin open source stuff are like so many people that like i imagined are like
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
could field ideas to them and they would give me feedback and that was just like unbelievable i
couldn't i still don't know how some of those people how they can do so much and then also be
so open and and and available and helpful but yeah that's the other part of it it's just
there's this perception from like
GitHub and IRC and stuff that
everyone is like I don't know like in silos
or something like that but once you
like actually try to reach out
like
everyone is super generous with their time
and with their knowledge and stuff like that and
really want to help people
like and I
include myself in this like we really really
want to help bring
up people to be able to work on this because
we need more people
yeah
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.
Yeah, so after I completed the BOSS program, I went on to get a grant from OpenSats for about six months or so.
I had two short-term grants from them, and I worked on some stuff related to IBD in Bitcoin Core.
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.
on stuff related to compact block relay.
So how does it feel now to work on Bitcoin full-time?
Yeah, it's crazy.
Like, it's crazy because it's crazy for so many reasons.
I can't believe, honestly, I can't believe,
like, my colleagues are, like, so smart, so talented.
Like, I still, like, kind of pinch myself.
I can't believe that I'm like, like working on this stuff.
And I, and I, and I get to ask like, you know, people that know like so, so much like world
class experts.
And I get to like talk to them and ask them questions and work on stuff with them.
And the problems that we work on are like so interesting.
And like, there's so, so many different kinds of problems.
One of the really, really cool things about, about Bitcoin core is like, it's huge.
and there are so, so many domains
that can be improved.
And like, there's just like
so many rabbit holes to dive down
and things to learn about
and like new problems to try to take on.
So that's my favorite part is that like,
I get to work on like interesting problems
all the time that I do it in an environment
that isn't, that is like, you know,
collaborative and kind of feels like research.
Like we're all focused on like,
yeah, making the best open source Bitcoin implementation that we possibly can.
And that's just like, yeah, it's just like, it's cool.
Yeah.
Yeah, there's so many rabbit holes in Bitcoin.
So, and maybe in layman's terms, as much as possible,
what are you focused on right now and why is it important to Bitcoin?
So right now I am working on an implementation of,
I have to give a shout out to B10C,
whose idea I'm working on implementing
and I'm researching.
What I'm working on is something called Compact Block Relay.
So we've got this protocol in Bitcoin Core
that was designed many years ago
that lets us do block announcements
in a way that's like really, really small
and basically takes advantage of the fact that
we kind of already know that...
Oh, you said layman's terms.
All right.
That's okay.
I'll try to couch myself.
But yeah, we kind of take advantage of the fact that
instead of having to send the full block,
we know that lots of nodes already have most of the data
that's going to be in the next block.
They've already heard about those transactions from the mempool.
And so what I'm working on was something that was kind of originally left
as a blank piece in that original proposal,
which was handling the bits of information that nodes don't have.
Basically, it's like predicting what our peers won't have
and sending it to them ahead of time.
There's a write-up on Delving.
There's a thread on Delving called
Stats on Compact Block Reconstructions.
And if you scroll down there, there's a full detailed write-up,
a lot of information from B10C,
and a lot of writing that I've done about the topic.
And the impact that it has is basically on block propagation times.
So we want blocks to propagate across the network
as quickly as possible.
Like, you know, hopefully blocks are traveling,
relatively speaking, like at the speed of light around the network.
This is super, super important for protecting smaller miners.
For reasons that Antoine has written about on delving,
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
that we want to mitigate
as much as possible
is latency in block propagation
to make mining as fairer as possible.
We want it to be the case
that something like
your expected reward
is equal to your proportion of the hash rate
or something like that,
that those are aligned,
that there aren't other factors
that are making it worse for you
if you're a small miner.
So yeah, that's kind of the topic
that I'm focused on.
That's very cool.
I bet you about a year ago
or whatever,
you're in change when you're an algebra teacher,
you didn't think you'd be speaking.
No.
Okay, I'm so curious.
Just a few more questions.
I feel like people who are like Bitcoin
core developers work on something that's like so niche and like never something i would even know
is something how do you even like find out these problems and like what makes you like interested
to like solve these like specific things i mean i think a like a lot of us are kind of susceptible
like there are some personality traits that are somewhat common i think one of the personality
traits that Bitcoin core developers I've
noticed have and a lot of open source developers have is
kind of susceptibility to being
like nerd snipe so like
we're just like at least in my case like
I'm so vulnerable to like
overhearing and someone
talking about a problem
and then like I can't help myself
but like taking out my
taking out my notebook like starting to write
things down and thinking like oh there
should be a way to solve this or something like that
and then just like being
kind of like
stubborn about like I think that there should be a way to solve this we can do better
we can do whatever so like um I think the the like now I'm at the point where like I'm kind
of saturated on I have like I have like enough problems that are that are that I can kind of
fill the rest of my time of enough interesting problems in my queue but the main way I guess I
find out about things that are like interesting are like delving um there's so much interesting
discussion on delving and people put in so much time to talk uh to write in detail about like
problems solutions etc it's a really really cool like um a space i love delving bitcoin
and um following on the github repo that requires a little more detailed work but
just from paying attention to the repo,
what issues users are opening,
what issues Bitcoin core contributors are opening,
what people are talking about in pull requests.
That takes a little bit longer to get tapped into,
a little bit longer to kind of get tuned into
what the kind of repo is thinking about.
But once you're there,
and if you pay attention to the issues and stuff like that,
a lot of these problems just kind of emerge,
like consistent themes,
like, hmm, like this is really, something is really wrong with this.
And like this and like, oh, like, or like this thing really doesn't get a lot of love.
You know, that that's like, I mean, that was kind of a part of the motivation for me initially
to work on IBD was like, that's as like a 13, 14 year old.
That was like my first experience with Bitcoin was like, okay, like, what is this?
I download the client and then there's this thing that happens, this like IBD thing.
And like, I can't use the Bitcoin for like some 24 hours or something like that.
And I was like wanting this to be faster or something like that.
And when, after doing the boss challenge, I just was like looking around and I saw that
the topic really wasn't getting that much attention.
Now there's a lot of attention on that problem and there's great work from Lawrence and Andrew.
They've been doing a lot of great work to improve IBD.
we've had a lot of great improvements in the recent releases
we're going to have some really cool improvements
the next few releases but yeah it was like
finding stuff that's like
not that's like super critical
super important for a lot of different reasons
IBD is super important
and like
isn't getting enough attention isn't getting enough
love that's like one metric also
that you can use
so what I'm hearing is people
should get into Bitcoin
and sign up for the boss challenge if they
like being nerd sniped
They like going down the rabbit hole of cool, interesting things, solving unique problems, and interacting with really nice, interesting, smart people.
Yes.
That's like a no-brainer.
Yes.
Okay, cool.
Well, we're at time.
If people want to follow your work, where should they go?
My work is all on GitHub.
My username is David Gumberg, G-U-M-B-E-R-G.
I've also done some writing on Delving under the same name.
yeah that's where
I
that's where all my work happens is on
GitHub and I also
strongly encourage people that are interested
in applying for the BOSS program to
do so just like try it
like please please if you're
thinking about it just try it
and I think the URL for that
is bosschallenge.xyz
bosschallenge.xyz
It is amazing
well thank you so much for coming
on the show today
and for coming back
to Presidio Bitcoin
and hopefully we'll get
some new cool people
working in Bitcoin
open source with you.
Yes.
Yeah, that would be awesome.
Thank you so much
for having me
and letting me talk
about the BOSS program.
Of course.
Yeah.
Bye.