WBD074 Audio Transcription
Matt Corallo on How Bitcoin Works
Interview date: Thursday 7th Feb, 2019
Note: the following is a transcription of my interview with Matt Corallo from Chaincode Labs. I use Rev.com from translations and they remove ums, errs and half sentences. I have reviewed the transcription but if you find any mistakes, please feel free to email me. You can listen to the original recording here.
In this episode, I talk with Bitcoin Core developer, Matt Corallo. We discuss what makes Bitcoin work, covering topics such as the Lightning Network, fungibility and inflation. We also talk about issues important to Matt such as BetterHash and adoption.
“Bitcoin is the culmination of 30 years of attempts at building digital money for the internet.”
— Matt Corallo
Peter McCormack: Good morning, Matt. How are you?
Matt Corallo: Morning. Pretty good. Finally, got some sleep. Caught up, I got a little bit jet lag, but that’s all right.
Peter McCormack: When did you get in?
Matt Corallo: Two days ago.
Peter McCormack: Two days ago?
Matt Corallo: I’ve had a few nights, but.
Peter McCormack: We nearly flew back at the same time then? Well, it’s back for me.
Matt Corallo: Almost, yeah. I think we must’ve.
Peter McCormack: Thank you for doing this. Really, appreciate it. You’re a vegan.
Matt Corallo: Yeah.
Peter McCormack: I remember that.
Matt Corallo: Yeah. Unlike most Bitcoiners, we have a vegan contingent. I’m not the only one, but we do have a veg contingent.
Peter McCormack: How long have you been vegan?
Matt Corallo: Three, four years. Four years maybe. And was veg for a bit before that.
Peter McCormack: How do you find it?
Matt Corallo: I don’t know. I like it. It’s easier, I mean, I live in New York, right. We get a ton of great veg food in New York. A little bit easier than a lot of other places.
Peter McCormack: So I did just over a year, and I broke with James and lop, interestingly enough. So I did it with my mom. She was sick and did it. And when I went to North Carolina, recorded with James and went to shotguns, and then he took me for barbecued I didn’t have the heart to tell him that I was a vegan, so I ended up breaking them and I haven’t gone back.
Matt Corallo: I mean, breaking for North Carolina barbecues is not too bad. North Carolina has a pretty great barbecue. I’m sure I’ll piss some people off with that, but that’s okay.
Peter McCormack: These boots of vegan, back from the day.
Matt Corallo: There you go.
Peter McCormack: Are you full vegan like clothes everything or just …
Matt Corallo: No, not really. Mostly just food.
Peter McCormack: All right. Okay. Right. So let me give you a very quick background. My podcast tends to try and bridge the gap between not so technical and the technical people like yourself, people like me who want to learn more about it but have no idea. So some of the questions might be the simpler ones you get asked, but hopefully …
Matt Corallo: Sounds good.
Peter McCormack: Yeah, I think we should all learn a bit more. What would be good for me though is not knowing you very well? I’ve only met you for the first time about a week ago in San Francisco, would be for you to tell me, just give me the background because from where I am, you seem to be one of the leading most prominent core developers, yet you seem very young. So I want to know the background. Is it just a youthful vegan face or …
Matt Corallo: No. Yeah. We do a pretty good job, I think generally, in the Bitcoin space especially in the developer community of not considering people’s age. We consider experience. I’ve been working on Bitcoin Core since early 2011. So I got involved around a similar time as Greg Maxwell and Pieter Wuille and Wladimir van der Laan. So I got involved at a similar time as a bunch of people, and we all kind of worked on it together and kind of learned about Bitcoin and experienced the space together. Yeah, I mean, we just don’t discriminate based on age, I guess. More about the experience and all these things.
Peter McCormack: What drew you into it? What was the discovery moment?
Matt Corallo: I got involved after I watched a podcast actually, that I watched regularly that did a deep dive, hour-long technical deep dive into how Bitcoin works, which was fascinating to me. I mean, I was in high school. I was a little bit bored. I was a geek, and I saw just all of this really cool, the incentive structures around how the system fits together, and I thought this was really awesome, and I thought this was really fascinating, and I just kind of went down a rabbit hole and started contributing and started trying to see where I can be helpful, and yeah, went down the rabbit hole.
Peter McCormack: And now you’re based at Chaincode Labs?
Matt Corallo: Yeah. So now I’m at Chaincode Labs. We’re a research lab in New York. Generally, our mission is to help Bitcoin where we can. We don’t make a profit. We’re not interested in making a profit really. And we contribute a lot to Bitcoin Core. I have done a little bit less of that over the last year, comes and goes. But we have a number of different projects from optic, to the residences, to some of my projects, to still a bunch of Bitcoin Core contributions and a number of other things.
Peter McCormack: Great. Okay, so there’s a couple of questions I always like to start most interviews with, just to … One is more of interest, one is more to get an understanding of the person I’m talking to. I saw a very long time ago … I was listening to an Epicenter interview with Adam Back, and they asked him, “What is Bitcoin?” And his answer just really blew me. So I started asking this to everyone in my interviews, and we would get a really different answer, but I think it’s great. So Matt, what is Bitcoin?
Matt Corallo: Wow. Huh. Okay. So Yeah, I mean, I think Bitcoin to me, a lot of it is the culmination of around 30 years of attempts at building E-cash and this kind of digital money for the Internet. People have been trying since the ’80s and ’90s there was a whole E-cash revolution, there is a huge bubble on it. Bunch of people tried to build things, none of it worked out and Bitcoin is the first shot … Is kind of a renewed effort. And I think the best shot we’ve had so far at really building that. I think that’s fascinating, and I’m really hoping we can get it there, we’ll see what happens.
Peter McCormack: What does get it there mean, though, because a lot of people say it’s still an experiment or is essentially still like a beta. When do you think we get to the point we go, “Ah, no, it works”? Because I’m kind of there now.
Matt Corallo: Yeah. I mean, I think that’s complicated, right. Bitcoin works for a lot of use cases today. It works very well for a lot of use cases today. Obviously, the user experience is terrible. I think mining centralization is a really big question. It’s interesting to me because things like Lightning, things like better pool protocols are ideas we had in 2012, 2011, 2013, 2010. People wanting to build payment channel networks all these things, and we’re only just now kind of finally getting a chance to actually work on these things, and really build them. And so, from that point of view, it’s like kind of I don’t want to say that we know whether Bitcoin kind of works until we really built the things we knew we needed to build in 2011, in 2012, and then we’ll kind of see where mining centralization is, where user experience is, where kind of how trustless can we make the average user experience while still having it be usable. All these really big open questions that we just can’t know yet.
Peter McCormack: That’s really interesting as well, the way you talk about all the other things you wanted to build over the years, and you finally get the chance to do it because a lot of times where people ask me what Bitcoin, is I’m like, “It’s money or digital gold.” But actually, I’ve started to see it more like a financial network, like financial infrastructure. Almost like a financial Internet. Does that make sense to you?
Matt Corallo: Yeah. No, I really like that analogy. I really like this kind of … We’re building infrastructure around this thing, and this thing can create … Bitcoin isn’t just the blockchain Bitcoin. It isn’t just the miners. It’s also Lightning. It’s also sidechains, it’s also all of these different exchanges that people build on top, all of these businesses that is all cryptocurrency, and that is all Bitcoin. And yeah I mean, you have to analogize it to infrastructure. You can’t just say like, “Yeah well, Bitcoin is just this thing.”
Peter McCormack: So the other question I’d like to ask people, just so I understand them as well, what projects do you have an interest in within crypto outside of Bitcoin? Or is it you just pure bitcoin?
Matt Corallo: I mean, I have a lot of interest in some of the kind of cryptographic research stuff. I really like the CT CA, that kind of veins, so that’s nimble and bold. That’s Monaro. That’s kind of in that vein. I think that stuff’s fascinating. Not that I’m a crypto expert. I wish I were, but I still think it’s fascinating. But the infrastructure analogy I think is interesting because I have interest kind of only in building the best we can build, and I think Bitcoin is still the best bet there because we have so much experience and so much precedent for how changes get made, and how this system works, and how people interact with it, that it’s really kind of solidified a little bit. I think what properties it will have in the future whereas everything else, while the research is cool and like it from a tech perspective it’s cool. The actual social aspect and the aspects of what it is and how it will exist in five years and 10 years are completely unknown. Whereas, with Bitcoin, we have a little bit of visibility into that. And so I just kind of in more drawn to how can we take that and build the best Bitcoin we can have.
Peter McCormack: Right. So do you have zero interest in say an Ethereum?
Matt Corallo: I wouldn’t say zero interest. I mean, I view Ethereum as a poorly orthogonal, right. The kind of Bitcoin-build financial infrastructure stuff is a very different concept from Ethereum. We’re still in a research phase, we’re changing the inflation schedule based on some developers deciding these things without much community interaction. I just don’t think that’s a related system. Ethereum, the vision of build all these kind of deep app whatever. It’s just different. I wouldn’t say that they’re really in competition. I am less interested in that, That’s true. But I also don’t necessarily think it’s inherently bad. It’s just not related.
Peter McCormack: Okay, that’s cool. Okay. So as I said, I’ve tried to it’s been over two years now, I’ve been like fully embedded in learning about Bitcoin and crypto, and I’ve gone through all that kind of old coins and come back and I’m pretty much focused on Bitcoin these days. And I’ve tried to understand the technical stuff as best as I can, did a great interview with Brian Bishop, who explained to me the onboarding of new developers … And actually, one interesting thing I asked him if he remembered his first commit. Do you remember yours?
Matt Corallo: I don’t. I kept thinking for a long time. I thought it was this UPMP work so that Bitcoin Core can automatically … Or at the time, it wasn’t even called Bitcoin Core, it’s called Bitcoin, can automatically map ports on your router, but someone told me, I think a year and a half ago, that it was actually just some minor bug fix. And I almost don’t have the heart to look it up to figure it out.
Peter McCormack: Well, that’s like your Genesis commit, right? It’s kind of onboarding.
Matt Corallo: Yeah.
Peter McCormack: Right. So I bought Mastering Bitcoin, and I was like, “Ah huh.” And I’ve listed and watched videos and I’m getting better. But I think it’d be useful, as I said, there are also people who are like me, aren’t very technical. How does Bitcoin work? If you had to compartmentalize it into its key components, all the different things, so in my head, I’m thinking, “You have a blockchain, you have mempool, you have miners, you’ve got all these different components that make Bitcoin work, but can you explain it from your side, what are the key infrastructure components of Bitcoin?
Matt Corallo: Yeah. I mean, so obviously, like you said, I view Bitcoin as more than just the chain, more than just Bitcoin Core. It includes everything, in my view right. So we have Bitcoin Core, which is this fully validating node. It actually does the … It’s responsible for forming consensus and it’s kind of a base layer that everyone uses, and then we have the exchanges, who use that and then use their own wallets and have their own way of interacting, have their own business logic with their own way of interacting with the chain. And then we have miners, which includes pool servers and all the way down to ASIC firmware and ASIC themselves, that’s a key component of how Bitcoin works. And we have … Well, I guess that’s kind of where the mempool comes in, right. You have the mempool of transactions, which is essentially primarily for miners so that they can actually construct blocks and do the work of including transactions.
We have Lightning obviously now is becoming very popular. That’s also a key component. Of course, you also can go down the liquid and RSK route. Talk about sidechain and some of these systems people are building on top. So I think … Yeah I mean, I view Bitcoin very broadly. Bitcoin isn’t just Bitcoin Core, and you don’t just contribute to Bitcoin by working on Bitcoin Core. Sure it’s a critical part of the infrastructure of the whole network as a whole and everyone uses it, but everything else matters too, and people building good wallets and people building all of these other things maybe it matters more because ultimately that’s what users interact with and that’s how they view Bitcoin.
Peter McCormack: The Bitcoin Core itself isn’t one central brain, right? That’s the node's software, right?
Matt Corallo: Yes, sorry. Bitcoin Core is just a software project. It is responsible for consensus, right. So it’s responsible for everyone looking at the blockchain, downloading the blockchain, agreeing on what the current state of the blockchain is. So just globally, everyone has to … Ultimately, it’s a consensus system and ultimately, everyone has to agree on what the current state of blocks and the current state of transactions that are included in those blocks is. And so Bitcoin Core is kind of responsible … Bitcoin Core software is responsible for doing that for each of its users.
Peter McCormack: There are different versions of the Cores of whether different nodes can be running different versions, right?
Matt Corallo: Sure.
Peter McCormack: Because the first time I heard about that was with the CVE bug. It was only affected certain versions of the software, right?
Matt Corallo: Mm-hmm (affirmative).
Peter McCormack: So actually speaking of that, am I right in thinking you put your hand up and tried to take responsibility for it?
Matt Corallo: Technically, the patch that introduced the bug was mine. Generally, in the Bitcoin Core project, we generally blame people who reviewed patches instead of people who wrote the patch. But ultimately, the blame falls on everyone involved, right. So ultimately, everyone should have seen it. No one caught it. I shouldn’t have written it. Everyone else should have caught it when they were reviewing it. But yeah.
Peter McCormack: Was that a real like, “Ah, shit”?
Matt Corallo: Yeah, that’s that’s maybe an understatement.
Peter McCormack: But based on what you’ve just said, that really you should just come out and blamed all the people who reviewed the patch.
Matt Corallo: Yeah, but it’s a community, right. And ultimately, more people should have reviewed it. Those who did review it should have caught it. I should have caught it though. Yeah, there’s a lot of people at fault.
Peter McCormack: Software has bugs, right?
Matt Corallo: Yeah, software has bugs.
Peter McCormack: I discuss this with Brian, and he said, “Look, there are known bugs right now within the software, and there are unknown bugs. And this is going to keep happening, keep happening.” How much do you think about that?
Matt Corallo: Yeah, I mean, it’s definitely a big concern. I think for the first few years of me working on Bitcoin Core and Bitcoin software, I think our biggest concern by far was just what happens if we have a bug that everyone loses their keys, and all of a sudden the whole thing is falling apart and like there’s nothing that can be salvaged from the system? And how do we think about building software that is this kind of reliable? There are some things we can take inspiration from, so some of the like life critical safety software things, and medical devices things, and aeroplanes, that kind of software. But ultimately, that’s still not quite comparable because their solution generally is run everything three times on three different implementations and three different CPUs on three different systems and you just pick whichever one gets repeated, right. So you have the different systems to vote on what the solution is.
That doesn’t really make sense in a Bitcoin or blockchain system because ultimately, all you’ve done is changed from … We have this one implementation that’s fast and whatever so we have to run three of them. And now if there is a bug in two of them, or if they somehow disagree, ultimately, our consensus is just defined by three instead of just one. So it doesn’t really solve the problem, at least in this space. So it is actually somewhat of a unique engineering challenge. Just how do we build this kind of high assurance software for this particular type of financial application? There are not great parallels, and so it’s been a little bit of a science or attempt at building a science around it to figure out how this works in a way that we have to invent it.
Peter McCormack: Right. So is this something that’s actively being discussed quite a bit within key development groups?
Matt Corallo: Yeah, I mean, it is definitely something that people focused on for a long time and spent a lot of time thinking about. Yeah.
Peter McCormack: Right. One of the things Brian also mentioned he said, “If you’re going to build Bitcoin today, you wouldn’t build as it currently is. As it currently is, it’s like one big huge messy code base.” I can’t remember what he said. But he was almost like compartmentalize sections of it.
Matt Corallo: Yeah. The original Bitcoin software was very monolithic. It was very … All of the code is in one file. The wallet stuff that is per user interacts heavily with the validation code and the consensus code. It’s gotten a lot better. We’ve cleaned it up a lot. The separation between different parts of Bitcoin Core has improved drastically over the years. There’s still a way to go. Nothing is perfect, and there’s still a lot of kind of cleanups and compartmentalization that people want to do, and that will continue to slowly happen. But yeah, I mean, if we were going to start over today, things would be a little bit cleaner. But ultimately, we’ve learned a lot and we have improved the software so much over the years that … Yeah.
Peter McCormack: And how do you feel about when people are talking about wanting to kind of calcify the base chain. Do you think that’s ever realistic?
Matt Corallo: I don’t know. I think that’s an open question of how changes get made to the system in 10, 15 years? How things work today is fine and great. And we have a lot of things we want to do, but there’s really big open question still around miner incentivization and fees and these kinds of things that I don’t think we’re … We’re not there yet. But maybe we’ll get there. And it’d be cool if we did. But I don’t know.
Peter McCormack: Right. Well, we’ll talk about mining next. One more question, Mike Smith with developers that don’t really care about the price, which I think is great. But does the price, and therefore, the value of the network change the pressure?
Matt Corallo: I don’t think it necessarily changes the pressure too much. I mean, there’s no question. I like it when the price goes down. But it’s less because there’s less pressure and more because the scams go away, right? A bear market means it’s harder to raise money. And so, as a result, you get fewer just completely nonsense ICOs, and nonsense whatever. And that’s nice, right, because too much of, “Hi, I’m a blockchain developer,” just gets interpreted as, “Hi. I am a scammer and I do like technical nonsense that doesn’t really make sense and take a bunch of money from the public for it.” So it is actually kind of nice sometimes when the price goes down.
Peter McCormack: It’s funny. Now, we’ve been in it for essentially a year now, this bear market. I’ve got to that point where I’m now enjoying it. the first six months it was my first time, I thought losing all my money in. But now, I’ve kind of come to terms with that. I’m actually enjoying it. I haven’t even seen the price today. I don’t think I’ve checked the price for a couple of days. I actually started to enjoy it. So that’s kind of cool. Okay so let’s talk about mining then, because I saw a presentation in fuels once where you talked about better hash. But I don’t know much about it, but I do know it’s to do with mining centralization. Is it GPU mining?
Matt Corallo: No. So better hash is about changing the way pools work. So the key distinction is kind of … Today in Bitcoin mining and in fact and virtually all cryptocurrency mining, the pool does the kind of important work. So the pool selects the transactions, they run full nodes, they validate blocks, they validate transactions, and they tell the miners what to mine on. They tell them which transactions to include, what the previous block is all of that good stuff. They also are responsible for collecting the rewards, splitting it out, and reducing the payout variance, which is kind of the key point that all their users care about.
These two things are not really tied together. So better hash is about splitting it out, allowing the users, the actual mining farms the people who own the ASICs to select their own transactions, validate the blocks themselves run their own full nodes. But still, allowing the pools to exist, allowing the users to pay the pool, pay into a pot, and still get that reward splitting and variance reduction that makes their business work, makes their payout stream consistent enough that they actually can pay their bills at the end of the month without compromising centralization as a result.
Peter McCormack: Right. Okay. So I’m a miner. But when I say, miner, I’ve got 70 US mines, and I think 70 dragon mines, and I’ve sent them somewhere. And I pay my fees each month, which is less than what I’m actually mining. Sorry, more than I’m actually mining. But I do that, and I’m barely involved and any thoughts of having to assemble a block or to … It just goes above my head. But I think what I’m taking from this is, is that what you want to do here if you want to give the benefit of being part of a pool without the personal price in all the company operates in the pool having too much control over the blockchain.
Matt Corallo: Exactly. Exactly. And obviously, I think most people will not run their own full node. Most people don’t want to do it, and just aren’t going to put in the effort. But giving users the option and making it really easy to keep using the same pool and just switch over if they have a lot of hash rate, if they’re worried about decisions that are happening either in the pool or just generally in the network and want to help decentralize and help keep Bitcoin secure and censorship-resistant and all that good stuff. They can just get a little full node, get a little raspberry pie, or whatever, run their own node, point their hash power at it. Still, keep their payouts just the same, and help decentralized Bitcoin and just give everyone the option to do this because today if you want to do that, you have to solo mine. And then you get one block every five years, and you have to pay power every month in spite of that.
Peter McCormack: So what is the risk with miner centralization? I mean, I’ve heard of things like mining, like orphan blocks, or empty … I don’t know. This is way above my head, but what is a risk of miner centralization? What abuse of power do they have?
Matt Corallo: Yeah, I mean, I think the key kind of trust model in Bitcoin is ultimately that hash power is decentralized enough that no one takes kind of full control over it. And so there’s a number of related risks. There’s a number of kind of risks within this. So the most obvious one is just transaction censorship, right? Especially as people start thinking about Lightning and any kind of proof of executed side chains. This idea that some group of miners might either be forced to or might decide to or might because of a technical bug or whatever not include certain transactions, could result in people losing money or could, of course, result in like fungibility issues, making accepting Bitcoin much more complicated because all of a sudden you have to check to make sure your counterparty isn’t some terrorist or isn’t on some blacklist something like that, right.
Another important issue is right now, the protocol is used to actually mine are very vulnerable. They’re completely on authenticated. They’re not secure in any way they’re not intended to be. And it would be rather easy for someone to hijack a large percentage of Bitcoin hash power for some medium to short period of time, and use that to … They could mine empty blocks, driving fees up, or something like that. They could also reorg out blocks, they could undo transactions and double spend, these kinds of attacks. So these are much more serious attacks, resulting in transactions that you thought were confirmed not confirming, makes people wait a lot longer for confirmations these kinds of things. But those are also tanks are possible and certainly, when you have more mining centralization, and more centralized control, it just makes the system much more brittle.
Peter McCormack: Okay. So what is the status of better hash? What has been the … How receptive have people been? What’s the rollout status with you? How’s it going?
Matt Corallo: Yeah, so BetterHash doesn’t result in anyone getting paid more. So that makes it a little bit trickier to convince people to do a whole lot of work to integrate it and support it and switch to using it.
Peter McCormack: Does it require the mining pool too?
Matt Corallo: Yes.
Peter McCormack: Right.
Matt Corallo: So it requires mining pools to restructure their code to support a whole new protocol essentially, potentially run a completely parallel infrastructure. So they have to essentially run two mining pools. They’ve got existing mining pools, have done a ton of work on optimizing their infrastructure and making sure everything is really well-tuned. And now, I’m showing up and asking them to run a completely parallel infrastructure for no additional money and …
Peter McCormack: And less control?
Matt Corallo: Less control. I think there are a number of pools who don’t … I think, in fact, maybe most pools don’t really care about the control. And some pools like the slush pool folks and pool in and some of these guys, they don’t want that control. They’d love to see something like BetterHash exist, but of course, there are practical challenges in terms of actually getting customers who want to do this, and so there are questions about customer demand and, of course, just the technical reality of having to run this thing is steep. And so there’s a steep cost. And so seeing that kind of customer demand would go a long way to convincing folks to want to spend all of the time to build this. But of course, it’s also just going to be slow, right, because engineering takes a while. And so getting that kind of adoption it’s just going to take people a while.
Peter McCormack: What if it was a new pool? Is it simpler for a new pool to set up with this?
Matt Corallo: Yes. So the structure of the implementation I have now supports existing building a new pool that also supports random and also supports all the existing protocols that people want to use. And so you’re completely backwards compatible, and you could have kind of a single infrastructure. And so there is definitely an angle of a new pool, might be a little bit easier to convince to use this or convinced support it.
Peter McCormack: And the new pool’s sort of established using it that?
Matt Corallo: It’s not exactly a common thing for new pools to show up, right?
Peter McCormack: Right.
Matt Corallo: Because you have to have enough half power ultimately to actually have reliable payouts and reduce the variance effectively. So new pools don’t spring up overnight all the time. But yeah, I mean, I am talking to some folks. Hopefully, we’ll get there we’ll see.
Peter McCormack: Sounds cool. Sounds important. Okay. So back to Bitcoin. Another thing I wanted to ask you about was fungibility. So over time, I’ve been speaking to different people and gradually getting a picture of fungibility, and it seems like most people want it in some way or another but there’s kind of different opinions. Some people want on the base chain, some people want a sidechain. Some people kind of saying to me, “Well, you get fungibility with Lightning Network.” I’ve also had people say, “Look, you don’t want fungibility because if there was say something like an inflation bug and you couldn’t detect it, you might miss the creation of coins.” I’m very at the limit of my technical ability. But are you …
Matt Corallo: Let’s split fungibility out into kind of a few different subcategories, right. So fungibility at a kind of pure definitional sense just means that every Bitcoin is equal to every other Bitcoin. So you could rather realistically argue today that we have fungibility, that Bitcoin is fungible. If I pay you one Bitcoin, you’re going to value it at exactly one Bitcoin, same as any other Bitcoin you receive. You don’t necessarily go analyze which Bitcoin and value it at some discount or something like that. And obviously, we need that, right. If you had a merchant and Bitcoin weren’t fungible at whatever layer they were using, and someone tries to pay them, they have to like do some risk analysis and try to figure out whether that’s really a good Bitcoin or a bad Bitcoin and maybe charge you more or less. That it’s just nonsense. We can’t have that, right.
Now, when people talk about fungibility, obviously, you kind of very quickly go down the privacy rabbit hole because the easiest way to make sure that your currency is fungible is to make it completely private, right. If there’s no information that you can assign to a given coin, right? If no coin is technically any different and it’s completely impossible to identify a difference between coins obviously, they are fungible because there is no technical way to differentiate them. So people talk about different ways to achieve fungibility, and so when you referenced the idea that if you have some of these things and there isn’t inflation bug maybe you won’t be able to identify where the inflation bug occurred. That’s properties of very specific privacy systems right. So that’s a property you have in Zcash and these kinds of CT systems where values aren’t public and you don’t have that kind of ability to analyze the chain and look at the history.
That isn’t necessarily true in something like Lightning, where you have this privacy property, where hopefully, as Lightning matures and as we fix bugs in it etc., we can say that when you receive a Lightning payment, you don’t know anything about where it came from, you don’t know anything aside from, “Yes, I received X Coins,” which has this kind of fungibility preserving privacy property but doesn’t have this potential risk for inflation and whatever or undetectable inflation. So it’s all a question of where does the privacy come about, and how do we make sure that Bitcoin remains fungible as we go forward? There are a lot of threats to fungibility and I think obviously, it’s pretty key. Luckily so far, we’ve been mostly okay on fungibility, so.
Peter McCormack: So can the Lightning Network act almost like some kind of mixer, in that I can deposit a Bitcoin and … Say I’m a drug dealer, all right, and I’m getting paid in Bitcoin, and the police are aware that I’ve got my cocaine deal in Bitcoins. Can I put them into the Lightning Network, send them to another Lightning address and they’ll come up the other end and nobody will have any idea where they’ve come from?
Matt Corallo: Potentially. There’s a more complicated element. Lightning is still pretty early, especially in some of the privacy analysis. There’s a lot of great ideas and a lot of intuition around where we can get the privacy of Lightning, and there’s a lot that’s already implemented and there’s a lot of things that we know we can do, but it’s just not done yet, essentially, right. There are different types of attacks that we’re aware of and we have ideas of how to solve, but just haven’t gotten that far yet. It’s new, it’s fresh. And so potentially, Lightning could be used as a mixer in the future? Maybe. And we don’t know yet.
Peter McCormack: Okay. But there’s no blockchain that can be analyzed within Lightning, right?
Matt Corallo: Yes. So there’s no kind of direct history. You can’t just go download the chain and look at it. But there are more active attacks, right. When you consider privacy, you have to consider the full system. And if someone is actively monitoring the entire Lightning Network, maybe they can remember certain things that happened and could build their own history, right. And the same is true for a lot of other systems in the space where you look at Mimblewimble, and systems like this, and it’s like, “Okay. Yeah well, there’s privacy on the chain itself.” But if you’re actively monitoring the network at the time of the transaction, you might have actually still been able to learn something. And so some active attackers maybe you don’t actually have as much privacy against them.
And so that’s kind of where the attacks come in. Lightning is we have … There are some active attacks that we know people can do. There are probably some unknown active attacks that people can do that just because of bugs in the software or whatever. And we’re spending time thinking about how do we make sure we can prevent all of these? How do we have a more robust privacy model?
Peter McCormack: Okay. So because I’m assuming chain analysis. They’ve done a lot of work analyzing the blockchain. They’ve raised a couple of hundred million now. I can’t decide whether that is awful or good. I think it’s mainly awful. But I assume they are going to be looking at Lightning as well because it’s relevant to their work.
Matt Corallo: I assume so.
Peter McCormack: So it sounds to me what you’re saying is I heard Laura Shin describe Zcash as a Sudoku puzzle. You get bits of information and you can start puzzling together the rest. Is that almost like what’s happening with Lightning Networks then?
Matt Corallo: Not quite.
Peter McCormack: Okay.
Matt Corallo: I mean, you look in Zcash, and there’s … Because the privacy is optional and because it’s still they don’t have kind of, to my knowledge, any kind of peer-to-peer network level privacy. There’s still a lot of kind of bits that you can piece together and especially because, in essence, no one really uses the privacy because it’s opt-in, at least today. It’s very easy to piece together a very large majority of what’s happening. Now, in Lightening. The kind of privacy or at least the routing stuff is baked in. There’s none of this global consensus. You have to be way more active in terms of building out exactly a full map of the network and being aware of the current state of everything. So it’s not actually necessarily clear that you can get enough information to really be to really de-anonymize a lot of payments. But we’re still working on it, I guess.
Peter McCormack: Right. So let’s talk a bit more about Lightning. So actually interesting. I’ve only used the Lightning Network for my first time two days ago, in that I was waiting for my cast node, which by the way, a delivery note is coming today, which is exciting.
Matt Corallo: Nice.
Peter McCormack: But I set up a blue wallet. And so my instant experience of that was like that was way too complicated. I had no idea what was going on. And when first set it up, a choice of language and the usability, right. And it made me think about when I first spoke to you, I said, “What are the things you like to talk about?” And one of the things you said is actually user adoption. You said, “There’s what needed to be done on user adoption.” So just before we start, are you in the huddle camp or you in the, “We should be creating a network that people should be spending and use and spend,” because the way I look at it is that if you want to onboard people, people usually come for … If you get beyond the geeky interest, it’s usually for financial returns. That’s probably one of the best ways to get people into the network. I can’t see us convincing people to say to them unless they’ve got some private transaction to say, “Well, we’ve got this cool new way about buying stuff from Amazon. First, you go to exchange, you buy some Bitcoin. Then you transfer that onto a Lightning wallet, and then you can pay.” It doesn’t make any sense.
Matt Corallo: Yeah, totally.
Peter McCormack: I think we can only onboard people onto using Lightning as a way of making payments if they’re already in Bitcoin and they’ve already got kind of Bitcoin wallets linked to a Lightning wallet.
Matt Corallo: Yeah, I mean, I obviously agree. No one’s going to switch completely to Bitcoin and lightning just because they want to pay their coffee. Their cash, their credit card or whatever works fine. There’s a lot of other privacy properties that we’d like, and maybe we can get some users from that and that’s great and we should be trying. But ultimately, I think I view the kind of adoption of Bitcoin as people will adopt it when they need it, right. And so there are people who are interested in financial returns, and interested in digital gold and whatever, and that’s great. And I fully support that and I want those users, as much as I want users in Venezuela, and users in China who have capital controls and need to work around that and need to send money home, and these kinds of things where financial services aren’t providing that feature. As much as I want Bitcoin adoption in legal marijuana in the US where banks are largely not serving these communities and they have lack of financial services.
Bitcoin is an alternative. There is an existing system, and the existing system works great for 99% of people in the Western world, and maybe 99% of payments. But the existing system works fine for most people. If it didn’t, then there would be some new existing system. Bitcoin fills the gaps because there are ultimately a lot of gaps in the existing system for various reasons, and some of that is in the Western world. A lot of it is not in the Western world. And I build Bitcoin for mostly not me because the existing system works just fine for me. But Bitcoin is all about where can we fill a gap.
Peter McCormack: Okay, so how do you feel about kind of user experience? And I’ll tell you what my experience was in Blue wallet. So I transferred, I think 0.05 of a bitcoin in, and only because somebody told me I needed that for liquidity. I had no realization that I needed that. And then I waited for my five confirmations, but I didn’t know it was five confirmations because it didn’t say, so I just sat there looking. And then I had to transfer into the Lightning wallet. But the use of language was things like a refill, and then it talked about … And I couldn’t transfer my whole zero point. I tried to transfer my 0.05, and it wouldn’t let me. It said I didn’t have enough funds because obviously, I have to account for the money fees. For me, I used to be US designer, so for me, using it, I just find it really complicated. Do you think there’s a lack of like … UX Designers in the space, do you think we’re just a bit relaxed about it? I mean, how do you feel, because I feel like we celebrate the Lightning there, but I’m almost scared of being critical. But I wanted to go, “Well, this was kind of bullshit.”
Matt Corallo: Yeah. No I mean, I’m totally right there with you. Obviously, Lightning is still super early. But frankly, so is all of these UX and most of the space. Most cryptocurrency user experiences generally really terrible. I actually saw someone recently had a different take on it, which I thought was really cool., who’s like, “Yeah, the cryptocurrency user experience is terrible.” But the fact that there is any adoption in spite of the absolutely miserable user experience, is amazing and we should be excited about that and that should show us that if we fix the user experience and we improve this stuff, maybe we can really get some awesome usage out of this stuff. Because I think there’s obviously a lot of value to be had here and there’s a lot of problems that cryptocurrency can solve. But we have to get the user experience there, and Lightning is early.
I’ve been working on a project for the last about year that hopefully takes a lot of the burden off someone who wants to build a new Lightning wallet or wants to build new things around Lightning, and enables people to developers to really focus on the user experience really focus building a good application instead of spending a year building Lightning protocol details and making sure they get every possible edge case of on-chain handling correct. So I’m really hoping that that can help people focus in the right place and do their job well because I mean, I’m not a user experience person. I don’t know anything about UI design or whatever. But hopefully, I can help provide tools so that people who are good at that can run with Lightning, can run with Bitcoin and hopefully build something that’s helpful, more usable than what we have today.
Peter McCormack: So I’ve got a theory. I used to have a web agency, years ago now. Developers are terrible at user experience. And I think the reason why is all the developers I’ve ever worked with are some of the smartest people I’ve ever met and a lot of the experience of using systems comes very naturally to them. And I always said to them, “We need UX Designer because we need to build the systems that people who can’t code and can’t figure out the need to be able to use.” And it feels like all this has been built by all amazing voluntary developers, it just doesn’t feel like there’s been an incentive structure to bring UX designers in.
Matt Corallo: Yeah, that’s true. I mean, another problem we have generally in cryptocurrency is, there’s not a lot of money to be had building wallets. There’s money to be had building exchanges. There’s money to be had building a few businesses in the space. But building a wallet, especially a decentralized wall are one where users hold their keys, where the real meat of the UX challenges are and where we really want users you can maybe fund one or two people full time if you’re really lucky, and we need more resources there. And it’s not necessarily clear how to get more resources there because no one wants to pay to use their wallet or even if they do, there are not necessarily enough users in this space yet to pay a ton of full-time people with very small microtransactions for people who want to use Bitcoin. So it is definitely a challenge.
Peter McCormack: So what is the status of Lightning? Again, like Bitcoin is in beta now, but what’s the status …
Matt Corallo: Yeah. I mean, it is still super early. And as you point out some of the UX challenges are because of the way the protocol is today. There is a Lightening Developer Protocol Summit in Adelaide late last year where a lot of discussions was around what small tweaks can we make to make Lightning way more usable. So simple things like getting inbound capacity, right. When you install lightning wallet you have to first send payments before you can receive payments. That makes no sense. That like, “How are you possibly going to use lightning?” So getting inbound capacity, getting these kinds of relatively simple things that make a huge UX difference into the protocol.
And so that’s still ongoing work, that’s still something that a lot of these systems haven’t been built yet or at least none of them been shipped yet. And so that’s still early. Lightning is in beta in the sense that you can use it. People kind of are playing around with it a lot, and it’s really exciting how many people are excited about it and playing around with it and starting to use it and it’s really cool. But it is still so early. UX, it’ll get there but it needs another year.
Peter McCormack: Well, the scary thing is lost funds though and all the things I’ve seen of people using like Lightning Network. I haven’t seen actually incidence of somebody going, “My payment disappeared.” Maybe it’s happened.
Matt Corallo: Yeah. I mean, that’s a testament to the incredibly intelligent people working on it, right, from the block stream folks working Lightning with Rusty and Christian, and those folks, brilliant guys, the LND folks, Connor and Lulu and all those folks are also brilliant. The Clare folks, also really smart. That’s really a testament to just how smart some of the people who are working on it is. And that’s kind of where, yeah, Lightning is in beta in the sense that it’s usable, you’re probably not going to lose funds like there’s good software around it. It’s an alpha in terms of usability and the protocol still needs a few more revs and all these things.
Peter McCormack: Tell me about the routing thing because it’s something that I’ve read about a bunch of times and like is a computer science thing that’s never been solved and blah, blah, blah.
Matt Corallo: I’m still confused about that, like literally in the second course that I had to take for my computer science bachelor’s degree was about algorithms. And the very first thing we learned was routing algorithms. Routing is not hard from a computer science perspective. Routing is super solved computer science problem. Now, routing in Lightning is not necessarily that simple because routing and Lightning you want to consider a lot more things about node reliability. Right. If you just want routing around, how do I minimize fees? Super early, how do I get the very lowest possible fee? Okay. This is not that hard. If you want to rout around, “Well, how do I weight these different considerations? How do I consider, well, that node charge is a very low fee but it’s not online very often so if I try to route through it and make it stop or I might have to try again somewhere else?” How do you balance these different considerations? That’s actually a challenge and it’s a practical engineering challenge. It’s not really a computer science theory question.
And I think it’s very solvable. Don’t get me wrong, I don’t really consider this to be a major issue but it’s going to take a lot of work. It’s going to take a lot of gaining experience too. It’s going to take a lot of seeing how people use Lightning and seeing how the network evolves and incorporating that into thinking about how do we build good routing heuristics for ensuring you have consistently low fees and consistent user experience and making sure you don’t get stuck payments and you just get really fast payments all the time.
Peter McCormack: So it’s just FUD really?
Matt Corallo: It’s just FUD.
Peter McCormack: It’s just FUD.
Matt Corallo: It’s just fud. And things are early, and there are problems with stuck payments today. There are problems with routing like that that exists.
Peter McCormack: Stuck payments?
Matt Corallo: Yes. So occasionally you can have a case where if a node goes offline in the middle of your payment you’re not going to be able to necessarily clear the payment or consider it to have failed for a few blocks or until some intermediate node goes onto the chain and gets transactions confirmed which really sucks. I mean, right, the whole point of lightning is you get fast payments and if you get a stuck payment you’re like, “Wow, now I’m waiting for that node to go on-chain.” That hurts.
Peter McCormack: But that’s hence why lightning now you should only be put in small amounts on just to play around with it right.
Matt Corallo: Yeah. Again, it’s still early. These are solvable problems. One of the things we talked about in Adelaide was some simple things we can do that will make that way less common and simple improvements in terms of how we do routing, these kinds of things that again are being worked on can make this hopefully a non-issue. So I’m not too worried about it, but things are still early.
Peter McCormack: So one last question on Lightning, and then we’ll look to wrap up. Tell me if this is true or not. The only thing I’ve heard about Lightning that I don’t like is just literally one thing, is that you have to be online to receive a payment?
Matt Corallo: Yeah.
Peter McCormack: That to me is one thing I’m like, “That sucks.”
Matt Corallo: Yeah, it does.
Peter McCormack: Is there any thoughts or plans around getting around that? Is there a future where you think you won’t have to be online?
Matt Corallo: No.
Peter McCormack: No?
Matt Corallo: I mean. Yeah. You’ll need something online. Now, you can imagine a world where maybe when your device goes offline you hand it off to a server and a server maybe receives payments on your behalf temporarily until you’re back online and then it can forward them to you something like that. You can be a bit more creative with it and play around with the trust model a little bit. And obviously, that server now has some visibility into the things you’re doing and also is trusted at least while you’re offline. You can play around with it a lot. But ultimately that is a tradeoff off of Lightning and that is, that is kind of one of the key tradeoffs. And so, there will always be use cases that Lightning won’t make sense for and that’s fine and that’s important. Right. Bitcoin again, it’s about to be filling niches where existing services don’t work. And for bitcoin to have maximal adoption and bitcoin to really be great, we have to fill all of the niches and we have to have different systems for different use cases because people have different requirements.
Peter McCormack: So really we should all get a Casa Node and be online all the time.
Matt Corallo: A lot of people are going to do that.
Peter McCormack: All right. So I’ve got two questions left. You might not even want to answer this one but I’ve starting to see a lot of discussions now around inflation Bitcoin. Peter Todd brought it up in my interview and said, “Look if you can’t afford a one cent inflation what do you do with your life?” Other people have started just to just suggest that maybe in the future it might be a good thing for Bitcoin. Yet there’s also a group of people who are like completely anti and I completely understand that position but to the point of almost humiliating anyone for suggesting it should even be talked about, where do you stand on this?
Matt Corallo: I mean, we can have a conversation about it but ultimately I think one of if not the key ingredient for Bitcoin to have success in the future is going to be that, for changes to get made you have consensus. Right. So things like to 2X dying and getting killed and all of the stuff we went through back then gave me a lot of confidence in Bitcoin because we had users come out and say, “No this is bad.” And it killed it in its tracks. And so many and key to that is that people who got into Bitcoin with a certain view that was realistic of how bitcoin works should be able to stay in Bitcoin.
And that view shouldn’t necessarily be changed unless they want it to. And a lot of people got into bitcoin because there’s this 21 million cap and I don’t think we’ll ever, ever be in a world where there will be some level of consensus to remove it and have inflation. Even worse, I don’t think inflation … Inflation just kicks the can down the road, right. You can either have some fixed percentage inflation. You can say 1% inflation forever. If you do that then your block reward goes up exponentially and eventually and maybe after we’re all dead but eventually your block award is going to be huge and you’ve just kicked the can down the road. Now, your system is nonsense. Or you could have fixed inflation. You could have fixed block reward forever and percentage wise your inflation slowly goes down.
Peter McCormack: Like Grin?
Matt Corallo: Grin might have that.
Peter McCormack: Yeah, I think it has.
Matt Corallo: And then percentage wise, your inflation slowly goes down. So eventually, you’re going to have these kinds of transaction fees because you’re going to have a decreasing effective value of your block reward and you’ve just kicked the can down the road. You haven’t actually solved the problem of not needing to rely on these transaction fees, you’ve just … Maybe it’ll be after your lifetimes, so you don’t care but I’m interested in building a long term bitcoin so.
Peter McCormack: Right. Okay. This been amazing. I’ve got one final question.
Matt Corallo: What are you working on? What do you want to tell people about? What do you think people should care about? And then finally how can people follow your work?
Peter McCormack: Yes. So currently my projects are around … I’m getting a little bit back into bitcoin core doing more contribution there but also we talked about better hash that’s been a key thing for me, trying to build excitement around it, trying to convince pools to go adopt it, trying to work with some pools to make sure the spec is good and up to snuff to par for them. Another one is Rust Lightning, so I have a Lightning library that I mentioned. That’s hopefully for if you have an existing wallet or you want to build a Lightning wallet especially a noncustodial one. it handles most of the actual Lightning protocol for you so that you can take whatever your existing chain sink is and you can figure out how you want to integrate Lightning, whether it’s sinking the current state, whether it’s with watchtowers, whatever model you want to have.
Hopefully, this Rust Lightning project enables people to do that. Finally, we’re doing another residency at Chaincode if you want to get into protocol development and you are a developer and maybe know something about Bitcoin and are excited by Bitcoin but don’t necessarily feel like you have a complete grasp on the protocol, go to residency.chaincode.com and apply. It’s a great program, we’ve had great success when we’ve done it in the past. People love it. Have generally found jobs in the space afterwards. So definitely apply. Don’t feel shy but apply soon. We’re doing rolling admissions, so the sooner you apply the better chance you have.
Matt Corallo: This has been amazing. Thank you for giving me some time to do this.
Peter McCormack: Yeah. Thanks for having me.