TFTC: A Bitcoin Podcast - Tales from the Crypt #64: Carl Dong
Episode Date: March 19, 2019Join Marty as he sits down with Carl Dong, Bitcoin Core contributor currently working at Chaincode Labs, to discuss responsible disclosures, making Bitcoin Core more modular, Guix containers, Dyson sp...heres and much more! Follow Carl on Twitter: https://twitter.com/carl_dong Follow Marty on Twitter: https://twitter.com/MartyBent Check out Carl's PR: https://github.com/bitcoin/bitcoin/pull/15277
Transcript
Discussion (0)
what is up freaks welcome back to tales from the crypt we're on to recording number two on this
beautiful wednesday afternoon in march middle of march approaching march madness uh sitting down
for the second time today with a very uh exciting guest i'm excited to speak to him at least hi uh
Well, you just heard him. I want to introduce you freaks to Carl Don. Carl, welcome to the podcast.
Hey, thank you.
Yeah, well, thanks for coming. For you freaks who don't know, Carl is working at Chaincode Labs right now.
I was first introduced to you, I think, last month at the BitDevs meetup when...
Yep, I did the presentation and everything, yeah.
Yeah, it was a dope presentation. We'll get into that later.
Thank you.
Let's dive into your story. It seems like you have an interesting one. How the hell did you find Bitcoin?
What is your tale? How did you end up here working on Ross Bitcoin?
Oh, boy. I, well, like, I first heard about it when one of my high school teachers told me about it, because he was, like, our, you know, science research program head, and he was, like, hey, like, you know, there's this thing that's really cool.
um and so because i was living in a dorm um back then i and i and i really liked building computers
i built a bunch of computers because i didn't want to study for my exams and mined dogecoin
so that tells you yeah yeah not the first dogecoin miner on this podcast no no yeah well dogecoin was
very profitable for a while i mean like i i did the thing where i think you can mine dogecoin and
sell it immediately for bitcoin so like those were there were polls that did that but yeah i i i was
not profitable to say that it was just me messing around with stuff and you know um yeah so that was
really cool um i i think i've you know forgot about it for a little bit uh and then when i was
like looking into like what work i can do uh during college um you know i assembled upon you
know 21 and i went work for 21 and that was a good experience i met a bunch of people there i met
michael goldstein who's really cool uh and he sort of and and back then i mean like i didn't know
anything about anything so i was like oh have you have you checked out you know all these other
coins and like the way they do stuff and like you know their marketing propaganda did he turn to you
look you in the eyes and say carl everyone's a scammer exactly yeah exactly yes that was that
was basically the message that I was given. But yeah, anyways, it prompted me to look
deeper into all these things. I was becoming more well-versed with computer science, so
I was able to look at their code base, and then I was more well-versed with Unix systems
and whatever, and I would look at how this would work in that kind of sense. And then
senior year of college
went to Blockstream and worked
and that was like a great experience that
you know I just you know
because everybody who's the best were
there so
most people that were the best
that worked there
and I was able to learn from them they were
really patient and explained to me how everything
worked and then
you know now
I'm at Chaincode working on
cool shit. Yeah so it seems
like bitcoin from a technical aspect is what drew you in is there anything like philosophically
like economically or uh sort of freedom liberty driven that brought you to bitcoin or is it more
like working on this distributed system in particular uh okay uh well i'm a chinese citizen
so this is a public podcast so we'll leave it at that okay all right yeah that's all you have to
say um let's go back to 21 was it like i was telling you i got my 21 computer upstairs i would
like to bring it down and show you yeah i i mean i i bought one of those as well before i you know
even started there and and i was i don't know i would you know i was a little bit confused as to
you know what what they were doing but you know as i got there it seemed like they were transitioning
off it and you know I think what we built and I think Balaji showed it in consensus 2016 or
something I thought that was pretty cool so there's like when you make an HTTP request to a
website right like it'll give you back a status code right and when you when you excuse me and
that status code tells you if it's successful or it fails or whatever right but one of those status
codes were payment required.
So nobody implemented that, because there was no way to do
it programmatically yet.
But we basically implemented a command line tool that was
able to charge people for an endpoint that will say, hey,
payment required, and then you do the back and forth.
And I've given this error request
a misnomer in the past.
is it 402 or 403 the error that comes up or 405 isn't like so you have 404 yeah yeah yeah 404 is
not like not found i think i i i seriously don't remember yeah i seriously don't remember but
anyways um yeah we we were we were we were doing that and i thought it was a really cool thing that
we were doing um yeah yeah that was uh i thought it was really cool at the time too yeah it's
interesting to see so i guess this is an interesting topic we can get jumped into
considering that experience in particular uh because that i remember being like oh my god
i'm gonna get my home miner i'm gonna like be part of the machine payable web i'm gonna learn
how to like use bitcoin in the command line and a lot of hard lessons learned uh oh for sure wasn't
the most profitable miner i don't think it was probably no no no no no no no but uh for sure
What were some of the lessons you learned there in particular?
Well, I wasn't really involved with the, you know, 21, like, little computer part,
right?
But by the time I got there, we were working on machine payable web, and that was mostly
like, hey, let's use containers on normal computers, like, you know, Macs and Lennoxes
and whatever to do all of those things, right?
And I think one of the things that I learned there is that, and perhaps they did not continue
with this philosophy afterwards, is that you don't need a different coin to do things that
are very smart.
Sometimes if you want a certain type of functionality and it's going to come from something centralized
anyways, or if you have a service discovery mechanism, then you can just implement it
through HTTP and just any odd coin, right?
Like, you separate the function of, like,
what's going to be running a certain piece of software
versus, like, the payment of it, right?
And so I really like that philosophy.
It didn't complicate things,
and it seems to mesh well with, you know,
the Unix philosophy of, like, you know,
make small tools that do things well
and, you know, put them together.
Yeah.
That's one thing that fascinates me about Bitcoin development in particular, especially after the first conversation I ever had with a guest on this podcast was with Pierre Rochard.
He explained the Unix philosophy to me.
And I think after becoming more abreast to that philosophy and sort of the history of Unix build out and Linux eventually, it just seems like Bitcoin may be the only project displaying these types of attributes from a developer standpoint.
Right. Yeah. I mean, I don't know if Pierre told you the story and I might tell it badly, but it's an illustrative story.
I don't think he did. Let's jump into it.
So one of the most illustrative stories of this Unix philosophy is when I think two programmers
were, God, I can't remember their names, and I feel so bad for this.
Oh, it's the guy who wrote the algorithm books, Donald Knuth, I think, and another Unix programmer,
but this was way back in the days.
They were given this challenge that was like, okay, given this text file, sort it, add these
columns together and do basically spreadsheet-like things.
Back then, you didn't have Excel, so it was hard to do.
What Donald Knuth did was he wrote this entire what he calls literate programming language
and like implemented it and was like it was like oh this is so beautiful because it's like
in my own literal programming language it's so readable and whatever right and like i think you
know the unix program was just like he just like gave us one liner that combined like five commands
and it was like what like 80 characters and was like done we did not need that no we yeah exactly
we did not need all that you know we can we can we can we can piece things together to make
extremely complex um interactions yeah yeah and that's so i guess let's jump into the philosophy
behind bitcoin core and developing on top of bitcoin i guess uh because i mean that's the the
big uh it's not really a big debate but it's a big uh sort of divide uh with bitcoin and other
projects other projects would think that fast iteration and fast experimentation is worthwhile
where bitcoin it's like all right it's working let's just tighten it up and and tighten the
rules as much as possible to make it as efficient as possible at least from an outsider's perspective
looking at a non-developer's perspective looking and that's what it seems like and
how would you describe this sort of philosophy of approaching bitcoin and working on bitcoin
in particular um so i mean i don't want to speak for everybody else in the bitcoin community so
this is my view of it right um you know i like to deal with um you know most of the things that i
did um you know before i learned computer science was basically messing with linux systems right
and from all of that i have learned how you know fragile security is right like you can have
perfectly fine code bases you can have the most secure code base or whatever you know that's like
completely proven or and whatever and if you know something in the hardware fails or something lower
in the stack fails um you don't have protections against that right so i i i think that if if
people want to be realistic about i mean right it's sort of like people have to be realistic
about what their coin is about right if your coin is about making money really fast then go ahead
and do that right but if your coin is actually trying to be something that you know lasts that
is going to be maybe part of human history who knows you know um then you have to be extremely
conservative about these things because you know people lose trust very easily and uh and you know
you've got all these bugs already at a layer below your code base you know you've got to make sure
that your thing is okay um and and and we try to fix the the lower level bucks as well as you know
i presented it on last time which is the um you know our build system stuff making reproducible
and bootstrappable builds yeah so let's jump right into that so a few freaks who weren't at
bit devs last month was last month's bit devs right yeah i think so um carl gave a great presentation
uh and based on your pull requests that you have out there right now enable building in
GUX containers for Bitcoin.
Basically, the concept is that a lot of sort of like you're describing repositories sort
of at the root of a lot of operating systems are very intertwined and sometimes come with
bad code and bugs that can, if your hardware gets compromised, people can get access to
kernel and basically wreck your machine and it's trying to sort of isolate and uh sort of separate
these containers so that you know that they're yeah separate and clean i i think like it's it's
better explained if i explain the history right so um so the the um the history of all of this
is um i think uh bitcoin got reproducible builds through this tool called gideon in 0.4 i believe
um and you know gideon was i i i think revolutionary for a sign because you know it
it enabled um the conversion of you know source code code that we can read to you know binary
outputs right you know the code that you know your machine reads right you obviously can't open
an app in a text file in a text editor or whatever right um it enabled that conversion the the
compilation and the build tool chain to be deterministic in that you know given the same
code it will output the same output and you know um and and so uh what that enabled is for us to
detect when somebody is not giving you um the the binary output that you think they are right so for
example you know if you ask a friend like hey did you you know do you have a bitcoin binary like
they give you a binary right you can verify that it actually came from the source code that's on
the repo or from a version that you trust instead of they just modified it to upload your private
key right so um i think that was you know that was the first iteration of it but um the the process
relied on ubuntu as in like it was done in an ubuntu virtual machine and the first thing that
it does is it spins up a ubuntu virtual machine and then it downloads all these trusted binary
packages right so it downloads like gcc gcc is like the compiler that people use to compile their
c c++ and code other languages as well sometimes um and those are just binaries that we trust the
you know ubuntu developers to to be like hey you know i sign off on this or whatever right um
and you know for to me that seemed a little fragile um because we're reproducible but we
can also be reproducibly malicious in that um you know the ubuntu developer could be like oh i just
i want i want everybody's bitcoins i'm gonna sign off on this version of gcc where if it sees that
i'm compiling the bitcoin code base i'm gonna insert you know the the the password ceiling
whatever in it right um so you know maybe i'm i i i'm too paranoid about these stuff but to me
but but to me that that that didn't seem like a good thing and also the the whole the build process
This was extremely complicated, and at the time when I was running it, it only worked
on a very limited variety of Linux distributions, which means there's less diversity.
So anyways, so I went about trying to solve this, and the way that you solve this is to
basically boil down, sorry,
sort of make the number of trusted binaries smaller, right?
And the way you have to do that is,
okay, let's say that we have like, you know,
these like 100 build dependencies
that are trusted binaries,
we have to have some sort of way to have maybe,
let's say 10 trusted binaries and record the route
of how we get from these 10 to these 100, right?
And this is sort of a problem that hasn't really been looked at
because every time somebody compiles a compiler,
they're just using the last version of the compiler.
They're not thinking about how do we go from nothing to it.
They're like, my computer already has a compiler.
How do I do that, right?
This is actually a problem in Rust,
but Geeks is a great way to solve it.
So Geeks is what we call a functional package manager.
Yeah, G-U-I-X for you.
Yes, G-U-I-X, but it's pronounced geeks.
It was very confusing for me as well.
But what it is is that every package, and this is the important part,
every package is a pure function of its build time dependencies
and run time dependencies, right?
So that means that nothing else basically affects it, right?
So what you're able to do is you're able to look at these, let's say, 100 trusted binaries that you need, like you need GCC, binutils, FD, whatever, right?
And you can trace it all the way back to maybe 10 trusted binaries, maybe even less, right?
And they have ongoing efforts to make the list of trusted binaries less and less.
and they were basically the first ones
who released a solution to bootstrap Rust
because Rust has had such a long chain.
Rust C, the compiler, has such a long chain of being built
that it was hard to do.
But they did it,
and so we now have somewhat bootstrappable builds
if we do it with these Geeks containers,
and I think that will improve security a lot.
But also, it doesn't care about what distro you're running.
It basically runs on every single Linux distribution.
Yeah.
You know, it was funny during your presentation,
you had a chart that sort of graphically showed
all the bootloaders and everything that becomes connected
and how interconnected it becomes
and how easy it is to become completely interconnected
with a bunch of other systems that can leave you vulnerable,
which is crazy to see in like chart form exactly yeah yeah exactly yeah i i like visual aids
i i i i i'm not a big fan of readings and i like visual aids so i was like oh maybe i'll put that
up as this like but yeah it was very helpful yeah yeah yeah yeah no but this is how this is uh
we'll get to your talk over the weekend mit eventually but you brought it up during this
talk but it also highlights the problem that you're trying to solve with the geeks containers
is that all of our operating systems
are probably rooted at some level
and maybe Bitcoin is the first instance
to create a monetary incentive
to exploit these problems.
Up to this point,
we've had data dumps with Equifax, Target,
you name it.
Any type of entity industry has been hacked.
People don't seem to care.
But now that Bitcoin,
a digital native digital money,
is online,
maybe these things will be exploited
more and more is this a good thing a bad thing oh i i i think that's definitely a good thing i think
you know if we ignore problems they become i mean this is you know you you you know everyday life
right like if you ignore problems they're gonna get worse and worse until one day you can't even
deal with it anymore right um and and i think like uh you know one of my colleagues um matt
had this um matt carella had this quote i think um of like you know maybe maybe the current
generation don't care about security or is not too sensitive to it i think like future generations
will be um one of the trends that i realized is that um i well i watch a lot of youtube
and you'll see that like these youtube channels they're all advertising you know vpn solutions
Most of them are advertising VPN solutions.
And it struck me that, like, and it's been happening for months, right?
So it struck me that, like, it must be very profitable,
as in people are listening to that and actually buying it,
and people care about security.
Now, whether or not VPN solutions are actually secure for you,
because instead of giving it to your ISP,
you're giving information to, like, the company.
Another third party, yeah.
Yeah, yeah, exactly.
I mean, like, I personally think, like,
MoVat is the only one that, like, is actually secure
because, like, it doesn't even record your name.
But anyways, but yeah, I think future generations
will be more aware of this than us
because they grew up in a world
where these hacks are happening, you know, every other month.
Yeah.
So I guess what's your biggest fear
when it comes to these exploits in relation to bitcoin like what's the worst case scenario that
could happen right now at this point in time let's fear monger a little bit um i don't
i mean i i i think yeah i don't i don't really have a good answer to that but i i think like
more the attack is on a social level basically right you know people people people use the excuse
of you know bitcoin is being used for illegal drugs or you know bitcoin exchanges get hacked
which have nothing to do with like the actual bitcoin protocol itself it's it's and and again
right these are these are problems not of the bitcoin software the software is running completely
fine it's it's how they deploy the software and how they manage their unix and linux systems that
um that that lead to these the problem sorry that's the problem yes yeah yeah yeah yeah yeah
exactly um yeah like like system administration and and and and secops is is an extremely hard
problem to solve and and we've we've sort of made systems that are very easy to use but are also
overly complex yeah yeah um no but it's fascinating so you think bitcoin is more vulnerable in the
social layer than the technical layer that's uh uh yeah it's yeah i think so because it's just
easier right it's just easier to do social attacks right like like the the thing that i'm talking
about of like you know when a i mean i guess it blurs the line between a social attack and a
technical attack like when a ubuntu developer um you know inserts a bug in gcc or whatever right
that somebody might blackmail him to do that right like there are things like that uh that you can do
um i i think that like for to look at like consensus critical bugs and whatever you need
a very keen eye right you need to understand the entire code base and whatever and they're they're
much easier way to go about doing this and if somebody really wants to destroy bitcoin
they're going to go the easy way first before yeah that's a good point so like finding a bug
like the cve bug from september the inflation and yeah it was two parts was inflation and
ddos bug right um how like how well do you need to know the code base to sort of even identify
that like at that point because wasn't it found by like it was found by like a bitcoin cash member
right or right right right right um i'm um i don't i don't i haven't really looked into that
bug that much um but i would say that you it's a much higher bar than social attacks right like
you need to know computer science you need to know um how attacks usually work and how you know
one might appear in a repository because you know the you know the bitcoin repository is
it's quite big and you have to go dig through it and and see how everything's structured and
everything right so yeah no it's fascinating because a lot of the when you're trying to
explain this stuff to normies a lot of the uh the first rebuttal is oh could get hacked one day like
what happens like the code just doesn't work and it's like a hard question to answer it's like yeah
well obviously it would suck if the code didn't work but like what are the chances of the code
not working one day right i i think well i i think it's well maybe this answer isn't very useful now
but i think one day what we'll need is some kind of you know formal verification of uh the mechanisms
or or something like that um but you know i it's it's not reasonable to do it now i don't think so
no no because too early in the game yeah yeah exactly it's too early in the game how early in
the game are we do you think we're 10 years in what like how much more do we have to get done
uh to the point where this is close to ossification what are we going to ossify carl
um if ever i
when's 18.0 coming out that's another question or excuse me right 18.0 is testing right now i
want to say 1.0 one's version one one version one coming out yeah well that you'll have to ask you
know vladimir about um but i you know i i i have no timeline for this kind of thing i i or can you
put one on it really could you i really don't know i think we're we're super early in the game i
think we've still got a lot to explore i think like cryptography has never been as sexy as it
is today it's very sexy it's very sexy right now right um shout out to uh the schnorr patent uh
officially being over with this week exactly exactly yeah exactly uh thank god who would
have known that 10 years ago right there there's all sorts of cool things that we can explore and
you know cryptography i think is is it's sort of relatively young and we have you know we have all
sorts of strange math and and you know some of these math it's like it it you just have to it
sort of just pops into people's heads right like so you know we we definitely got a long way to go
so i i would say we're very very early yeah it's a long long timeline of things so one uh one step
on the road on that long journey that we were talking about before the podcast is uh russell
yanovsky's work to separate the uh the wallet gui from the node oh yeah in bitcoin oh yeah
so can you explain sort of uh yeah what russ is trying to do and how it helps right um
so let's see it russ's work is more to do with the maturation of the bitcoin code base
right uh and and i was i was mostly talking about you know cryptography stuff which is like
doesn't have that much to do with you know the the code base structure um and i you know i i think
it's one of the most important you know pr series of prs and work out there um because it
bitcoin basically as of now is a is is is a is a blob of things that are very much intertwined and
entangled with each other as a code base right and we want to be able to make it more modular
right and so what what russ did was he he set up this directory called interfaces and um russ if i
I'm explaining this poorly.
Please forgive me.
But he made...
Russ is a longtime listener to this podcast,
so he's definitely going to hear it.
Oh, gosh.
I'm kidding.
I have no idea.
Okay.
All right.
He basically defined these interfaces
for the wallet and the GUI to talk to.
That isn't sort of the main code itself, right?
And I think that's extremely important
in that you know uh one of one of his largest prs is called multi-process bitcoin as in we can spin
up a bitcoin node and then spin up a wallet process and then spin up a qt process and kill
them and and do whatever do the the thing that unix was designed to do right you know do one
thing and do it well and and and do that with a bitcoin node and i think that is extremely
compelling and also it's it's compelling to me in also the sense of uh the governance of the code
base as in you know perhaps the the gui um can be governed in a different way from you know the
wallet can be different governed in a different way from you know the core node software they
certainly have different levels of you know severity in terms of you know security and
and whatever.
And also, you can have people who focus on this module
and don't have to worry about other modules.
Interacting with the other ones.
Yeah, it seems to make perfect sense.
Separate and just let people innovate with me,
because it's really holding back people from working
on specific functions, correct?
Right, exactly.
If you have well-defined interfaces
and they're actually separated out,
then you can more or less plug and play, is what I would say.
So shout out to Russ Shunoski working on that.
Another Chaincode legend.
Yeah, legend.
What's it like in that Chaincode office?
Oh, my gosh.
It's a, I don't know.
I walk in and I'm really intimidated by just a group of legends who are in the room, right?
and like everybody everybody's like really really experienced in the bitcoin core code base and i've
sort of been doing build stuff and a little bit of bitcoin core work but like you know i i you know
i i try to ask them for help i try to learn from them i try to you know because because they're
just way more experienced than i am and and it's really interesting because you know you get to
hear them talk about stuff and you know you think to yourself probably only you know a dozen or so
people in the world you know has the context to be like spewing out like proper pronouns like they
are and okay well i'll listen and i'll try to learn right now what's it like working with the
nicest man in the world joan newberry oh my gosh it's it's it's such a pleasure it is it is actually
he's he's i am so impressed by like the amount of things he can accomplish and like how hard he
hustles right because like he also works on bitcoin optech which i'm helping out with but
like i also see him he'll just be like oh yeah uh you know just like do a one-day review of like
rust like russ's prs like leave a bunch of notes and like oh my gosh i this man this man is crazy
consumer professional a true gentleman john yes we're due some for some old fashions and
getting cosmic soon just note if you're listening um i guess another time well we're on chain code
like so this is like a a very hot topic and bitcoin and cryptocurrencies in general is uh
developer incentives and so yeah how important are like chain codes the block streams of the world
to uh allowing you to do what you do best okay yeah i mean obviously you're biased you work for
chain code but as uh i think these these these institutions are really important in the world
that we are in now um like especially like for me you know i'm not a u.s citizen i need like visa
sponsorships like I have to like work for a company or something like that right um but I can
I can foresee I can foresee a world where you know people can crowdfund these things I think
one of the great things that you know Patreon is of course controversial but I think one of the
great things that Patreon has has done is like it funds people in sort of a peer-to-peer
Peer-to-peer way one of the most incredible things that I found out about patreon is there's this
You know gamers like to spend their money on games right and then perhaps this is a very telling
There's a emulator for the Wii U
I know I'm sorry um I like to play smash and you know the Wii U is who doesn't yeah exactly right
We you would you know smash floor was you know?
I you know I I'm a scrub because I don't play melee or project M or whatever
um but get out we actually don't like scrubs in the studio so this interview's over yeah yeah i
um anyways there was this wii u emulator called uh cmoos c-e-m-u and on patreon
i believe one time i checked they were getting 20k a month to work on this wii u emulator
and i was like that's a full-time job and some and a little more you know like 20k a month is
a lot right exactly um and i'm i'm very i'm very encouraged by that um and i think that you know
very soon people will make alternatives to that that perhaps can operate in the bitcoin world
perhaps can operate in a world where the company is you know not liable for you know what whatever
the the person does um you know you know what yeah exactly what the what the creator is doing
um and yeah so i i think that's going to be very interesting um what we do see is that it is much
more it's still centralized now because just nobody has built the tools right one of the
interesting things was hardcore fund have you have you heard of okay so like
hardcore fund is this this fund started by this interesting gentleman in China
Kevin he actually runs like the Lightning Network like WeChat group that
people are in it's like crazy number of people who are in it and he started this
fund to to to be able to give money to people who contribute to bitcoin core which is very
interesting and and and he did it uh and i think like at like on the first day there were like
three or four donors so i was like okay this is not going to take off and then like within a week
there was about like 50 bitcoins of donations holy shit yeah i was like this is a salary exactly
that's exactly that's that's a salary that's like legitimately um something that you can live off of
and i i think we've got uh i think i think uh luke and ben are are are two two of the you've got to
apply for for them to to donate to you um but like you know it's gonna it's going to be somewhat
centralized until somebody builds the tools to do that right what do you think about projects
like zcash and decred maybe that have like uh developer funds built in you think that that's
i don't think it needs to be built in i i agree i don't i
right i i think as as people who believe in digital currencies uh we can be very be be
be enticed by the concept of having things encoded in protocol and this utopia where
technology is governs and whatever right um but that's not how it's going to happen right if you
if you think of it as you know a product that you want people to adopt then you gotta do it in like
the way that is most similar to the way they currently do it now uh and then maybe slowly
slowly transition them into into you know what you think is going to be the future yeah yeah
that's for so i completely i think i mean bitcoin has proven up to this point they don't need a
developer fund like in the protocol um it's masked the smartest some of the smartest minds in the
world and kept their attention for at least a lot of their attention for uh a lot of years
and that's like once you have these in my opinion once you have these developer funds built into
your protocol which then uh dictates that you build in like sort of a social layer via governance
to divvy up how that fun works like yeah there will always be ways to game the system exactly
right exactly it will always be exploited no matter how hard you you market that it's not
exploitable it is a system yeah that will be exploited by somebody and then you can sort of
think of this as like the enforcement of the contract of people contributing to developers
are off chain if it's just people to people right because like i make the calculations that i think
this developer is what and what and i think their potential is what and i donate to them instead of
like the system deciding it for you and it being you know quote unquote on chain that's what chain
code did with you they said carl's pretty fucking dope we want to come have a work on rust light or
excuse me rust bitcoin uh yeah yeah the the i gotta admit the imposter syndrome is is very real
well uh you're talking to somebody who has imposter syndrome every time they sit down
to interview somebody so it's uh the feeling it's i know what it's like uh yeah oh boy um
that's fun that's fun riffing on chain code i guess let's jump into your panel talk over the
weekend at mit i was in my boxers watching it uh it was good it was sunday morning or saturday
morning i forget um it was you cory fields who was the other gentleman you're a british guy
He was a student at MIT, wasn't he?
Yes, he was a student at MIT, and I think he works on Vertcoin.
Unfortunately, I forgot his name.
And the moderator, what was her name?
She was a?
Sharon Goldberg, yes.
Sharon Goldberg.
Works at Arwen with Ethan, I think.
I think.
And so the topic of conversation was responsible disclosures
and how they differ between sort of centralized systems
and open source systems and sort of the intricacies
and the nuance that come with disclosure
and distributed open source systems
and free and open source software projects.
So I guess let's just dive into what is a disclosure
and then how does it differ from a centralized company?
The example that the moderator used was Airbnb
and then Bitcoin, I guess we could jump in there.
Yeah, yeah.
Well, I want to say up front that I'm not really involved
for the security disclosure thing
with Bitcoin Core and everything.
I think, you know, I haven't gotten there.
But, yeah, you know,
disclosure is basically, you know,
if somebody finds a bug,
they want to inform the developers somehow.
And, you know, we've seen it done in bad ways
where, you know, maybe somebody just announces to the world,
you know, I found this bug, right?
And perhaps people lose a lot of money or do whatever.
There was a big kerfuffle breaking Bitcoin a couple of years ago.
Yeah, I remember that.
And, you know, there are also the way that you're supposed to do it,
which is, you know, inform the developer
and not tell anybody until the developer says it's fixed.
Or you sometimes would, I think what Google Zero does,
and Google Zero does a great job,
I think a great service to the industry, as evil as you may think Google is, is they find zero days and they disclose it to the vendor and then give them, I think, it's 90 days to either respond or fix it, right?
And that 90 days is, I think, very important in that sometimes vendors will just ignore these things and 90 days puts actually time on the clock for them to actually do it.
And I think that there was a recent one that like they told Apple about
and Apple just did not respond, right?
So they were like, okay, we're going to tell everybody the details of this now.
Apple's had some pretty bad bugs recently.
Yeah.
The one where they were able to like just space bar and get your password?
Yeah, yeah.
To get it to log in as root, I think.
Yes, that's what it was.
Yeah.
Yeah, not super great.
Um, but yeah, so, so, you know, uh, and, and I think the, the, the, the biggest kerfuffle
that, that was quite recent was, you know, um, the Intel SMP, SMT like, uh, um, uh, Spectre
meltdown speculative, uh, execution bugs, um, that was disclosed basically to big vendors
and big operating systems but smaller operating systems just like didn't get a notice until i
think like a week before it was like released to the public and obviously that just wasn't enough
time to uh fix all these things right um and so i think security vulnerabilities are
like disclosure process has to be refined somehow yeah well then in bitcoin in particular it's it's
an added layer because again there's a ton of value in these systems and so the argument you
guys are making uh on the panel was that in bitcoin and free and open source software in particular
the uh sort of the person who's ringing the alarm and disclosing the bug should probably be anonymous
for many reasons one of which being like imagine if you disclose the bug
and somebody exploited it between when you disclose it was patched and people are going
point at you first like hey we know that you knew about this and this puts a lot of undue pressure
no for sure for sure for sure yeah yeah like especially when money's involved it's actually
quite like a thin ice that you have to uh walk on and i think we were also talking about
i don't think we came to a conclusion about this like if we find something in
In Bitcoin Core, is it our responsibility to tell and identify and tell all of the coins that are code forks of Bitcoin Core to fix their stuff?
And I don't think we came to a conclusion on that, but maybe there needs to be some kind of way or tool or something by which you can post vulnerabilities.
and you as a software maintainer can you know have a filter on that and and and be notified of
new developments in your dependencies or your code forks yeah that was crazy because it is a
a tricky problem especially like bitcoin core does not want to represent bitcoin
like as a whole so like bitcoin being this amoebas unstructured sort of thing yeah who do you tell
like do we come tell the chain code do we come tell right you make a pull request or like it was
like what in your opinion like what like what would you do if you discovered a zero day or a bug
and had to disclose it putting you on the spot oh dang um well would you spin up an a9 would you go
like make like a proton email account and start yeah i i think yeah i mean like i would i would
you know I would go look at you know what are some of the developers who have
worked on you know previous disclosures and how and and what their PGP keys are
and you know anonymously right you know do a little write-up and you know send
it over to them and and see see how it is you know and I believe I believe I'm
not completely sure that on Bitcoin core org there's there's disclosure process
and stuff you don't believe there is i believe there is uh there there's some notice about how
to do it correctly yeah yeah it's like there's so many there's so much goddamn surface to take
into consideration with this stuff like everything yeah yeah i mean like one of one of the things um
that i was talking about on that um on that panel was uh how uh intel management engine has gotten
into almost every computer every server everything what does this mean so intel management engine is
like it it lives um basically on your motherboard uh and it basically can override the kernel so
like your your kernel might be like open bs or you know one of those really secure kernels and
it enforces security and whatever for all the freaks out there completely technically incompetent
What is a kernel?
So the kernel is the most important.
An operating system.
Yes.
An operating system.
Right, exactly.
So, for example, like Linux is a kernel, right?
Mac OS has a kernel called Darwin, right?
So that's supposed to be like the core part of the operating system that you cannot live without, right?
And so that's usually what enforces like, you know, this process.
You only have these privileges and can only read and talk to these files.
and that process, you don't even have network access
and whatever, right?
So the kernel is seen to be sort of, I think,
well, people define these rings differently,
but I'll say ring zero, right?
Ring zero is like the zeroth level, right?
But Intel Management Engine is basically one below that,
as in it doesn't care what the kernel thinks.
It can do whatever it wants.
and that's very dangerous especially if you're in a server setting and basically you've just
nullified all the security procedures you know all the all the security the protection that you
have from the kernel which we've coded in right and we've also got this complex boot process
through this new you know new mechanism so the way that you boot your computer right is that you
basically go into uefi mode first and then you boot into the computer and uefi is a gigantic
code base with like a like a mini kernel inside it with like a networking stack that you rarely
update so that's again another vulnerability um and these are these are things that you know
we don't really think about because if you think about them then everything's fucked everything
exactly everything's fucked if you think about them everything's fucked um right everything
fucked carl i believe so yes i i completely agree that everything's so i mean but but we see efforts
to fix this right and it's very encouraging that you know this i think a lot of people when they
think about like computer security and whatever they're just like we you know let's just give up
like let's just whatever man
but it's encouraging that there
are companies who move forward with this
computer manufacturer called
Raptor Engineering
they make
computers which
are completely open source like the entire
like all the firmware
for all the chips and
everything are open source you can
modify them you can compile them they have
the tool chain to allow you to do all of this
right so that
That is, I hope, where the future is going to be.
And that allows us to have actual sovereignty over our hardware
and be able to control our future.
So is it more of a problem of motivation as a problem of like a daunting task?
It's an economic problem.
Yeah.
It's an economic problem, right?
Because people don't see it as necessary.
Yeah, exactly.
People don't see it as necessary and there hasn't been too much economic loss.
so you know we're not going to pay for the more expensive raptor motherboard we're just going to
stick with the manufacturer we know which is intel and then just continue with that yeah but it seems
like if so the solution sounds like just open source the hardware the firmware and the software
of your open operating system and yeah yeah and and and you know this is one of the encouraging
things about you know mankind is that we are very good at making things cheaper and more efficient
right and you know as we were able to make things cheaper and more efficient uh you have small
companies like raptor engineering building their own motherboard right like if you know a few
decades ago like you know you had to be one of the biggest companies out there um to be able to
like design the components and make it all open source and whatever but you know because we have
these infrastructures set up it's easier to be more free um and i like that technology enables
that in a way yeah yeah yeah technology enables that uh technology is getting cheaper and cheaper
other things are not like education health care and uh and cars and stuff like that but uh that's
a big topic that's a yeah we jump into economic shit a lot in this podcast we've done that a lot
lately i'm happy that we're having a technical episode today because we haven't we haven't
jumped into like tech in a while here on tales from the crypts um but uh i mean we obviously
to talk about bitcoin which is tech but like oh yeah this uh conversation like this has not
happened in a while on this podcast so i'm happy it's happening tonight great um but yeah no it's
interesting like like you said it's an economics problem so like bitcoin again going back to what
we talked about earlier like having so much value maybe it shifts the equation a little right it
shifts the incentives it shifts the incentives and shifts the equation a little bit um i think like
you know what might end up happening is that we will have um better and better hardware wallets
i think hardware walls right now are still not extremely well designed but um just jump into i
mean over the weekend ledger came at trezor pretty hard what uh what's your beef with hardware
wallets right now um i don't have a particular beef with hardware wallets i i think they're just
not, I know that some of them don't actually do what they're supposed to, like, I think
they don't authenticate, basically, procedure calls to their secure enclave. I might be
completely wrong, but I think some of them don't actually do that, and so, basically,
if you know how to open the device and know how to, like, talk to the chip, then, like,
you basically can get it to sign
anything that you want it to sign
which
is not hardware security
but of course it's better than keeping it on an
online computer
not saying that that's not
and also I think one of the other things
is that
and I think as programmers
we tend to think too much about
the technical stuff and not enough about
the social and economic stuff
it's like my mom doesn't want to use
a hardware wallet
no no like that's just too like i because i thought about it right like i was okay okay
what what i do to have like a like an enough of a secure setup for my keys that i feel comfortable
with right okay um maybe i get secure secure like deposit security deposit boxes and then i
maybe like shamir secret share my like mnemonics uh to these um you know deposit boxes and then
like get a few ledgers and then get them in there um like nobody's doing that i'm not doing that
nobody's gonna learn to do that um and so it's great that we have multisig that's not broken
um what do you mean by that was that a well a shot at ethereum right there yeah i think
parody had a broken multi-sig contract or something yeah um anyways yeah we we have
multi-sig that's not broken and and you know that allows companies like you know when i was
back at blockstream like green address had this cool thing where it was a multi-sig with them
right and i think casa is doing a cool thing with multi-sig with them and like those kind of
solutions make a lot of sense to me right right um being able to you know recover your keys um
And also, they don't have custodial access to any of your funds.
That's fantastic.
Yeah.
That's the right way to go about doing it, I think.
It really is.
And I think multi-sig, in particular, just needs to become more prevalent.
I'm sick of the thought of holding your shit on one key and custodying that yourself.
So, it's overwhelming.
It's overwhelming for some people.
And it's about the user experience.
um i i after uh for the first few years of um college i i was actually a uh ui ux designer for
for like as a freelancer for companies right um and it's kind of weird how like you know that's
so far removed um but you know when i when i look at these things you you need people building good
user experiences and i think like that's what casa is doing yeah it's pretty cool no i would agree
and slowly but surely it's happening people like oh bitcoin's failed bitcoin's died so many times
but it's succeeding through death uh i would argue and do you think like looking back and
when you first got into bitcoin to where it is now like are you surprised at how far it's come
or disappointed how uh how not far it has gone up to this point or is it sort of right in line
with your expectations do you not have expectations i just along for the ride i think it's quite
surprising how far
it's gone I think it's quite surprising
how far it's gone
I was
expecting it to just be like
mine some stuff
get some money build myself
a few more servers and be happy
you know
but it's gotten
it's gotten a lot of
traction it's gotten a lot of
developer community it's got
you know people who really care
about it and
and want to try to understand it, right?
I think one of the most impressive presentations at MIT was,
what was her name?
Crypto Mom, Bitcoin Mom, Hester Pierce.
Hester Pierce, yeah, yeah, yeah.
And it seemed like her stance was basically that, like, you know,
as a regulator, she wants to make sure that she's not imposing rules
because rules will you know get passed down right that limits innovation right so she wants people
to tell her you know what they're working on and what's going on and and and i think that like i
think years ago i would never thought that that would be possible that they would even be aware
of this you know weird internet magic internet money thing yeah let alone not shutting it down
no no yeah yeah exactly let alone um not shutting it down well not that they could shut it down not
trying to shut it down but instead trying to be as laissez-faire as possible which is right which
is hard to find in america these days it's i'm excited to see that uh that they're taking a
tempered stance on bitcoin up to this point um yeah it's it's fascinating what else did you like
at the mit thing over the weekend uh while it's got hacked oh um oh boy there was this one talk
by a gotenna guy oh richard myers yeah i think so and and and he was talking about how you can use
um lightning network payments to incentivize people to run their own gotennas and like this
is one of those things where like it again it holds it holds in on the point that like
as technology progresses things get cheaper to make like you can be your own based like
very low bandwidth albeit like very low bandwidth isp with with this kind of stuff right and we can
be more decentralized and and and and and have access to it that the isp can't shut down yeah
so what's the uh the gist of it is if you have a gotenna that is with txtenna downloaded on it you
are going to get lightning fees in the form of lightning network transactions for routing
payments via txtena or oh yeah um i'm not entirely sure but i i think like the whole point was just
that you can incentivize people to run these relay stations for gotenas um through lightning right it
doesn't really need to have anything to do with bitcoin it's just using lightning as a payment
way to get people to run these things right right uh and and and that's that's very important that
People can form a mesh network of themselves
because God knows what ISPs are doing with our data.
Yeah, so let's get cosmic here.
Do you ever envision a future
where ISPs aren't the main routers of Bitcoin transactions?
Maybe it's via radio waves or mesh networks or satellite.
Eventually, that will happen.
Eventually, I'm sure that that will happen.
But the technology isn't there now.
and we need to
fund technological progress
yeah
that's one thing
so I write about that, Marty's been a lot
is alternative transaction
relay networks like the mesh network
the satellite, that shit, that's what
fascinates me the most, just thinking that you can
via radio waves send a
transaction in space and have it
received by somebody with a
satellite looking for it, it blows
my mind and that's the other thing
It helps open people up to the possibilities that this technology enables.
Everybody's so sort of siloed in this way of thinking of how the internet works and how it should work and how it has to work.
And Bitcoin, not alone, but Bitcoin definitely is helping people sort of see, hey, maybe we don't have to do things this way.
Maybe we can use ham radios to send messages and stuff like that.
maybe we don't need to rely on like comcast or other internet service providers um which is
fascinating to me yeah i think at one point i was looking and i don't i don't remember fully i was
looking into if i can like buy like an fm radio band such that i can like broadcast blocks and i
was like really expensive i was okay never mind never mind um but yeah it's it's it's it's crazy
it's crazy yeah we're gonna do you think bitcoin will ever go to space do you think we'll have
interplanetary nodes at some point oh boy i mean we're going to increase the uh the block time
right yeah i i would i would think so and i i think um peter todd gave a great talk about that
wasn't it at one of the one of the breaking bitcoins i think yeah i think he wants to start
mining asteroids and putting like yeah it's in space and stuff like that yeah yeah yeah i yeah
i don't think proof of work is well i mean there's no better alternative but like the the the current
way that bitcoin is structured is good at dealing with that and i think we'll solve that problem
when we come to it yeah we're gonna we're gonna get dyson spheres we're gonna go find another star
right exactly that's yeah i yeah that's one of my like biggest hopes is that we can become like a
like a like a type two civilization what's that like that so i i i might be wrong but i think
type one civilization is a civilization that can capture and and utilize the uh all the energy that
the planet can can can provide right type two is of the solar system and type three is of the galaxy
and then so on and so on um so i i would hope that someday we can actually build that
dyson sphere and capture it because that's just that's that's free real estate
it'd be crazy too yeah it's free energy yeah yeah yeah but we do
there is keep getting cosmic like it's weird we do have this opportunity like go to space and
explore it yeah i i remember um reading when i was in high school this um well i didn't read
the paper but you know i i watched i think it was like a vsauce or something else where like
these russian scientists like did a conservative estimation of what like how human society will
progress and they they came to the conclusion that we will never leave our solar system
and that made me really depressed for like a week i was like oh that's so sad i mean like
it's mankind i i i would hope that our future involves you know traveling around in space and
all that everything's really far away though yeah yeah it's really far away yeah yeah how to get
there um where's it gonna go i had something to bring up i had something to bring up it's always
happened got too cosmic we got too cosmic um you're talking about bitcoin in space
ah i completely forgot what i was gonna say no don't worry about it um
i was gonna bring it back to something what were we talking about right before that
um we can talk about rust bitcoin for a while yeah let's talk about rust bitcoin
yeah so rust bitcoin is sort of alien to me i know that matt works on it matt's right whenever
i see matt he's like yeah working on rust bitcoin yeah yeah what the hell is that this is just
different implementation in different language and yeah yeah it's well it's not a full node
implementation okay right um it's just an implementation of like um like some of the
it's it's a it's a library which means just like a collection of tools that you can do
For example, you can, like, derive keys from, you know, mnemonics and all of those, like,
little tool things, right?
And I think the thought behind it is that, at least my thought behind it, is that, you
We've written software in sort of not memory-safe languages
like C and C++.
And the reason why we want to do that
is because you have a finer-grained control
over how the program executes.
You're basically speaking to the machine in a way
such that there's not many layers of translation in there.
right um um and but what rust says is we can almost we can do this we can be a what we call
a systems language we can be a systems language and be memory safe at the same time right which
is very compelling because most bugs uh most security vulnerabilities are memory bugs
You know, buffer overflows and double freeze, all of those are memory bugs, right?
And Rust says the way that our language is constructed means that you literally cannot have those errors, right?
And so I, and you see a big movement in the software developer industry, I think, towards people, and maybe this is for the better or worse, but people rewriting programs in Rust because now you have this thing where you don't give up your performance, you don't give up your granularity, but you get memory safety, right?
You don't have to worry about that anymore.
The compiler will yell at you if you're doing something memory unsafe.
And so I think, you know, being able to interact with Bitcoin in a language like that is is quite important.
It seems like a pretty good level up if you're able to have that.
Yes. Yes. Right. And I, you know, I don't I don't you know, I'm in no illusion that we're going to have Bitcoin core and rust in like a year like that.
That's not that's not going to happen. Right. But I think it's good. It's a good thing to build in parallel.
I think, you know, one of the great things about, you know, what, you know, Rust is doing and what I hope to do is that, you know, if we can get Bitcoin to be more modular, then perhaps you can write the QT module in Rust.
You can write certain parts of it and basically make it plug and play, right?
And perhaps, you know, you want to try out this different, like, you know, like a neutrino plus or whatever, right?
Like you've got this new thing, right?
Oh, okay, like just use it as a module, use it as a plugin, like whatever, right?
And so I think, yeah, I think that's why it's important.
And we see things in the Rust Bitcoin project
that I think is very encouraging.
One of our, one of the developers, Tomas, Tomas Blummer,
I don't know if that's how you pronounce his name.
He's been working on a almost full,
I think it actually works as a full node
that also supports Neutrino.
and he's finished that
and I need to
do a few more code review I'm sorry
Tomas
and that's super
exciting because you know
that's something that we can run and I hope
hopefully we can test against Bitcoin Core
and see how it works
and also you know Matt's
Rust Lightning is
extremely important I know
that Matt's very
focused on
better hash at the moment yeah yeah exactly yeah no no and and and that's that's the fantastic work
right but he's also you know he's he's he's a he's a uh i don't want to speak for him but i
think he's a linux and systems geek like i am um and like he he leaves a server on running what we
call a fuzzer and a fuzzer will basically like give your program inputs until it sees that it
fails right and it will identify where it failed so all the time he's running that and he's actually
finding problems with his implementation and sometimes with the spec and sometimes with other
implementations through running this fuzzer um and yeah he good guy yeah matt's uh matt's
matt's uh on the scoreboard as uh most appearances on tails in the crypt
but he's like the one like first person who started talking about like russ bitcoin and
stuff to me and still to this day i've always seen like russ like russ is like so foreign to me like
to me it's like you have to be sort of a badass developer to work at russ is this true
no well i uh to me actually like i and and this is this is somewhat shameful i know more rust than
i know c++ uh and get out i know i know i know i'm i'm terrible um but it's it's one of the it's
one of those languages that because it's more modern it's easier to work with it doesn't have
sort of the the baggage of c++ and c++ sometimes has the baggage of c and all that and maintaining
compatibility and whatever um it's able to envision its own world right and learn from the languages
that have come since um so i would say like for beginners rust is maybe easier to start off with
yeah than c++ because of some of the conventions and like c++ has like implicit conversions that
like nobody really really understands every single corner case of but yeah yeah yeah no it's uh it's
fast and there's a tech illiterate uh it's uh always fascinating to hear hear the stuff explained
from the mouth of somebody who knows exactly what they're talking about
has been through the trenches.
But you mentioned Neutrino.
Let's go back to Neutrino.
So, BTCD, they implemented a full node with Neutrino, correct?
That's right.
That's right.
A lot of contention around Neutrino in particular.
A lot of people don't like it.
Right.
Why?
Could you give the freaks out there sort of a 30-second reason
why people wouldn't like it or what it does
and then why some people don't like it and why some people do?
Um, well, I have, I haven't, I haven't been exploring it that much, but I, you know, it's,
it's just a better way to serve light clients, right?
Yes.
Uh, and, and, and, and I think it's, it's much better than the SPV model that we have
right now.
Um, so to be honest, I don't know that much about it.
I think the point that I want to make is that, um, the, again, like modularity is important
for governance reasons.
It's not just because, like, you know, we're really anal developers and we like our things clean, right?
Like, modularity is great for that because you can have, you can swap things out with one another, right?
You can test different things, right, without having to be like, oh, like, there's, like, contention on this pull request or whatever, right?
And it enables more freedom, basically, right?
Because you can choose what modules you want to run.
and you can choose what plugins you want to run.
And so that's why I think it's important.
And BTCD, obviously, has had Neutrino for a while,
because it's Lalu's little baby, I think.
And that's great.
And I like seeing that implementations are competing.
And I think one of the things that we
need to be very aware of is that these node implementations need
to remain, which is why I haven't really
thought about doing a full node myself,
at least within these few years, is that full node
implementations need to be consensus
compatible with each other.
And the easiest way to be absolutely consensus
compatible, is to have the exact same code base, right?
So these implementations need to be wary of that,
as in you don't want to cause a network split between one
implementation and another one.
Isn't this something that Satoshi warned about, or how?
Yeah, I'm betting.
It's the ongoing.
They've said many things.
Yeah.
It's the ongoing debate, though.
It's like, should we have multiple implementations?
Bitcoin core centralizing is it running everything and yeah, yeah, yeah, I
well
Here's here's what I'd say, right?
I
Think that and this is this is somewhat speculation. I think that what will happen
is that we will be able to
Split Bitcoin core in a way such that we have
a we have a sort of modular thing that just has um the consensus roles and maybe a network
implementation that everybody can agree on right so the the network protocol that um
sort of standard right now um and so when we when we can have that uh then other implementations like
BTCD which is written in Go or
something that we write for Rust Bitcoin
we can do what's called
a FFI, form function
interface. So that means like
the interacting between
different languages, between our
thing and that, right?
And so now for the consensus
critical and the network split critical part
we're all running the same code
but, excuse me
for everything else
it's completely
you know it's it's completely up to you how you want to implement it and what you're comfortable
working with exactly so i i think that is the the direction that we will go with but you know
somebody somebody has to do the work and it's it's oh it's a lot of work i know there's there's
this project started a long time ago called uh lib consensus lib consensus um was trying to
extract out the core parts of bitcoin consensus into a library oh man that has that has burned a
lot of people out really many have tackled it but many have like you know come out fallen
but yeah i mean like it's it's sort of like you know we'll pass it on generation to generation
and one day somebody will be like hurrah we got this working and yeah we'll have more diversity
then as somebody who's been working on bitcoin for a while now like what are your thoughts on
the attention to the code base in particular finding more people becoming involved with
bitcoin core um are you finding like smarter minds being attracted to it like as a developer
what are you seeing in the comments and the in the pull requests and stuff like that are you seeing
new faces new new anons or yes yes i mean of course you're going to have you know the the
the few developers who are like always on it on the all the time like you know a lot of my yeah
exactly a lot of my colleagues are that way right um but i i've i've you know i've i've code reviewed
things from people who've never contributed before and they're insightful ones right um and there are
ones from people who perhaps don't really know bitcoin itself but know maybe c++ very well you
know um people who know how to structure code very well there there's all kinds of different
contributors to bitcoin coin and it's it's very exciting um to see that that is the case it also
happens uh in rust bitcoin uh as well and and one of the interesting things about rust is that
it attracts like this is so nerdy to say but as people as programmers i think a large section of
programmers really love when a language is sexy and rust is one of those languages that's really
sexy and so you'll have people who like i think that there's like this one like one guy who's
just like he really loves rust and like just stumbled across his library and just like wanted
to contribute right like i when i first started out with rust bitcoin um i was like trying to
write like a bunch of things in rust and it wasn't working and i was like oh okay i know
upholsterers working on this let me learn rust through and and you know i didn't tell him at the
time that this is like my first rust thing but you know you know i learned through all of his
comments about how horrible it was and then you know and that was that was the tweet that i made
which is like you know through like seven months of grinding we got you know like partially signed
bitcoin transactions into rust bitcoin that was through a lot of refinement and also a lot of
looking at you know uh what were the what were problems in the code base that we needed to solve
before um this got merged in yeah yeah that's thank you for doing what you're doing okay like
because it's it fascinates me somebody i mean obviously you're you're getting paid for your
work but um just looking at a project a mission-driven project like bitcoin that
yeah and i i can't hire anybody it just has to attract yeah talent i think it kind of comes back
to um my love of and and maybe i've i've heard about a few things that do do what patreon is
doing in the bitcoin like tipping tipping tipping dot me is one of those tally tally dot coin right
tally.coin and
and all those things
you can white label all that stuff we're finding
too which is
you can
I think a little hint here for the freaks out
you can white label that it might be white labeled
for like personal sites in the future
right right well
because all you need is BTC pay server
that's really all you need
right right but I'm thinking
even well maybe
maybe this is impossible
if there is a way because
people don't want to as as much as we would like to think so people don't want
to run their own servers people don't want to maintain their own servers you
you're never going to have the the expertise of somebody like on like
Amazon or Google managing your servers by yourself right so if if there is a
way to be able to to be able to run software like that in a way that is
somewhat decentralized and can't be shut down and and and you don't have the
liability if somebody is is doing something on there that people would
disagree with that would be fantastic maybe you know a model to look at is
perhaps you know what Macedon is doing with with with the federated stuff but
I haven't looked too much into that.
Mastodon is, yeah, it's an animal.
I mean, Mastodon is legitimately an animal.
Like, in the app that they built as an animal.
Yeah, I heard it was really popular in Japan or something.
Yeah, I mean, it was really popular on Bitcoin Twitter
like six months ago when they got mad at Twitter.
Oh, wow.
We all ported over to Mastodon for like two days
and then came back.
We're like, oh, it's too crazy over there.
There's not enough people.
Yeah, yeah, exactly.
so so you know these ux problems will will solve themselves over time but you know i think you know
we still need people working on that yeah well we're almost an hour and a half in i guess we
should end it like the next 10 20 minutes and cool um what are you most excited for maybe for
it obviously you're working on rust bitcoin and um uh with the geek stuff as well but just like
beyond what you're working on like what like how are you feeling right now like depths of the bear
market where where are your vibes where do you think we're going what do you what excites you
what worries you as we move forward uh i think i'm pretty chill about like the bear market and
whatever i seem pretty chill yeah like my my dad always freaks out you know like you get text
messages like oh bitcoin went up or bitcoin went down and i was like i was like this is not very
interesting to me um because i think we've been we've been trained to think
too short term right you know high time preference high time preference right that's that that's what
that is uh and i think we need to think long term and and and my thinking has always been like you
know like whatever t to infinity or you know in in a few decades or in a few centuries like
what what kind of society will we live in and and what is it going to be driven by right and i think
it's going to be driven by something like bitcoin and that you know that that's that's why i want
to work on something like this no i concur that's why we have the podcast that's why i brought you
on um thank you thank you for coming on man i think again like i said we haven't gotten very
technical on this podcast in a while and i learned a lot today i learned that russ is a new language
i thought it was like some old language that nobody wanted to touch oh no it's uh well it's
like sounds old rust rust just right right right right right right right oh my gosh yeah yeah um
no it's it's it's pretty new and it's pretty cool i'd recommend people who are more technically
inclined to check it out and learn it yeah and then also check out your pr for uh the geeks
oh yes actually i if if people know about build systems and gcc and uh lip tool and all of that
please come help me uh just search uh guix in the bitcoin repo pull requests yeah and uh chain code
they got a residency coming up if you were oh i'm so excited about that that's talk about a little
bit that's one of them so we we we got we got so many applicants like our our well i don't know if
i'm allowed to reveal how exactly how many but like we've got a like we we've had to you know
let a lot of people just tell a lot of people that they can't come but the the the group of
people that will be in the office for the summer i am so excited about they know exactly what
they're doing they're excited to work on bitcoin stuff they will they they will be i think a big
part of bitcoin development of tomorrow and in years to come yeah yeah yeah yeah i can't wait
until they're in town all summer
so I can just poach most of them
for interviews.
Yeah, exactly.
I'll be...
Just one person a week.
You're going to see them
coming to the chain code office
and grab one a week
and just be like,
all right,
what the hell are you working on right now?
Exactly.
Carl.
Yeah.
It's been a pleasure, man.
It's been a pleasure.
Thanks for coming around.
Thanks for coming through.
Excuse me.
Thank you for all you do
on Bitcoin Core
and thanks for educating us tonight
about many things.
Thank you.
Yeah.
That's all I got for tonight.
This is my second podcast.
I'm a little burned out right now.
Oh, yeah.
I enjoyed drinking beers with you.
Go get some rest.
Yeah.
Peace and love, freaks.
Be care.
See you.
