a16z Podcast - a16z Podcast: Hard Forks, Hard Choices for Bitcoin

Episode Date: September 2, 2015

a16z’s Chris Dixon and Mike Hearn talked about all things bitcoin on the a16z Podcast a couple months ago, including an issue that has bitcoin developers on edge these days: the question of how best... to scale the bitcoin blockchain before capacity runs out. Hearn and others offered a solution (Bitcoin XT) -- in the parlance, a “hard fork” -- and quite frankly, not everyone in the bitcoin community is in favor of this approach yet. Which we heard about from various online quarters! So in the interest of airing diverse opinions and other options for solving bitcoin’s scaling problem, we invited two more experts from the bitcoin world, Adam Back and Alex Morcos, to share their views on the topic. A well-known applied cryptographer whose longtime focus has been digital currency, Back invented hashcash, a proof-of-work system used in bitcoin mining. He’s also the cofounder of Blockstream (which, full disclosure, may also have interests in the outcomes of this debate). Morcos is the founder of Chaincode Labs, based in New York City, and was a co-founder of quantitative trading company Hudson River Trading. The views expressed here are those of the individual AH Capital Management, L.L.C. (“a16z”) personnel quoted and are not the views of a16z or its affiliates. Certain information contained in here has been obtained from third-party sources, including from portfolio companies of funds managed by a16z. While taken from sources believed to be reliable, a16z has not independently verified such information and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisers as to those matters. References to any securities or digital assets are for illustrative purposes only, and do not constitute an investment recommendation or offer to provide investment advisory services. Furthermore, this content is not directed at nor intended for use by any investors or prospective investors, and may not under any circumstances be relied upon when making a decision to invest in any fund managed by a16z. (An offering to invest in an a16z fund will be made only by the private placement memorandum, subscription agreement, and other relevant documentation of any such fund and should be read in their entirety.) Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by a16z, and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by funds managed by Andreessen Horowitz (excluding investments and certain publicly traded cryptocurrencies/ digital assets for which the issuer has not provided permission for a16z to disclose publicly) is available at https://a16z.com/investments/. Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any investment decision. Past performance is not indicative of future results. The content speaks only as of the date indicated. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others. Please see https://a16z.com/disclosures for additional important information.

