Decentralizing Everything with Ethereum's Vitalik Buterin

AngelList's Naval Ravikant brings Ethereum's Vitalik Buterin onstage to explain what it is and why it's useful. Naval Ravikant: Hi, everyone. Thanks for having us this morning. It sounds like you're already spending $100 million to find aliens and we have one here. An alien of extraordinary ability. Most of you probably know a little bit about Vitalik. I'm not going to go through his whole bio, that's what Google is for. But just as a quick interesting background or note, I discovered crypto currencies in 2013. And for me, a brain virus is kind of the best way to describe it. When you first understand the concept, that's sort of all you can think about. And in the four years subsequent, all I managed to do was invest a little bit here and there, write a little bit about it, and just try and understand it. In that period of time, in late 2013, Vitalik, very young at the time, 18, 19, how old were you? Vitalik: When I created Ethereum? Naval Ravikant: Yes. Vitalik: Yeah, 19. Naval Ravikant: 19 years old, conceived of the project, tried to build it on top of Mastercoin, spun it out as his own thing, and created what is the most exciting project in the space since Satoshi Nakamoto, whoever that is, originally created Bitcoin. And as you all hopefully know, it's a platform for distributed applications in a trustless, secure, decentralized way. And we're going to talk a little bit more about what that means. We'll try and keep it very high level because I understand this is a general audience. But yeah, without further ado, here's Vitalik. And we're going to talk a little bit about Ethereum. So please give him a big welcome. Naval Ravikant: Maybe we'll just start very high level. In your own words, how would you describe Ethereum to the average person, why it's important? Vitalik: Yeah, so, I mean, first of all there's two kinds of average people. There's the average person who has already heard of Bitcoin, and there's the average person who hasn't, right. So for the first category, it's a bit easier, because if you understand what Bitcoin is, and you understand that it's a peer-to-peer digital currency, and you understands that if you wants to have a digital currency that's decentralized, then you need some kind of database to store how much money everyone has. Like, if I have 100 mil digital Bitcoin, dollars, or digital whatever, cash, and I send 100 to you, and I also send the same 100 to someone else, then those are two transactions, either one of which is legal by itself, but both of which are illegal in combination, because they'd be turning 100 units of cash into 200. Vitalik: And then this is the classic double spending problem, and in order to solve it, you basically need to have some system that keeps track of, have these coins already been spent? How much money do I actually have at any given time? How much money do I have the right to spend at any given time? And you can very easily do this with a centralized server, but if you want to do this in a way that's decentralized, which is Bitcoin's original point, in the spirit of things like BitTorrent. Vitalik: It's actually a very hard computer science problem to figure out how to do it. And Satoshi Nakamoto probably came up with the first solution that really is practical in this kind of open, permission-less context, which is the Nakamoto blockchain. And that was where the idea of watching technology in general came from. Now, where Ethereum comes from is, basically you take that idea, the idea that you can use what I call crypto-economics, so a combination of cryptographic algorithms, things like [inaudible 00:03:26] and digital signatures, and the kinds of economic incentives that keeps systems like Bitcoin going, and use them to create these kind of decentralized networks with memories, so these kind of decentralized database-like things, for a whole bunch of other applications as well. Vitalik: So around 2013, people started realizing, really, that these blockchains are usable for much more that peer-to-peer digital currency, and the first major thing aside from Bitcoin was probably Namecoin, which was trying to do a peer-to-peer decentralized DNS, but then people started thinking, you know, can you do other kinds of digital assets? Can you do smart contracts; can you do financial agreements? Can you do registries about identity? Can you do all these other things? Vitalik: And there were so many applications that building a blockchain for each one doesn't really work. And so, the core idea behind Ethereum is, you know, you can have a general purpose blockchain. We can have a blockchain where, instead of the blockchain working like a Swiss Army knife, where we have five different tools for five different categories of applications, you have a blockchain that understands a general purpose programming language, so kind of like your phone, in your phone you have Android or iOS, and inside of Android or inside of iOS you can have apps. The apps are written in whatever programming language they're written in, anyone can create an app, anyone can download an app and run it. Vitalik: So that was the kind of general purpose flexibility I was trying to bring to the blockchain world. Naval Ravikant: That's amazing, the concept of a torrent-complete blockchain, and the computer feed that can execute any arbitrary program, given enough resources, is pretty incredible. And it seems daunting, because the idea of a blockchain, one of the implementations of a blockchain is that everybody executes a copy of the code themselves to verify that what is supposed to happen actually happens. Naval Ravikant: So that begets a whole slew of problems, like scaling and trust and so on, but just kinda easing into that, what kinds of applications do you think an Ethereum blockchain is suited well for? Like applications you both have people building today, and ones in the future? Vitalik: Yeah, so I think there's in a few major categories, so I mean, anything to do with currency itself is obviously going to be a major category pretty much forever. Naval Ravikant: Because you want the security associated- Vitalik: Yeah, exactly. I mean, currency seems to be naturally the kind of application that's fairly well suited, because the general way I categorize applications that are good blockchain applications is to think of what a blockchain is. So the way I define a blockchain is, it's a decentralized system that contains some kind of shared memory. And in Bitcoin's case, they shared memory as how many Bitcoins everyone has at some time, but it could be anything. Vitalik: So a good blockchain application is an application that, number one, needs decentralization, and number two, needs some concept of shared memory. And the case for decentralization in cryptocurrency is fairly clear, but you can actually even go beyond. You can think about, if you have decentralized…a cryptocurrency is then you can build many other things on top of them. Vitalik: And there was this interesting idea that Nick Szabo came up with about 25 years ago that was called a smart contract. And he made an analogy to vending machines, right? So what he said was that a vending machine is a device implemented in physical hardware that basically implements the conditions of some kind of an agreement. And the conditions of the agreement here are simple: you put two dollars in, water comes out. You do not put two dollars in, water does not come out. If you do not put two dollars in, but water does come out, then that's bad. Vitalik: And the vending machine is basically an encoding of this set of rules, that also comes with a mechanism that keeps it at least kinda secure. Secure enough for two-dollar water bottles. Now, with digital assets, you can think about this kind of concept and push it much much further, because in the digital world, in the world of cryptography, it's this world where even individuals are capable of basically having cryptographic defenses that are strong enough to sometimes even ward off state-level actors. And when you have that kind of security, the possibilities go up, so the general notion of a smart contract is it's like a computer program that directly controls digital assets. Vitalik: Now, the kind of direct control here is important. It's not a computer program that makes a recommendation to a guy about how the guy should control the digital asset; it's a computer program that controls the digital asset. On Ethereum you can literally send a bunch of ether into a computer program, and once you've done this the computer program itself basically has unilateral ability to control where the money goes. If the computer program sends the money out to address A, it goes to address A. If it wants to send it to address B, it goes to address B, and if it doesn't want to send it anywhere at all, then the money just stays there. Vitalik: And you can see this being used in a bunch of applications, like insurance, just like any kind of self-executing financial contract, you can reduce counter-party risk in a lot of those kinds of applications by potentially a really huge amount, you could imagine it being used even for more complex things, so there's this idea of DAOs, which are like these entire long-running entities that hold onto digital assets, and basically use those digital assets in various ways according to this fairly complex sets of rules. You could even imagine systems for crowdfunding, so if you think about what Kickstarter does for example: people throw in money. If they've thrown in enough money within 30 days, then the money goes to the developer, and if they do not send in enough money, then everyone gets refunded. And that's a set of rules that could be replicated in a piece of code. Vitalik: Now, outside the financial world, there's a lot of possibilities as well, so the DNS is just one simple and natural one. There is already a system on Ethereum called ENS, the Ethereum Name System, and this idea of giving human readable names that are in some ways not tied to any kind of issuer, is also one that just seems very interesting. You could imagine expanding this to identities, and take it a small step pretty far. Naval Ravikant: So you can replace money, you can replace Wall Street, you can replace core internet protocols, what else can you do? Naval Ravikant: In fact, I remember I looked at your About Me page, and it has this funny story, I dunno if it's real or not, but you first saw the power, or at least the demand for decentralized applications, when your World of Warcraft character had his rules changed on him by a Blizzard update. And that annoyed you so much that you had to go out and build something like Ethereum. Naval Ravikant: So in theory, you could even build a massively multiplayer game on top of Ethereum, where one can have the rules verified, right? Vitalik: Well, the story's true, though the fact that them nerfing Siphon Life and leading to me crying myself to sleep is what lead to Ethereum is a bit exaggerated. Naval Ravikant: I do encourage you to check out Vitalik's About Me page. It's a ride. So now, obviously, if you're gonna replace all these different systems, you have a scaling issue. You have to figure out, especially with a centralized mechanism like that, even just to handle Visas through put, let alone every imaginable smart contract. Naval Ravikant: That's not gonna work, if everyone's running a copy of every program on their computer. Vitalik: Yeah, totally. So if you look at the raw numbers of blockchains today, Bitcoin is currently processing a bit less than three transactions a second, and if it goes close to four then it's already at peak capacity. Ethereum, over the last few days, it's been doing about five a second, and if it goes about six then it's also at peak capacity. Vitalik: So on the other hand, Uber: on average, twelve rides a second. PayPal, several hundred, Visa, several thousand, major stock exchanges, tens of thousands. And if you wanna go up to IOT, then you're talking hundreds of thousands. And if you wanna go up to non-financial applications, so like for example there was a platform called Leeroy, which was basically just Twitter on the blockchain, then you're talking also about hundreds of thousands, possibly millions. Vitalik: So you know, there is a kind of gap from here to there. And I think right now there already is, really a lot of institutional hype in the space, and just public hype, so when you have Vladimir Putin knowing what blockchains and Ethereum are, and Paris Hilton going out promoting ICOs on Twitter, you know, that's peak hype. But I think a large part of the reason why a lot of this hasn't materialized into action yet is precisely because some of these technical obstacles that make blockchains work okay for some niche-use cases, but not really work well for mainstream use. Vitalik: Now, Uno, our team is working very hard on various kinds of scalability solutions, so you heard about buzzwords like plasma, sharding, state channels, ride-in, there's various newer ones like Perun, so all of these are various different ideas that actually do try to kind of break through this fundamental barrier, that try to either create blockchains that still maintain a large amount of security, without requiring everyone to literally process everything. Vitalik: So if you think about it, one extreme is: one guy processes everything, which is today's world. The other extreme is, everyone processes everything. Well what if you can get, like, square root of everyone, so like maybe 500 people processing each transaction? You still get enough decentralization and security for everything you need, but suddenly it's efficient enough that it actually works for stuff in the real world. Vitalik: And the other kinds of strategies are strategies that try to use the blockchain in a more intelligent way. So basically, one of the analogies that Joseph Poon from Plasma uses a lot is the idea of the blockchain as a court system. So blockchains are great at securely resolving disputes, and currently the way the naïve blockchain applications work is they just put every single transaction on the blockchain. Vitalik: But what you could do instead is you could have systems where people send messages that I call tickets, so we send messages that are off-chain by default, but where the blockchain only gets used in those specific cases where there's a disagreement. So if I have 100 Ether, and I send you the 100 Ether, then that might not ever go off-chain. But if I send you the 100 Ether, and then you claim that I never sent you the money, or I claim that I never sent you the money, then that's a transaction that I could go "okay, we have a dispute" and I could actually push it down onto the blockchain and so we still have a guarantee of security. Vitalik: Now all of these approaches have their own trade-offs, and there's this huge amount of incremental, technical work involved in figuring out what the right trade-offs are, but this starts looking like a direction that's much more promising. Naval Ravikant: And how far along are we? How long until you think that maybe we can scale to maybe, as you said, hundreds of concurrent users? How many until we can replace Visa? How many until we can replace AWS? Vitalik: Things like Visa I would definitely say a couple of years. So maybe one year, when we start seeing prototypes that have a low security level, but are still secure enough for major organizations to start just doing proof of concepts on, and a couple more years for all these solutions to really hit the mainstream. AWS is a trickier one, because… Vitalik: There are reasons why blockchains are, no matter how good they are, are never gonna completely replace centralized cloud computing. There's probably two big ones in my opinion. One big one is that there are computations that are intensive and are hard to parallelize, so decentralized clouds are really good at parallelization, because it's like Uber for your laptop. You got millions of computers from millions of countries, millions of providers, all ranging from individual laptops to, you can think of even cloud computing companies basically turning into specialized mining farms inside of the system. But if you have computations that require a really large amount of serial computation, then that's really hard to decentralize. Vitalik: And the second really touch one is privacy. If you have computations on private data, then there's basically two approaches. One of them is to make sure the computations are only done on hardware that you trust. And the second one is to use fancy cryptography, so you might have heard of buzzwords like holomorphic encryption, indistinguishability, obfuscation, to do the computations. But if you do that, then those tends to carry various areas of computational deficiency trade-offs. Naval Ravikant: So basically, for private or serial applications, you're gonna do them locally? Vitalik: Yeah, in general, I think. There's obviously always going to be this large set of applications where decentralized approaches actually don't work that well, and that's fine. Naval Ravikant: And so, you're essentially building something to be an operating system and a protocol for the world on the fly. It's gonna take a decade, probably, to get to full scalability and hopefully adoption. What do you do in terms of, there's a classic operating system developer question they wonder about: how wide do I go, and how high do I go? Naval Ravikant: So do you start adopting other applications into the stack? All these people are doing ICOs, they're building layer two tokens on top of Ethereum. Do you see Ethereum adopting any of their functionalities, or does it stay as a broad, wide [crosstalk 00:16:57]? Vitalik: Yeah, like one of Ethereum's slogans right from the start has actually been "We have no futures." So a lot of the other projects are definitely going in that direction. They're saying, oh, we support this new class of transaction for issuing a token. Oh, we support this new class of transaction that issues an ICO, and look, you can have your five parameters, with like a cap, like period, like type of auction or whatever. Vitalik: But with Ethereum, we've never gone down that road, basically for a couple of reasons. One of them is that you want the protocol to be maximally simple, because simplifying the protocol just improves consensus security, so the more consensus code you have in the protocol rules, the more likely it is that you'll have issues like two different implementations not being in sync with each other, waiting till the blockchain's just randomly splitting in half. Vitalik: The other big reason, of course, is just unknown unknowns. We have really no idea what blockchains are going to be used for five or ten years from now. And I mean, we are okay with making some specialized components that get used a lot, so like Ethereum, we have a next update, Metropolis, which is coming in October, and one of the major things that's coming in that is explicit in-protocol support for certain kinds of cryptographic operations. So like ring signatures, elliptic curve pairings, which get used as part of zero-knowledge proofs, the major theme here basically being strong cryptography and privacy. Vitalik: And the idea's kind of specialized, but it's also very generic, because almost any application could benefit from privacy. So we are willing to compromise somewhat in that direction, but we really don't wanna compromise in favor of really supporting high efficiency in every single application. Now, if that means that there are specific application categories where some platforms out-compute Ethereum, then that's fine. We don't need to be everything to everyone. Vitalik: But there are also going to be ways to specialize even within the Ethereum ecosystem as well. So there's projects like Cosmos, things like Plasma. All of these are trying to provide second-layer systems that connects to Ethereum, and in many cases are even designed in order to take advantage of the base Ethereum blockchain for security, but that can have properties of their own. And if they run well, could have things like a 500-millisecond block time, so you can run Starcraft on the blockchain. Vitalik: So those things are possible, and if you adopt this approach where if you have Ethereum as this kind of base layer that does a good job of balancing between high level of security and the scalability that a base layer needs, and then allows these other things with various different properties to get built on top, then you actually can have a blockchain ecosystem that works really well. Naval Ravikant: Got it. So you want it to be a secure base layer that doesn't have too many features, and really lets the innovation happen on top. But you have things like privacy and security and consensus at the core layer. Naval Ravikant: But the big application that everyone has obsessed about, in fact I think the reason why people are so interested in cryptocurrency these days, is just cause they're making money of them. So the fundamental application right now seems to be just money. And Bitcoin, the protocol is in service of the currency. And here it seems almost the opposite. Is that fair to say? Vitalik: The currency is in the service of the protocol, yeah, definitely. I'd definitely say that is our philosophy. Although, yeah, it's definitely the case, that there's a lot of adoption purely because of people's speculative interests. But then, on the other hand, that has a bad side and a good side. And I think one of the good sides really is that in part because of this, there actually is a lot more interest in the possible social benefits of the decentralized technology than there are in many of the other approaches that have been tried over the last decade. Vitalik: Like if you look at Diaspora: great idea, ended up failing completely. And a lot of these decentralized projects tend to not work very well, in a large part because basically lack of funding, and just lack of a good incentive for actually building out the infrastructure. Whereas, here in the cryptocurrency lands, there's a lot of money, and at least that one particular problem can be solved. Naval Ravikant: Right. So now, because we've married the economics to the crypto, the incentive issues are solves, and economic incentives can unite people in a way that pure politics cannot. Vitalik: Yeah. I mean, crypto is really ultimately all about incentives on multiple levels, from the community all the way down to the security of the consensus protocol. You just cannot reason about security of blockchain consensus protocols, without reasoning about economics. It's not about if half of these people are honest, then we can prove the system is secure, or if Magic Bob in the sky is honest, we know the system is secure. Vitalik: The system is secure, because we have mathematical proofs that say if the system breaks then the guy that did it loses 100 million dollars. That's what we mean by cryptoeconomics: combining together this kind of cryptography and mathematical proofs, and economic game theory reasoning all together. Naval Ravikant: So if you assemble all this together, it used to be in God we trust, then it used to be in nation-states we trust, now it's gonna be in math we trust. Are the nation-states gonna take this lying down? You just came back from China; you saw what's happening there. Vitalik: Yeah, and in the way that traditional political economic powers are going to respond to all of this is definitely going to be a big part of the story over the next few years. And ultimately, it really does disrupt traditional power structures. And whether it's Washington, New York, or Silicon Valley, it really does pose serious challenges to the way that things are working now. Vitalik: But on the other hand, one of the things we've learned, actually, is that a lot of the people even inside these power structures seem, not all of them but at least some of them seem quite friendly to these ideas of disruption. There definitely are plenty of JP Morgan employees who are really excited about the possibilities of blockchain technology. And the fact that you work for a large company, or that you work for a government, doesn't mean that you're a hopelessly boring suit, right? Vitalik: One of my favorite examples of this is that in Taiwan, there's a politician named Audrey Tang, and she's transgender, and she described herself as a conservative anarchist, and yet she is the head of, I believe, the digital ministry of the Taiwanese government. So this is obviously someone who is particularly special, and she has been recognized as one of the ten greatest programmers there, but to a much lesser degree these kinds of people do exist. And large organizations in general are complex. You have people with one kind of belief on one side, with another kind of belief on the other side. Vitalik: Even if you look at the Chinese government, their response has clearly been to show that there are different groups of people inside of the government who have different ideas about which direction they wants to go, and lately, if you look at all the news about them regulating VPNs and chat groups and so forth, it's obvious that the arc of this decade is that the conservative side over there is winning. And to be fair, a lot of those things are happening in many other places in the world as well, but large organizations are definitely still diverse. Naval Ravikant: It's amazing, China's finding out that its financial and capital control policy boils down to its firewall policy. So we could talk for hours; I mean, Vitalik's knowledge is incredible here. We've just scratched the bare surface. I encourage you to follow him in Twitter, where he's incredibly good-natured about all the trolls that are constantly attacking him, so don't be one of those people. And learn everything you can about Ethereum, because it really is very much the future in cryptocurrency. So thank you for being with us, Vitalik, after your short trip to China.