TFTC: A Bitcoin Podcast - Tales from the Crypt #64: Carl Dong

Episode Date: March 19, 2019

Join 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)
Starting point is 00:00:00 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.
Starting point is 00:00:45 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
Starting point is 00:01:36 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
Starting point is 00:02:31 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
Starting point is 00:03:12 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
Starting point is 00:03:28 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
Starting point is 00:04:02 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
Starting point is 00:04:54 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.
Starting point is 00:05:23 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
Starting point is 00:06:08 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
Starting point is 00:06:50 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?
Starting point is 00:07:21 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.
Starting point is 00:07:46 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.
Starting point is 00:08:45 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
Starting point is 00:09:37 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
Starting point is 00:10:22 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
Starting point is 00:11:13 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
Starting point is 00:12:00 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
Starting point is 00:12:49 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
Starting point is 00:13:46 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
Starting point is 00:14:40 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
Starting point is 00:15:33 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,
Starting point is 00:16:15 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.
Starting point is 00:16:40 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.
Starting point is 00:17:03 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.
Starting point is 00:17:49 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,
Starting point is 00:18:15 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
Starting point is 00:18:41 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
Starting point is 00:19:16 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.
Starting point is 00:19:34 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
Starting point is 00:20:03 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,
Starting point is 00:20:48 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,
Starting point is 00:21:08 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
Starting point is 00:21:32 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
Starting point is 00:22:36 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
Starting point is 00:23:36 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
Starting point is 00:24:25 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
Starting point is 00:25:10 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
Starting point is 00:25:58 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
Starting point is 00:26:58 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
Starting point is 00:27:55 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.
Starting point is 00:28:46 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.
Starting point is 00:28:57 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
Starting point is 00:29:37 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.
Starting point is 00:30:13 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.
Starting point is 00:30:32 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
Starting point is 00:31:04 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
Starting point is 00:31:59 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
Starting point is 00:32:48 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
Starting point is 00:33:47 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
Starting point is 00:34:38 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
Starting point is 00:35:34 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
Starting point is 00:36:28 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
Starting point is 00:37:26 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
Starting point is 00:38:14 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
Starting point is 00:39:03 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.
Starting point is 00:39:42 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
Starting point is 00:39:59 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.
Starting point is 00:40:26 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,
Starting point is 00:40:48 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,
Starting point is 00:41:16 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?
Starting point is 00:42:06 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.
Starting point is 00:42:24 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
Starting point is 00:43:17 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
Starting point is 00:44:00 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
Starting point is 00:45:06 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
Starting point is 00:45:57 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
Starting point is 00:46:54 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?
Starting point is 00:47:05 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?
Starting point is 00:47:37 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
Starting point is 00:48:16 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
Starting point is 00:49:08 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
Starting point is 00:49:24 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
Starting point is 00:49:44 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.
Starting point is 00:50:04 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
Starting point is 00:50:48 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
Starting point is 00:51:31 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
Starting point is 00:52:21 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
Starting point is 00:52:55 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
Starting point is 00:53:11 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
Starting point is 00:53:54 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.
Starting point is 00:54:40 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.
Starting point is 00:55:01 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
Starting point is 00:55:47 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
Starting point is 00:56:12 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
Starting point is 00:56:29 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
Starting point is 00:56:58 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
Starting point is 00:57:46 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
Starting point is 00:58:45 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.
Starting point is 00:59:25 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
Starting point is 00:59:47 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
Starting point is 01:00:03 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.
Starting point is 01:00:38 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
Starting point is 01:01:33 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
Starting point is 01:02:29 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
Starting point is 01:03:19 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
Starting point is 01:04:05 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
Starting point is 01:04:52 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
Starting point is 01:05:30 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.
Starting point is 01:06:43 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?
Starting point is 01:07:43 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.
Starting point is 01:08:17 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
Starting point is 01:08:34 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
Starting point is 01:08:58 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
Starting point is 01:09:47 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
Starting point is 01:10:48 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.
Starting point is 01:11:14 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?
Starting point is 01:11:31 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.
Starting point is 01:12:00 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,
Starting point is 01:12:39 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
Starting point is 01:13:15 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?
Starting point is 01:13:44 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
Starting point is 01:14:00 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
Starting point is 01:14:50 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?
Starting point is 01:15:06 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
Starting point is 01:15:28 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
Starting point is 01:16:23 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
Starting point is 01:17:14 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
Starting point is 01:18:06 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
Starting point is 01:18:53 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
Starting point is 01:19:33 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
Starting point is 01:19:50 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
Starting point is 01:20:26 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.
Starting point is 01:20:59 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.
Starting point is 01:21:13 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
Starting point is 01:21:57 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
Starting point is 01:22:49 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
Starting point is 01:23:33 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
Starting point is 01:24:30 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
Starting point is 01:24:40 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.
Starting point is 01:24:46 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.
Starting point is 01:24:57 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.
Starting point is 01:25:08 Yeah. Peace and love, freaks. Be care. See you.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.