Transcript
Discussion (0)
Starting point is 00:00:00 The content here is for informational purposes only, should not be taken as legal business, tax, or investment advice, or be used to evaluate any investment or security and is not directed at any investors or potential investors in any A16Z fund. For more details, please see A16Z.com slash disclosures. Welcome to the A16Z podcast. I'm Michael Copeland. A few weeks back, A16Z's Chris Dixon and Mike Hearn talked about all things Bitcoin, including the issue that has all Bitcoin fans a bit on edge these days. How to scale the Bitcoin blockchain before capacity runs out. Hearn offered his solution, Bitcoin XT, which would compete with the existing Bitcoin engine for generating new Bitcoin, verifying transactions, and record. trading transactions on the blockchain.
Starting point is 00:00:50 Bitcoin XT is, in the parlance, a hard fork. And quite frankly, not everyone in the Bitcoin community is in favor of Hearn's approach. After the podcast went live, we certainly heard about it from various online quarters. So in the interest of airing all options for solving Bitcoin's scaling problem, we invited two more experts from the Bitcoin world, Adam Back and Alex Morcos, to share their views on alternate ways. to scale the Bitcoin blockchain. Back is a well-known applied cryptographer,
Starting point is 00:01:23 whose long-time focus has been digital currency. Back invented hash-cash, a proof-of-work system, which, among its other applications, is used in Bitcoin mining. He's also the co-founder of Blockstream. Morcos is the founder of Chaincode Labs, based in New York City, and was a co-founder of quantitative trading company Hudson River Trading. He's more recently become immersed in the Bitcoin world. back we were lucky to have trapped here in the podcast room
Starting point is 00:01:51 and then we dialed in morcos from london Alex morcus Adam back welcome to the a16z podcast hi good to be here uh thank you thanks for having me you guys don't actually even know each other personally you obviously communicate uh digitally virtually bitcoin is at a sort of crux moment
Starting point is 00:02:12 and and it's the community is kind of undecided on how to scale things. What are the sort of two sides or four sides of the matter, as it were? Adam, maybe you can lay it out for us. Yeah. So if we look at the history of Bitcoin over the last four years, there have been a number of protocol upgrades to add new features, to make Bitcoin faster, to make it scale better. And almost, you know, all of those have basically been backwards compatible. So the terminology there is soft fork. And for that process, it's possible for people to upgrade piecemeal.
Starting point is 00:02:51 So, you know, different people in the ecosystem can upgrade over time. And there will be typically a six-month window where the upgrade happens. And then finally people switch over. And in that process, there's not really any possibility for anybody to lose money, for anything to degrade or go wrong in the network, so long as people are clear on what version they're running. Right. And there's no possibility for anyone to be left out either, as you say.
Starting point is 00:03:12 Right. So after the switchover, people who have not upgraded are, You know, they're still SPV secure. So long as they trust the miners and the system is set up so that miners are operating in the interests of the users in an incentive sense, everybody's interests are protected through the upgrade. And these things don't activate until 95% of the miners are upgraded. So, and there's a long window of warning that the upgrade is happening six months or so. So now when we come on to scaling Bitcoin, you know, if we need to increase the block size, which I think everybody, agrees with at this point in time. Why? Why do we need to increase the block size?
Starting point is 00:03:52 Okay. So there's an average transaction size and the block size is one megabyte and the block size is, you know, the block is a set of transactions that are processed by the Bitcoin network and they happen approximately every 10 minutes. So that basically sets the transaction throughput of the Bitcoin network. And, you know, it adds up to a lot of transactions in a day, but interest is growing slowly and I mean I think right now we're sort of six to eight times headroom you know so the
Starting point is 00:04:23 the blocks are maybe a third to a half full on average and if you look at if you analyze the transactions in the block about half of them are under a dollar so those are transactions which are interesting but can also happen in sort of tipping applications and things like that
Starting point is 00:04:39 so you know if it's it's important for people to be able to get access to the full security properties of Bitcoin. And in the security domain, there's a concept of delivered security, which means it's all very well if you have a really high security application, but only 10,000 people can use it. But you haven't delivered that much security. It's much more exciting if you can deliver that level of security
Starting point is 00:05:00 or close to it to tens of millions of users. Right. And so, you know, for Bitcoin, we want to deliver the features of Bitcoin to the world at large. And right now, you know, there are quite a few million wallets and a large number of transactions, but obviously everybody would be very excited to provide these features on a global scale to the world at large for all kinds of transactions.
Starting point is 00:05:19 So there's agreement that the blockchain needs to be extended or expanded. Where does the disagreement then come into play? So, I mean, it's a complicated system. So there are, you know, a number of tradeoffs at play. So there's a kind of tradeoff between security and scale. So really what people are saying is that we need to sort of move incrementally, like grow with the technology as networks become faster and so forth, and CPUs become faster, and work incrementally. So increase it a bit now and a bit more in the future. And not kind of, you know, if we jumped up the block size to a gigabyte now, security would fail. The network will probably fail. Alex, I want to bring you into this. Does that sort of paint the picture? And, you know,
Starting point is 00:06:11 Maybe tell us what the other side of the argument is, and I'm not saying that you agree or disagree with it, but tell us what the other side of the argument is. Yeah, I think one thing that makes the current debate different from previous debates, there's the soft-working versus course different, but there's also, even previous software changes, always had sort of a very long period of consensus building in the community. And that, there's been, I think, a long period of debate around this block-size issue, but I don't think we've reached sort of a level of consent that is sufficient for everybody. Some people are concerned that there are enough people that don't like a particular proposal change that they might try and stick with the old version of the rules. And that's a significant concern. You might end up with two separate currencies instead of everybody moving over to the new currency.
Starting point is 00:07:11 What's being proposed? Yeah, so just to talk about the hard fork distinction briefly. So with a hard fork, you really need everybody to upgrade at once, or there are new risks that didn't exist with a soft fork. Now, what's being proposed, there are, I think, six proposals that have been published to some degree. So there is this sort of ITF-like documentation exercise that's used in Bitcoin. So Bitcoin has a sort of standardized upgrade procedure. The Bitcoin Improvement Protocol, each BIP has a number, and BIP 1 is a kind of charter or explanation of how to use this process.
Starting point is 00:07:52 And this process has been used quite successfully over the last four years. And it's basically to make a proposal informally on the development list, have some discussion. If it's not disproved immediately, then you write up a formal specification, that gets implemented, reviewed. If everybody agrees this is the best path forward, then it gets deployed into the network. And that's been used a dozen times over the last four years for very many interesting upgrades. And so right now there are six proposals.
Starting point is 00:08:21 There's BIP 100 by Jeff Garzik, who is somewhat affiliated with BIPP pay, but also providing independent services. And that's just one particular way to upgrade the size that sort of put some voting power in the hands of miners. to act as a balance. There's BIP 101 that Gavin is proposed. There's BIP 102, which is kind of very simple sort of incremental way forward as a kind of fallback that Jeff Galsick proposed again. And there's BIP 103 by Peter Willer, which is referencing the Cisco numbers. So one of the questions is if you want to sort of build, you know, scale Bitcoin in line
Starting point is 00:09:03 with technology advancement, the question is, well, what is technology advancement? what is the rate of bandwidth increase? And so Peter Waller looked at the Cisco. Cisco publishes some numbers based on retroactive information. And so he used their annual increases to model that. There are other proposals. So there's FlexCAP, which is quite interesting because it places some kind of economic constraints and allows for bursting.
Starting point is 00:09:29 If there's a sudden flurry of transactions that can't be processed, it allows the block sizes to increase dynamically. and how that works in very loose outline is that miners can pay to increase the block size and do so to their profit. So if the blocks are too full and there are transactions not being processed, they can pay to increase the block size and therefore profit from the extra transactions they're able to process. But at the same time where it sort of deters or places an economic constraint on sort of
Starting point is 00:09:58 ramping up the block size to gain advantage in mining, because miners are also in a sort of competent. with each other. And a final proposal is I had proposed another kind of compromise proposal, which will be to change the time period. So many of the other proposals stretch out for 20 or 35 years in the future. And I think it's quite hard to predict, you know, where the technology will be even a couple of years out. So the proposal I made was to increase to two megabytes fairly immediately, as soon as we can roll out change, which, to be clear, any of them would take about six months to roll out, increased to four megabytes after two years and eight
Starting point is 00:10:37 megabytes after four years, and then reassess. So stay flat at eight megabytes and reassess where the technology is. And we can talk about the technology. There's a number of scaling technologies and work that's been done over the last few years. Alex, where, you know, of all these proposals, you know, where does your heart lie or where does your Bitcoin lie? That's a very difficult question. I'm not even sure I know which proposal I would go with now, and I think that points to one of the issues that we're seeing here, and something I'm hopeful that the scaling Bitcoin conference might be able to address,
Starting point is 00:11:16 is we have to sort of look at how will Bitcoin scale in the future, and what will that look like, and what will be important to address these issues, like it's a block size. And if we could sort of see, like, One of the things, FlexCat proposal tries to address this quote in output, are there other sort of incentives that we should try and put into determining how blocks their mind and getting the scientific research of that all in one place so everybody can hear and be more educated about coming up a proposal the way forward? I'm hopeful to be more proposals before we come
Starting point is 00:11:55 to consent to someone. Right. Is the clock ticking in any real sense? I mean, does this have to happen tomorrow or yesterday, for that matter? And what... That's the other part of the problem. That's the other part of the problem in that I feel there's a legitimate concern that when the transaction supply outstrips the domain of block space that exists currently, the network effects will be sort of a little bit undetermined. It's going to be difficult to figure out how high a feed-level.
Starting point is 00:12:32 I need to put on this transaction in order to have to find in a reasonable amount of time. And, you know, are there legitimate use cases that are now not making it on to the blockchain? And so I think there's a bit of an open question as to how soon that's going to come and how long is it going to take us to make it change, to accommodate for that. So that's part of the reason why there's pressure to make a block size increase right now. And I think that's why, you know, a proposal like Adams, which sort of gives you that temporary breathing room, and in the long term, more time to implement the right solution may make a lot of sense.
Starting point is 00:13:10 Right. So, Adam, you began with, you know, a tipping application, for example, using up space on the blockchain is not distinguished from, you know, a massively more kind of important, maybe monetarily more, you know, valuable transaction. And that's what you're trying to sort of account for. Yes. I mean, so the other thing to understand is. not all Bitcoin transactions are happening on the blockchain.
Starting point is 00:13:35 Estimates are something like currently 99% of them are happening off the blockchain. And so if you consider the blockchain as kind of layer one in sort of if you look at like TCPIP network layering terms, you know, TCPIP and then HTTPTP on top for web page transport. So with the blockchain, you've got this kind of, you know, settlement and arbitration logic on layer one, which currently, you know, many consumer transfers happen on and many sort of exchange settlement. and all kinds of applications. But to be clear, there's something like 99% of the transactions are happening in layer two. And layer two right now consists of inside exchange traffic, inside payment processes, and hosted wallets.
Starting point is 00:14:15 Many of them have internal netting. So if one user pays another user, that happens in their service. If they're the same user, and there's also the possibility, and I think some examples of two different and competing services, if one user pays a user on service A pays a user on service B, they'll wait until the end of the day and settle that up with a net flow on the blockchain, which might be in the order of a million dollars or something like that. And so there are a number of ways to scale Bitcoin already, and many of them are in flight. And, you know, if we pushed all of the existing Bitcoin transactions onto the blockchain,
Starting point is 00:14:47 it would be massively oversaturated. So that's to say, you know, in some ways demand is infinite. You know, if Bitcoin transactions could scale infinitely, we would see more different types of uses of it. but there are sort of fundamental limits from blockchains. Blockchains are, you know, a broadcast mechanism. And so other than these kind of simple layer two things, there's also right now quite active work on this sort of Bitcoin enhancement called Lightning, which is best described as a kind of right caching layer for Bitcoin,
Starting point is 00:15:21 which might scale Bitcoin by a factor of 1,000 or 10,000. People have been, you know, a number of different people have been working on it the ecosystem on an open source basis. There's a GitHub and a development mailing list. And there are now three, I think maybe four companies who've come forward with implementations of the early stages of it. And we're hopeful that we'll see results from that within the six-month time frame. So, yeah. Alex, maybe you can talk to this. The hard fork folks, do they just want to take their Bitcoin and play someplace else, essentially? Um, no, I mean, as far as I know, almost nobody wants there to be a split. I think, you know, everybody's disadvantaged if the sort of value of Bitcoin was split into two competing therapies, money has such a strong network effect that, um, you know, that would be bad. I think a lot of people believe that if there is a split and, you know, the sort of bigger block size happens even against the wish.
Starting point is 00:16:22 of significant minority, that there won't, there still won't be a fork, that everybody will end up going to where the majority is because that's what makes the most economic sense. Right. You know, that's something we don't know the answer to, but I think it pays to be a little bit conservative
Starting point is 00:16:39 about protecting against that risk. Alex, as an open source project, you guys have, Bitcoin has faced, you know, other issues that you guys had to work through together that the community did. is this a different kind of issue and is it sort of the first time
Starting point is 00:16:55 that the community has I don't know that there's more friction in it than might have been in the past and are you confident that you guys can sort of come together on this in the way that you have prior?
Starting point is 00:17:08 One thing is different about this change is it has a much bigger impact to users as opposed to a purely technical decision like Bitcoin has a history of developing
Starting point is 00:17:21 which is very security conscious, which involves thing and poking holes in other people's code. And I think we've all been served very well by that. And, you know, we can see that by the strength of the network and how it stood up, you know, many of the sort of attacks that have been out there, you know, sort of money cryptographic software is very important to help carefully. But that's all been behind the scenes, and it hasn't really been visible to the users and industry,
Starting point is 00:17:59 and sometimes they're not, I think, aware of how much effort making that happen. And so now there's this change that legitimately affects surveys, and that communication hadn't really been there before. There's never been, like, changed from that side of the community before, And so that's, I think, the process we're struggling with now. But that's clearly a process we need to get right for the future. I mean, I think the important factor is that, you know, it's in everybody's interests for Bitcoin to scale. And because of the nature of hard forks where everybody has to upgrade at once, it's essentially, you know, it's essential that all of the participants, including the users, the miners, the ecosystem players providing different kinds of services to users, that they all work together, a right.
Starting point is 00:18:48 a solution that is a compromise that balances their interests and roll that out into the network in a unified fashion because, you know, as Vladimir Vandalana said, he's the lead developer of Bitcoin, you know, if that doesn't go smoothly, we don't know exactly what will happen, but none of it will be good. That's an approximate quote. So, yeah, I think, you know, if it's basically in everybody's interest to work together on this and in the ecosystem's interests. so just about the balance topic so you know the bitcoin ecosystem is is a kind of three-way balance between miners and people running auditors or full nodes and many many bitcoin ecosystem companies run full nodes full net auditing nodes and many power users run them and then the
Starting point is 00:19:35 interests of the users so it's important that there's a balance between those things and you know the economic interests of miners miners are sort of competing against each other and not always perfectly aligned with users in their economic interests. So, for example, users and ecosystem players might like very cheap or even free transactions. Minors need fees to, you know, miners are providing the security of the network and they need fees in order to pay for that service. And so, and also miners are in competition with each other, so they may try to game each other and gain a small advantage. So the, you know, when, when you're designing protocol upgrades to improve scalability, you have to keep in mind that whatever you do
Starting point is 00:20:19 will have an effect on one or more of these players. And you want to keep things approximately imbalance so that you haven't suddenly handed an advantage to miners or you haven't suddenly disadvantaged users. And what the users are interested in are all these amazing properties of Bitcoin, you know, that it's permissionless, that it's the new gold, that it doesn't have a monetary policy committee that can kind of step in and change things around. There's this kind of social contract, and, you know, business are interested in the fact that it's a global permissionless network that they can innovate on top of much more rapidly than you can with conventional finance networks. So it's maybe not widely understood necessarily,
Starting point is 00:20:58 but most of those properties depend quite heavily on the decentralized nature of Bitcoin. And so one of the challenges we're facing right now with the block size is that decentralization is already under stress. So there's a certain amount of centralization that, crept in sort of boiling the frog as, you know, in the mining side of things, as we've got bigger and bigger miners and vertical integration where mining ASIC manufacturers have been acquired or people have started self-mining and not selling mining equipment to users and pools have got bigger and more lumpy. You know, it's probably the case that you could, you know, if you could get collaboration from three, four companies in various parts of the world,
Starting point is 00:21:39 you could start to apply some policy influence to Bitcoin. And that would erode all of those interesting properties we just talked about. So, you know, one of the dimensions of scaling Bitcoin is to scale it in balance with decentralization. So there is work going on on decentralization, and we'll see how that plays out. And there are a number of technical and kind of community collaborations, things we can do to improve decentralization. But again, we'll see how that plays out over the next couple of years. And if decentralization was in a really strong place not right now, it would be much easier to increase the block size. So, you know, going back to an earlier comment, basically scaling and security as encapsulated by decentralization is those are
Starting point is 00:22:19 tradeoffs, right? You can scale massively and lose a decentralization. And at that point, Bitcoin loses most of its distinguishing features and you're left with a kind of PayPal situation with all the things people gripe about with PayPal. And on the other side of things, if you, you know, sort of shrink the block size or keep the block size as it is, you've failed at this kind of delivered security thing I talked about earlier where you really really, you really want to make these amazing features available to many users. So given that we're in a kind of constrained situation right now, which will improve on a technological basis, on decentralization and scaling technologies, the number of things in flight right now, which we expect to see results
Starting point is 00:22:56 from in the next year, it seems sensible to move incrementally over, say, a four-year time horizon and reevaluate as we see the benefits of those things. And we should bear in mind that four years is essentially eternity for Bitcoin. I mean, it's been in the public. eye for around that time, right? And given the pace of innovation here, in four years' time, things will look quite different. I mean, apart from the Lightning Protocol, which can massively scale Bitcoin while retaining all of the... You hope. You hope. Yes. This is a good caveat, right? So that's partly why we can't guarantee that that will happen, but we want the breathing room. I think it's beneficial for us as an industry to get the
Starting point is 00:23:37 breathing room to see how well that works out. Right. I mean, I should say, Adam, that, like, that your measured approach over the next four years is clearly your point of view and just want to make sure that the listeners are clear in that, and I'm sure they are. What happens next? I mean, you talk about hopefully this is resolved in the next year. There's this scaling conference coming up in Montreal. That's when? 12th and 13th of September.
Starting point is 00:24:01 And, you know, is that when at all, like, decisions are made or maybe not? No, I don't think the point is to, you know, gather all the big. big wigs in a room and make decisions. That's not how a system like Bitcoin works. I mean, everyone makes their own decision, and the idea is to have all the information come together so people can sort of agree on what the best path forward is. I mean, I think one thing that's important to remember here is that on both classes of the debate, everybody is honestly trying to do what they think is in the best interest
Starting point is 00:24:36 of Bitcoin. We all want Bitcoin to succeed. And so it pays to take the time to listen and discuss and share information. And hopefully, I'm hopeful we'll find the right path forward. There's an interesting debate here at two levels. And, you know, one is how do you agree on what the right technical change is? And then the other issue is, well, how you agree that enough people have agreed and you should make the change. And so it's important to sort of consider both of those angles when we're looking at this debate.
Starting point is 00:25:15 Right. I think the second part of your comment there is quite interesting because it's a highly technical topic. It's actually literally at sort of the bleeding edge of understanding of cryptography and game theory and distributed systems. And even the sort of experts who spent four years accumulating their 10,000 hours or however many that works out to of expertise in it, they're still learning new things as people write academic papers and people make new realizations about the limits of scaling or the limits of security or things you can do to improve it or to attack it that then have to be repaired. And so the other thing you see is that Bitcoin is also accessible, which is a good thing,
Starting point is 00:25:54 in a sense that you can have a friend explain it to you an outline and you feel that's cool. I get that. That's a very interesting phenomenon. And then you can go and have a more technical conversation and feel that, okay, you understand the basics of how it works. And so it's easy and tempting to sort of jump into the conversation and say, well, of course, you know, we should scale Bitcoin by increasing the block size, but, you know, not necessarily being aware of the CPU and memory and decentralization and security tradeoffs. So, you know, some of this is playing out in sort of soundbites in, you know, Bitcoin magazines and on Reddit and Twitter. And so, you know, obviously Bitcoin as a whole, the ecosystem, Bitcoin belongs to the users, essentially. it's a peer-to-peer currency. So it's clearly important that we, you know, that the ecosystem
Starting point is 00:26:40 understands and respects and incorporates the views of everybody. But I think it's also important that we have a very, you know, an informed debate. Well, Alex, I want to thank you for your time and all your explanation. Thanks for having me out. Adam, thanks very much. And maybe you guys will actually meet in person at the scaling conference. We will both be there, yes. Well, I look forward to hearing about what happens. and we'll be talking more about this. All right, gentlemen, thank you. Thank you.
Starting point is 00:27:11 Great, thank you.

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