The a16z Show - 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. Stay Updated:Find a16z on YouTube: YouTubeFind a16z on XFind a16z on LinkedInListen to the a16z Show on SpotifyListen to the a16z Show on Apple PodcastsFollow our host: https://twitter.com/eriktorenberg Please note that 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. a16z and its affiliates may maintain investments in the companies discussed. For more details please see a16z.com/disclosures. Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.

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 Christensen and Mike Hearn talked about all things Bitcoin, including the issue that has all been. Bitcoin fans a bit on edge these days. How to scale the Bitcoin blockchain before capacity runs out.
Starting point is 00:00:37 Hearn offered his solution, Bitcoin XT, which would compete with the existing Bitcoin engine for generating new Bitcoin, verifying transactions, and recording transactions on the blockchain. 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,
Starting point is 00:01:16 to share their views on alternate ways to scale the Bitcoin blockchain. Back is a well-known applied cryptographer, 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 Chain Code 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, and then we dialed in Morcos from London. Alex Morcus, Adam back. Welcome to the A16Z podcast. Hi. Hi.
Starting point is 00:02:00 Good to be here. Thank you. Thanks for having me. You guys don't actually even know each other personally. You obviously communicate digitally, virtually. Bitcoin is at a sort of crux moment, and 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.
Starting point is 00:02:26 Yeah, so if we look at the... history of sort 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 that's, the terminology there is soft fork. And for that process, it's possible for people to upgrade piecemeal. 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.
Starting point is 00:03:09 Right. And there's no possibility for anyone to be left out either, as you say. 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. 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? Like, 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 sizes, 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 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 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 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.
Starting point is 00:05:54 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 does that sort of paint the picture and you know 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-forking versus sports different,
Starting point is 00:06:31 but there's also, even previous software changes, always had sort of a very long period of consensus building in the community. And 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, some people are concerned that there are enough people that don't like a particular proposed change, that they might try and stick with the old version of the rules. And that's in turn, you might end up with two separate currencies instead of everybody moving over to the new currency.
Starting point is 00:07:12 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.
Starting point is 00:07:44 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. 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. It 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,
Starting point is 00:08:19 there are six proposals. There's BIP 100 by Jeff Garzik, who is somewhat affiliated with BitPay, 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 minors 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 Willa, 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 with technology advancement, the question is, well, what is technology advancement? What is the rate of bandwidth
Starting point is 00:09:08 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 flex cap, which is quite interesting because it places some kind of economic constraints and allows for bursting. 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
Starting point is 00:09:39 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, it sort of deters or places an economic constraint on sort of ramping up the block size to gain advantage in mining because miners are also in a
Starting point is 00:10:04 sort of competition 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,
Starting point is 00:10:30 which to be clear, any of them would take about six months to roll out. Increased to four megabytes after two years and eight megabytes after four years
Starting point is 00:10:39 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
Starting point is 00:10:46 and work that's been done over the last few years. Alex, um, where, you know, of all these proposals, you know,
Starting point is 00:10:56 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 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,
Starting point is 00:11:32 FlexCat proposal tries to address this quote in outputs 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 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?
Starting point is 00:12:05 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 transactions apply 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 fee do 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 onto the blockchain? And so I think there's a bit
Starting point is 00:12:45 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 the block size increase right now. And I think that's why 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. Right. And so Adam, you began with that, 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.
Starting point is 00:13:29 Yes. I mean, so the other thing to understand is not all Bitcoin transactions are happening on the blockchain. Estimates are something like currently 99% of them are happening off the blockchain. And so you can, if you consider the blockchain as kind of layer one in sort of if you look at like TCPIP network layering terms, you know, TCP IP and then HTTP 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.
Starting point is 00:14:08 And layer two right now consists of inside exchange traffic, inside payment processes and hosted wallets. 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, if one 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
Starting point is 00:14:38 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, it would be massively oversaturated. So that's to say, you know, in some ways demand is infinite. You know, if 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 a broadcast mechanism. 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, which might scale Bitcoin by a factor over.
Starting point is 00:15:24 thousand or 10,000 people have been, you know, a number of different people have been working on it in 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 timeframe. So, 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 would be 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, significant minority, that there won't.
Starting point is 00:16:25 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 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 that the community,
Starting point is 00:16:55 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? It hasn't much easier as opposed to a purely technical decision. Like, Bitcoin has a history of development, which is very security conscious, which is involving things and poking holes in other people's code. And I think we've all been served very well by that. that, and, you know, we can see that by the strength of the network and how it's stood up, you know,
Starting point is 00:17:37 many of the sort of attacks that have been out there, you know, sort of money, cryptographic software is very important, but that's all been under behind the scenes. And it hasn't really been visible to the users and industry, 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, 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.
Starting point is 00:18:24 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, arrive at 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 Vandalan has said,
Starting point is 00:18:57 he's the lead developer of Bitcoin. 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 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 interests of the
Starting point is 00:19:36 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. Miners 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 in approximately in balance so that, you know, you haven't suddenly handed an advantage to miners or you haven't suddenly disadvantaged users. And, you know, 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:59 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 the decentralization is already under stress. So there's a certain amount of centralization that's 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 a, 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, you could start to
Starting point is 00:21:39 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 right now, it would be much easier to increase the block size. So, you know, going back to an earlier comment, basically scaling and the security as encapsulated by decentralization is those are tradeoffs, right? You can scale massively
Starting point is 00:22:21 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 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 interest. You hope. You hope. Yes. This is this is a good caveat, right? So that's, that's partly why we can't guarantee that that will happen, but we want the breathing room. I think it's beneficial
Starting point is 00:23:36 for us as an industry to get the breathing room to see how well that works out. Right. I mean, I should say, Adam, that like your measured approach over the next four years is clearly your point of view and just want to make sure the listeners are clear in that, and I'm sure they are. What happens next? I mean, you talk about. 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 it all, like, decisions are made or maybe not? No, I don't think the point is to, you know, gather all the bigwigs in the where the coin works. I mean, everyone makes their own decision, and the idea is to have all the information come together so people can afford it. I mean, I think one thing that's important to remember here is that on both clag of this debate, everybody is honestly trying to do what they think is in the best interest 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.
Starting point is 00:24:50 There's an interesting debate here at two levels. And, you know, one is how do you agree with you. agree on what the right technical change is. And then the other issue is, well, how you agree, then enough people have agreed and you should make the change. And so it's important to sort of consider both of those, both of those angles when we're looking at this debate. Right.
Starting point is 00:25:16 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 distribution distributed systems. And even the sort of experts who spent four years accumulating, you know, 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, you know, the limits of scaling or the limits of security or things you can do to improve it or to
Starting point is 00:25:47 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, 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 phenomena 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,
Starting point is 00:26:26 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 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. Thanks very much. And maybe you guys will actually meet in person at the scaling conference.
Starting point is 00:27:01 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.

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