Vitalik: Ethereum, Part 1
Haseeb and I interview Vitalik Buterin about Ethereum and blockchains. Also see Part 2.
Mục Lục
Transcript
Naval: Welcome back to the podcast. We have with us Haseeb Qureshi, who is a partner at Dragonfly and someone I used to work with back when I was more active in crypto-land. And we have Vitalik Buterin, who is, of course, the polymath genius—although he may bristle at that description—who created Ethereum, which was the first smart contract blockchain to gain any volume and changed the face of blockchain computing as we know it.
Haseeb, do you want to give us a quick, one-paragraph background on yourself?
Haseeb’s Background
Haseeb: I’m a software engineer by background and I’m now an investor. I run Dragonfly Capital, which is a global crypto fund—we only invest in crypto—and I’ve been doing this for a little bit over four years now.
It’s funny because when I first got into crypto, I remember I was actually at IC3, this academic crypto conference, where I met you and Vitalik for the first time. I had just left my job at Airbnb as a software engineer, and I remember I asked you, “What do you think is the most important problem to solve in crypto?” Your answer was something about wallets. You were like, “I think it’s important to build more wallets.” And at that time I had a vague understanding of what that meant, to build wallets. That was what triggered my dive down the rabbit hole of Ethereum.
In the very early days when I was first really diving deep into crypto, after that IC3 conference, I remember coming away with a very strong feeling that Bitcoin was going to die. I was like, “Look at the obvious and massive delta in the intellectual energy and character of what’s going on in the Ethereum world, which is everything that I saw at IC3, versus what I saw in the Bitcoin world, which was a whole lot of religious anger and fervor and not a whole lot of innovation.”
I turned out to have a very simplistic understanding at that time. But that was how I first got into crypto full-time, through that small interaction that you and I had back then.
Naval: You also have a background as a poker player if I remember correctly.
Haseeb: That is also correct. In a former life before I got into the technology world, I used to be a professional poker player for about five years.
Naval: There’s a strangely large number of us who were either in Magic: The Gathering or in poker before we got into crypto.
Vitalik: Or World of Warcraft.
Naval: Maybe it’s just geeks and gamers.
Haseeb: I do think it’s bigger than that. I have this theory that you and I have talked about before. Every generation there is some hustle that, if you’re really smart, very aggressive in looking for edges and not afraid of looking weird, there are ways to get ahead early or to make a lot of money in a way that’s nonobvious to most people and is maybe even slightly subversive. It’s the kind of thing your parents would raise their eyebrows at if you were spending a lot of time on it.
In my day, that was poker. There was a time when it became fantasy sports, then it became crypto, then it became DeFi and liquidity mining, then it became NFT trading. Two years from now there’ll be something else. When NFTs are very professionalized and there’s not that much alpha to be made turning NFTs, there’ll be something else that young, really hungry people who are not afraid of looking dumb are going to be doing to make a lot of money.
Naval: Vitalik, you want to give us a quick background?
Vitalik’s Background
Vitalik: I was born in Russia and moved to Canada when I was 6. When I was halfway through high school, I had already been doing a lot of math, a lot of programming, and I came upon this interesting Bitcoin thing. It fascinated me immediately because of how it combines all of my interests at the time.
Bitcoin has the mathematical aspects, it has the cryptography, it has the computer science. It’s all open source software, and I was very into open source software at the time. And then also there’s these economic and political aspects. I had been following Austrian economics a little already. Bitcoin just hit all of those buttons.
I started trying my best to join the Bitcoin community. I scoured through the Bitcoin forums looking for jobs that would pay in Bitcoin, because I figured the point of Bitcoin is that you’re supposed to earn it. I found someone willing to pay me 5 Bitcoins—which back then was $4—per article to write articles for his blog, which I did for a few months.
Then, a poker player out of Romania named Mihai Alisie reached out to me and said that he was starting a Bitcoin magazine and wanted me to be the first writer. I immediately agreed, and I became the first writer for Bitcoin Magazine.
I started doing more and more Bitcoin-related writing, learning about Bitcoin, and eventually more programming-related projects. I did some work for a covert coins library called Bitcoin X and started getting deeper and deeper into the space.
Then in mid-2013, I decided that I would take half a year off of university and go around the world and visit all of the Bitcoin communities I could to understand them and see what everyone was up to. After a few months, I came upon these people who were trying to take the blockchain and extend it to do things other than cryptocurrency.
There was this project called “Covert Coins” that had existed for a long time that was trying to use the blockchain as this database layer to issue other kinds of assets on top. You could issue shares and digital dollars on the blockchain. There was a project called “Master Coin” that was trying to extend that even further to create a full financial system, to do what we call “DeFi” today. This was a very early version of that.
After I spent enough time in these circles, I eventually had my own idea for how to create a more general purpose version of all of these ideas: instead of a blockchain for one application, a blockchain that you could build any application on top of.
And that’s where Ethereum came from.
Naval: Ethereum is a blockchain on which you can build any application. And Bitcoin is obviously limited to trying to be new money or a new reserve currency, or nowadays some people say “digital gold.” So you were the original creator along with a team that coded it up, and you released it. How old were you when you did that?
Vitalik: Nineteen.
Naval: And how long had you been in computers at that point? When did you first start programming?
Vitalik: I think I started programming when I was around ten or so.
Naval: And were you mostly self-taught, or did you go to school for this? What’s the secret here, besides the obvious genetics?
Vitalik: I just grew up programming video games for myself to play. I would make a video game, play it until I got tired, then make another video game, and then play it until I got tired. That’s pretty much how I learned all the way up until high school.
Naval: Did your parents do anything or did the environment do anything uniquely to foster your development in programming?
Vitalik: My parents did buy me a lot of programming books. They did find some programming classes for me and some math classes as well. They were definitely very supportive.
Naval: And were you in a gifted program or just a normal public school system or private school?
Vitalik: I was in the gifted program or the public schools up until eighth grade. Then for high school my parents moved me over to a private school, and I found the private school to be a much better experience.
Naval: Did you meet most of your collaboration colleagues online, or was there a physical place that you were at? Where were they all hanging out for you to stumble into them?
Vitalik: It was pretty much entirely online. The Bitcoin world lived on a forum, unless you were in one of the major cities like New York or San Francisco that had a community started almost from the beginning. Bitcoin Magazine was a fully remote company from day one. Bitcoin Weekly, the blog before Bitcoin Magazine, was also fully remote from day one.
Naval: And to this day, most of your collaborators are pretty much spread out all over the world. Isn’t that correct?
Vitalik: Pretty much.
What Is Ethereum?
A blockchain you can build any app on top of
Naval: Ethereum came out to the world in 2014. If I remember correctly, you’d been developing it for a few years before that. There was a public sale, a lot of people got involved, and then in 2017 there was a boom around people building assets on top of Ethereum, different kinds of coins. Then, of course, gaming, NFTs, DeFi, and all of those things came along.
Let’s go through the evolution of Ethereum. What does Ethereum do at a core level? What does it do well? And today, what does it do poorly? What does it need to get better at?
Vitalik: I think of Ethereum as a general purpose blockchain. So instead of being a blockchain for one application, it’s a blockchain that you can build any application on top of. The way that you do this on Ethereum is you write a piece of code and you create a digital transaction that contains that piece of code and publishes it.
When you publish this transaction and that transaction gets included into a block on the blockchain, this creates an object called a “contract.” This is a virtual object that the blockchain keeps track of. So a contract is an object that contains a piece of code.
Now the blockchain has this object that has a piece of code and that is like a little application that the Ethereum blockchain maintains from that point forward. Anyone after that point can send another transaction that says, “I want to talk to this object.”
So step one, I create a transaction that creates this object. We’ll call that object X. Then step two, you want to use my application, so you send the transaction, and in your transaction you say, “I want to talk to smart contract X, and here’s a little piece of data that says what I want to do with that application.”
When that transaction gets coded in a block, the piece of code that I first published runs, taking as input the data from your transaction, and interprets it in whatever way it wants.
We can make this more concrete with an example.
Let’s say I have a company and I want to issue shares on the blockchain. I am going to create a transaction that contains a program. The rules of that program are going to say, “Well, what can you do with shares?” We’ll just say you can transfer your shares to someone else and you can vote, right?
The program is going to interpret any data that it sees either as an instruction to transfer your shares to someone else or as an instruction to make a vote. I publish this transaction, and that initializes the whole thing. As part of that transaction, I might say, “Naval has 50 shares, Haseeb has 100 shares and I have 25 shares.” So now there is this thing on the blockchain and it has a piece of code. It has its own little memory that says, “I have 25, Haseeb has 100 and Naval has 50,” right?
If Naval is feeling generous and wants to give half his shares to me, he is going to create a transaction. And that transaction is going to have some data. It’s going to encode this idea that I, being Naval, want to send 25 of my shares to Vitalik. So you create a transaction that encodes this and send it to the network, and it gets included into a block.
Once it gets included, the piece of code runs. The piece of code sees the transaction and says, “OK, clearly I have to transfer 25 shares from Naval to Vitalik. Before, Naval had 50, so I’m going to subtract 25 and now Naval has 25. Before Vitalik had 25, now Vitalik has 50. I’m going to write down that Vitalik has 50 now. Good.”
And that’s it. The transaction got processed.
Advantages and Disadvantages of Ethereum
Eth trades efficiency for transparency
Naval: Why do all this in the cloud in this very convoluted way? This is very complicated. Why not just use a normal computer? Why not just send an email?
Vitalik: This creates this very transparent, public record of what the rules are. There’s a guarantee that all of the interactions with this application that I created followed the rules. There is no actor that has a backdoor key.
Naval: It’s a trusted computer in the cloud, and each of us can verify all of the activity. We can audit all of it, and we know that nobody cheated. Nobody else moved my funds. I was the one who moved the funds and everyone authenticated the code, which was exactly the code that was supposed to be run. And there are obviously sacrifices for this, right? This is not free.
Vitalik: Exactly. Even I, as the creator of the contract in this example, do not have the ability to later go in and say, “Oh, I changed my mind. I’m going to give myself 400 shares.” Once I create it and publish it, I have no more privileges than anyone else. The application doesn’t even have an owner.
So that’s powerful, right? Completely neutral, completely transparent, visible, treats everyone equally according to what the rules are.
Now, what do you sacrifice for this? One big thing that you sacrifice is efficiency.
The way that all of these blockchains, including Bitcoin and Ethereum, work is that you have this network of tens of thousands of computers, each of which helps to verify the transaction. When I broadcast this transaction, that transaction goes out to every single computer on the network and every single computer on the network runs that piece of code. Every single computer on the network verifies it. Every single computer on the network processes it.
Naval: Parallel computing was, “I take my code, I split it across a thousand computers, and each one runs one-thousandth of the code.” Now I send it to a thousand computers, and all thousand computers run my code.
Vitalik: Exactly, it’s very different computing. One way to intuitively think about why it makes sense is to compare text to audio and video.
Right now we’re recording a podcast, and the podcast has some audio and some video. To see each other on video, there’s hundreds of thousands of bites that are flowing around between us every second.
Technically, those hundreds of thousands of bites aren’t necessary. If you wanted to, we could just do the whole thing over a text conversation. But there are benefits to us being able to hear each other’s voices and see each other’s expressions. So there’s already lots of very high overhead computation that people do with their computers. Video and audio are great examples.
Like plain text, Eth is simple and efficient
The things that happen in the blockchain are more similar to text—like Naval minus 25, Vitalik plus 25. It’s this extremely simple, extremely efficient stuff.
So, it’s perfectly viable to have many thousands of users and even millions of users’ activity all get verified by one single computer, because the blockchain doesn’t do everything. The blockchain just does this core business logic, and the core business logic is not actually all that complex.
Only high-value transactions can afford the blockchain
Haseeb: This is because of the constraints of blockchains. It’s a function of the constraints of all the redundancy you have to have when you’re on blockchains. We can only afford to put the “Naval minus 25, Vitalik plus 25” on the blockchain. The goal in the long run is that we want to make it so that more and more kinds of low value computations can also be happening on the blockchain. But right now, out of necessity, only high value transactions can afford to pay the cost.
Naval: To back up for a second, what you’ve done is you’ve built a computer in the cloud, a virtual computer, that’s stitched out of thousands or tens of thousands of real computers, and that computer is very inefficient. It’s very slow. It’s going to move at a very slow speed. So comparing it in throughput to your home computer, or to a super computer, is nonsense; it’s besides the point.
But any piece of code running on this is very trustworthy, and you know it hasn’t been hacked. And now you no longer need a government or you no longer need a single actor in the middle, like a Mark Zuckerberg running Facebook, to tell you which transactions are valid, which contracts are valid, which programs are valid, and which ones aren’t.
Doing away with ‘trusted’ third parties
You’ve done away with the need for trusted third parties, and you’ve replaced it with a trusted computer that is being audited, verified and checked by thousands or tens of thousands of other computers.
The technological complexity comes in scaling this; making this computer faster; keeping it secure; creating incentives, both economic and technological; having an incentive mechanism in there so that people want to add computers to this network; and also having a disincentive mechanism to use the network. You have to pay for it, otherwise you can easily overwhelm it.
Trading performance for security
This giant contraption is Ethereum. People have, of course, come along and created other smart contract blockchains. Even though we call it a “smart contract” blockchain, it’s really a trusted computer in the cloud that can, in theory, run any application—but it trades off performance in exchange for security, and that security can be measured through decentralization.
In other words, no single entity can control the computer. It can be measured in terms of how secure the code is, if it be hacked or not, et cetera. There’s a lot of subtle and beautiful elements that come out of it that are non obvious.
We’re used to thinking of computers as, “OK, Facebook runs some computers. These are central computers run by Mark Zuckerberg and crew, and the code is not open. Of course I’m not entitled to see the code. I’m just a user. I don’t own my data. They own the data. It’s sitting in that database, and I don’t have access to the database to read or write from it. I have to go to Facebook and ask them to read or write from the database.”
But now you’ve created a computer where the code is all open. In fact, even the data is open; but some of it’s encrypted, some of it’s not. Some data anyone has access to see. Some data you actually need to have your encryption-decryption key to get access to. And anyone can read or write from it, if they have the proper permissions. This is a mind-blowingly crazy concept.
It is a truly shared database with no owner and permissions at a very granular user level, where the users actually own the data. And, in fact, the users own the network that’s now run by this database. So if someone built the next Facebook application on top of Ethereum, they could engineer it in such a way the users actually own that application.
‘Impregnable castles made of math’
This is the remarkable achievement underlying Ethereum, and it’s hard to encapsulate in a few words. One way that I tried to do it was I said, “Smart contracts are castles made of math, freely trading with each other. Castles are impregnable.”
Encryption is very strong and creates a strong defense, but they’re made out of mathematics—very much like the video games that you were programming in your youth. These are constructs put together by anyone, anonymously or pseudonymously around the world. They’re engaging in free trade with each other, where the owner of each castle is deciding what trade happens with somebody else.
Ethereum’s limitations are latency and privacy
Now, there are obviously substantial limitations with this. We’ve already talked about how this computer network is going to move at the speed of roughly one computer, at least until we get into some of the ways to scale it and to grow. What are other limitations of this network? Can you give us some concrete applications of what it’s good for and where you wouldn’t use it?
Vitalik: Aside from scaling, the other big performance element on it is latency.
When I send a transaction, I have to wait maybe about half a minute for the transaction to get included and to get a confirmation back. In the future, this is going to get somewhat more efficient. Maybe like 10 or 12 seconds is going to be realistic soon. But this isn’t a real time thing that you would stick a real time video game logic onto. For example, you could use it for payments, but you probably don’t want to use it for things that are more real time than payments need to be.
That’s one limitation.
Another limitation is the transparency properties. This probably is one of those places where we might have to get into some cryptography weeds. Basically, the blockchain by itself is fully transparent, right? Everyone can see everything that’s going on.
If we go back to the example and we issue the shares of this company on the blockchain, then when Naval sends me his 25 shares, everyone in the world is going to be able to see that. Now, there might be some cases where that’s totally fine, but there might be some cases where you want some privacy.
This is one of those areas where you often can get privacy and security at the same time. There is this extra cryptographic math. We don’t need to get into it in depth, but it’s worth saying the name. It’s “zero-knowledge proof.” The way that I describe zero-knowledge proofs is that it’s a way of proving something about a piece of information without revealing that piece of information.
Let’s say we’re going to have this same application, the shares of my company on the blockchain. Except, instead of the blockchain recording the numbers, 25, 50 and 100, the blockchain is going to record an encrypted version of 25, an encrypted version of 50, and an encrypted version of 100.
Then, when Naval sends me his 25 shares, he’s going to say, “Here is the encryption of the number of shares I have right now; here is the encryption of the new number of shares I’m going to have; here is the encryption of the number of shares I’m giving Vitalik; and then here is this magic cryptographic proof that says that the numbers line up. It says X plus Y equals Z, and I’m not trying to give away more than I actually have.”
You can verify that everything’s following the rules without verifying which specific thing a particular transaction is doing and with what parameters.
There are ways to get back your privacy
There are ways to get back your security and privacy at the same time. There are still some limits to how much privacy you can get. For example, even in this case, people can see when people are interacting with this particular application at all. If you just use a blockchain, you lose a lot of privacy. If you use a blockchain plus zero-knowledge proofs and other kinds of cryptography, you can often get back a lot of privacy.
You can potentially get even more privacy than in the centralized case. In a traditional centralized system, there is Facebook that runs everything and sees everything. But with these kinds of systems, there is no one at the center. There is this mathematical castle in the sky verifying the proofs.
Naval: In theory we could get digital cash, which is anonymous. One step further, we could even get anonymous smart contracts, where maybe you can tell that you and I interact with a smart contract but the details beyond that are lost.
Vitalik: Not even in theory. This is something that’s existed. Zcash has been around for more than five years now.
Naval: Zcash is a blockchain that is built around zero-knowledge proofs where all the transactions, recipients and senders can be anonymous. Truly “moon math,” as they say.
The Future of Blockchain Technology
Can Eth provide a high level of decentralization and a high level of scaling at the same time?
Naval: Let’s fast-forward a bit to ten, twenty years from now. I know that’s really long out in blockchain-land, because Bitcoin only came around in 2009 and Eth only came around in the early teens. But let’s say ten or twenty years from now, we’ve done all the hard engineering that we need. We’ve built as much technology as we can imagine. What are the limits of blockchain scalability and privacy? Where do we end up?
Do we end up with every transaction we want to have private is private, or do you think a lot of them stay public? Do you think that we’re using blockchains for almost all cloud computing, or is it still limited into the financial and high-value domain?
Vitalik: One of the things that it’s important to mention is that the scalability of blockchains is improving pretty rapidly. The way the blockchains work today is that I send a transaction, the transaction gets on the network and every single computer on the network has to verify that transaction.
There are scaling techniques. Once again, we don’t have to get into the weeds, but things like roll-ups and sharding are technologies that allow you to use blockchains in a more clever way, where you still have a lot of very redundant computation happening but it’s much more efficient.
Naval: What are the different techniques? Let’s go through those.
Vitalik: In a centralized system, you send a transaction to Facebook. Facebook has one computer. One computer verifies it. In a blockchain, you have 100,000 computers. You send your transaction. All 100,000 computers verify it.
Sharding leads to more centralization
Sharding is: Send your transaction. The system randomly chooses 1,000 computers out of 100,000 computers. Those 1,000 computers verify it, and the transaction gets accepted. Instead of all 100,000 computers verifying, there’s only 1,000 computers verifying.
When you have lots of transactions being accepted into the system, every single computer in the network on average is only going to have to verify maybe 1% of all the activity. You can crank up the efficiency even higher. Eventually it could say every computer doesn’t even have to verify 1%; every computer maybe only has to verify 0.1%.
Think of how BitTorrent works, right? BitTorrent is also like a highly distributed network. If you want to download the really popular movies, you generally can. But on BitTorrent, you don’t literally have every computer download every movie, because that’s totally crazy.
On average the movies are going to have a few hundred seeders, maybe a few thousand. That number is big enough that you have the redundancy and you can generally get the content that you want, but it’s not so redundant that it just becomes crazy inefficient.
The question is, can you create a network that works the way that BitTorrent works—from the point of view of data distribution and efficiency—but creates something that still has the same verification properties that blockchains do? That is what sharding does.
One of the weaknesses of sharding is that it is more technically complicated. You have to actually do the work to figure out what exactly are the rules by which these transactions get split apart between the nodes, how they make them all talk to each other, and how you do this distributed verification.
The approach that is simpler from a protocol perspective is to just say, “We’re going to require every node in this network to be really powerful.” So instead of a laptop being able to be a node, we’ll require every node to be almost a supercomputer. If you do that, then you can make blockchains that still work the way that they work today, but they could process more transactions. Maybe instead of being able to process 50 a second, they might be able to process 1,000 a second or 5,000 a second.
Verifiability at the expense of scaling
The weakness of this approach—and the reason why Ethereum is not taking this approach—is that it leads to more centralization. The number of people who can actually verify what’s going on decreases. The number of people who need to collude to try to push through some change to the protocol that the users might not want becomes much smaller.
It still gets much more decentralized than Facebook, but it becomes much less decentralized than it could be.
Maybe in some cases that’s the right approach. If you want to make a decentralized video game and it’s not the sort of thing where if it gets captured people lose millions or hundreds of millions of dollars, then maybe this more centralized approach is actually totally fine. There is this full spectrum of applications in the middle where it’s fine.
If you want something that’s high assurance, then you do want to create the decentralization up close—as in the maximum—and the current Ethereum does provide that. It does provide this very high level of decentralization and high level of verifiability, but at the expense of scaling.
What we’re trying to do with sharding is we’re trying to say, “Can you provide this high level of decentralization and high level of verifiability and still have a higher level of scaling at the same time?”
Decentralization
How much decentralization is the right amount?
Haseeb: I want to probe a little bit further on this decentralization question. A lot of folks coming into crypto, especially if they don’t have a lot of experience, notice that decentralization is important. It’s hard to end up in crypto without believing that decentralization matters to some degree.
But the question is: Why here? You show up and there’s a cultural slider around how much decentralization is the right amount. And Ethereum is like, “You have to be able to verify Ethereum on a laptop.” And the question is, why a laptop?
Vitalik: The larger the number of users that are verifying by default, the more secure our blockchain is.
In the extreme, if nobody verifies by default except 10 different staking polls, then all that you need to try to force a change to the rules that the users might not like is 10 staking polls to come together and agree on it.
But if, on the other hand, you have 10,000 users, where the way that those users interact with the chain by default is they verify it locally and they only accept blocks if they see those blocks as being valid, then if someone wants to try to push some change to the rules, they actually have to go to the users and they have to convince the entire set of users to go along with that.
That’s a much higher bar.
Haseeb: Solana is a super high throughput blockchain. It has much higher hardware requirements than what Ethereum has.
If I were a Solana proponent I might say, “Look, Ethereum has 5,000 some-odd nodes, something in that ballpark. Solana has, let’s say, 500”—I don’t know exactly, let’s just say for the sake of argument—“To actually get everybody in Solana to somehow fail to notice that there’s been some fundamental failure or safety violation within Solana would be very difficult, right? Yes, it’s one-tenth the number of nodes in Ethereum. But Ethereum just has some number of nodes and Solana has some number of nodes. They’re all pretty large, and they’re all large enough communities that they would notice if something were to go wrong.”
What is your counter-argument to the Solana advocate who says, “Look, it’s consumer hardware. It’s expensive consumer hardware, but it’s still consumer hardware, and somebody who’s sufficiently motivated can still go out and verify Solana transactions.”
What happens when subsidies to join nodes disappear?
Vitalik: The way that I think about this is it’s not just about what is the level of technical capability of running a node. It’s that once it gets to the point where running a node is so easy that people are comfortable doing it by default, right?
If running a node is hard but possible, then there is this constant pressure to try to save time and point yourself to another node. Potentially, even some of the people participating in the proof-of-stake incentives are going to start pointing to the same node. I think that actually happened in EOS a couple of years back. Right now doesn’t the Solana Foundation even have to explicitly do a whole bunch of work to actively encourage people to run nodes?
Haseeb: All these new little ones have a lot of subsidies that go out to most of the node providers.
Vitalik: Exactly. So the question is, when the subsidies disappear is the network still going to work that way?
There’s actually two aspects to it. One aspect is the technical feasibility. Is running a node easy enough that people are going to keep doing it as a hobby? Even with Ethereum, there’s a lot that we could do to make running a node even easier than it is today. A lot of the scaling things that we’re doing and a lot of the protocol changes that we’re doing over the next couple of years are trying to be in that direction.
Stateless clients make it possible to verify the chain with very little on your hard drive
For example there is this feature called stateless clients that we’re working on. The goal of stateless clients is that it becomes possible to verify the chain without having more than a very tiny amount of information on your hard drive. Right now, an Ethereum node takes up half my hard drive. After stateless clients, it’s not going to take up any of my hard drive.
Bitcoin is in a very good place already. From a node running ease point of view, Bitcoin is in a better place than Ethereum. But Bitcoin does, obviously, sacrifice by having significantly lower throughput than Ethereum does.
So, technical feasibility is one aspect. Another important aspect is culture.
Staking culture is difficult to cultivate
People need to feel like it is this very ingrained responsibility that there’s lots of this very independent verification going on. That is something that is difficult to cultivate. It is one of those things where if you lose it, it is fairly difficult to try to get it back. I do think Bitcoin has that.
I do think that in Ethereum, with the staking culture, it’s actually been improving recently, and I want it to keep improving. But it is the sort of thing that needs to be highly valued.
The two things play into each other. If you have a culture that values running nodes, then you have a culture that’s going to value making protocol changes to make it easier to run a node. And if it’s possible to run a node, just technically speaking, then it’s more likely that you’re going to have that kind of culture.
People sometimes ask us, “Hey, why not crank up the parameters by a factor of five,” and, “Why not, require people to have ten terabyte hard drives?” A lot of people in Ethereum core development are actively resisting this. I think it’s only Ethereum and Bitcoin that almost have cultures that are willing to actively make sacrifices for decentralization to that same extent.
New blockchain players tend to go for minimum viable decentralization
Naval: I’ve always taken the point of view that the most decentralized coins will win in the end, because the whole point of blockchains is decentralization. Otherwise, you wouldn’t need them in the first place.
That said, it does seem that every wave that happens in crypto, where new users come in and there’s a boom and a bull market, the new users tend to go for minimum viable decentralization. They don’t care about decentralization until the bogeyman shows up and starts stomping them out of existence.
Even in decentralized finance, a lot of these are decentralized in name only. They’re running centralized front ends. The teams are in well known locations. They’re probably failing the Howey test at some level or another. We’re going to find out just how far governments are going to go to test the decentralization metric.
People don’t value privacy until somebody goes to jail over it
Privacy’s the same. People don’t value privacy until somebody goes to jail over it, and then they’re like, “Oh wait, I want privacy.” Or someone gets de-platformed.
Right now we’re in a bull market phase. When the risks aren’t as high, people sort of ignore decentralization privacy. But after a couple of incidents, you will see people start paying attention to decentralization and privacy.
At some level, the OGs know this, because most money is still locked up in Bitcoin. Some of that is momentum, but some of that is also security. You can put money into Bitcoin and forget about it for a long time. I’m not convinced you can do that in a lot of the other protocols that are not completely decentralized.
Privacy, everyone just seems to be ignoring that for now.
Vitalik: Well, Tornado Cash exists.
Ethereum’s Philosophy
Eth is ‘simple at the base’
Naval: Do you see Tornado Cash and Ethereum staying at a separate layer or separate application, or do you ever see it being folded into Ethereum at a core level?
Vitalik: Realistically it’ll stay at a separate layer. Ethereum’s philosophy, in general, is to try to be simple at the base and for a lot of those extra features to be something that gets built on top. There are a lot of other blockchains that take different philosophies. In EOS, their default wallet type has social recovery in it or something like that.
Haseeb: Vitalik, you’ve got to update your references.
Social recovery wallets make it easier to be your own bank
Naval: I feel dirty just talking about that chain. We should get into social recovery. Social recovery is a really interesting concept.
Now you have to be your own bank if you really want to be a crypto-head. It’s scary. Some of us have to trust third-party custodians, but then you’re back into normal banking. So if you want to maintain it yourself, then social recovery wallets are where you can share your wallet with your friends, or family, or other trusted people, so that when you need to recover it, it takes two out of three, or three out of five, or whatever keys.
Bitcoin has native support for this. Eth now has products like Gnosis Safe and others that lend support to this. So the wallets are getting better, and the security’s getting better.
Block space is getting expensive
One thing that we didn’t talk about is that a blockchain runs the market for block space. There’s limited block space, because there’s limited computing power. So you’re always participating in an auction and you’re paying to get your execution of your application included in the current run of the blockchain. To do that, you’re buying block space, and Ethereum block space has gotten quite expensive.
Things like sharding and adding these things called roll-ups and Layer 2—which we haven’t talked about—these are ways of creating more block space and bringing down the cost of blocks. But even if Ethereum stays very expensive, then the high-value applications will stay on Ethereum. Those people will just pay more.
If you’re building Wall Street, you want rule of law. You want equal protection in the law. You want property rights. So you pay for that. Whereas, if you’re just building a game and you’re trading magic axes and swords and they’re worth a couple of dollars each, maybe you just go to a blockchain that doesn’t value decentralization as much.
So perhaps the applications break down that way.
Culture of Innovation
There’s not a lot of innovation on Bitcoin, by design
Naval: We didn’t talk about the whole Eth ecosystem, which is interesting.
We were talking about scalability, and the point I got was that Eth is a decentralization culture. It’s going to go for decentralization first, which actually makes it attractive for high-value applications like decentralized finance, because if you’re trading $10,000, you’ll pay the $50 in fees for the security.
One of the things we haven’t talked about is this incredible ecosystem of all these people building on Ethereum and around it.
My personal view is that Eth got saved. If you look at Bitcoin, there’s not been a lot of innovation. Sure, the core developers have done some good work.
But now the meme in Bitcoin is, “No, no, we don’t change anything because we’re trying to be the reserve currency here. We’re trying to be digital gold, so we don’t want to change anything. Everything is fixed, immaculate conception, it was mostly right at the beginning when we made a few tweaks. It’s good to go. We’ll fix a few little things, but you can rely on this because it doesn’t need to change. It already does the job, and it does it well.”
I don’t buy the maximalist argument that that is the end goal of all blockchains. There are other blockchain things you can do, and in Eth we’re doing a lot more than just that.
Even there I notice there’s an incentive mechanism around coins. When you create a blockchain, you create these coins to regulate access in the network. Now, in theory you reward the people who are doing the hard work around the blockchain. You reward the miners who are securing the blockchain or the stakers who are securing the blockchain.
It’s been hard to reward the developers. I know Zcash had a founder’s reward, which was controversial. Satoshi has 5% of the Bitcoin blockchain, the Zcash founder’s award is like 10% of the blockchain. Some of the modern blockchains, 70, 80, 90, 99% is going to the initial teams and investors, and these are the VC chains.
Blockchain’s ‘free-rider effect’
So how do you incent people to build on somebody else’s blockchain? Because the incentive is becoming, “Well, that’s a great blockchain you got there, it’s open-source. Let me fork it. Let me make a copy of it and run it myself.” Or, I’ve seen game developers who are saying, “I don’t need Solana-level security. I’ll just fork an existing blockchain, just make it my own, and my own users who are running the game will also run the blockchain.”
The incentives aren’t there for developers to build on somebody else’s blockchain.
I got in trouble for saying this in 2017, but I still stand by it: There’s a free-rider effect on blockchains. There’s a strong incentive to fork a chain and build your own rather than to build on an existing chain.
Innovation is slowest at Layer 1
There’s a couple of brilliant things that, maybe by accident, maybe deliberately, happened on Eth that have allowed an ecosystem of innovation on Eth. There’s ERC-20 which is people building their own tokens, and then there’s these roll-ups and layers, where people are building on top of Eth and, in theory, they’re going to issue their own token.
I would argue that the one place where the Eth innovation has been the slowest, and maybe because it’s technically the hardest, has been at your own layer. It’s been at Layer 1, where the Ethereum Foundation is working, where the sharding is supposed to take place and where Eth 2.0 is supposed to get built. That’s where the schedule has been the furthest behind.
Whereas on roll-ups, Layer 2, ERC-20 and other assets built on top of Eth, things are moving very, very fast. I wonder if it’s just as simple as incentives. Have you thought about, “How do I incent the people working at layer one to move fast?”
Maybe if they got their own token somehow?
Vitalik: The Ethereum Foundation does have a bunch of Eth, and it uses Eth to pay people working on Layer 1.
A few months ago we announced a client developer reward where every one of the team that’s building a piece of software that understands and talks to the Ethereum protocol and can run a node gets some amount of Eth that was in the form of Eth that’s locked up in the proof-of-stake system, that’s not fully connected to the rest of Ethereum yet. Ethereum has to have fully switched over to proof-of-stake in order for them to be able to withdraw that money. So that kind of incentive exists.
Layer 2 moves faster because it’s permissionless
It’s not even so much about incentives. The application layer and the Layer 2 has been faster because building at those layers is permissionless. You don’t have to coordinate with anyone to build a Layer 2. You don’t have to coordinate with anyone to build an application.
Whereas, if you want to change the Ethereum protocol, that’s one of the most permissioned things out there. You have to get lots of people to agree. You have to get an entire community to buy into a protocol change to the layer.
What if we froze Layer 1 today?
Naval: Here’s an interesting question. Imagine we froze Layer 1 today. You could make small changes like the Bitcoin folks do, but you couldn’t make big changes. The Layer 2 people continue innovating permissionlessly. They keep building all their wallets and associated technologies. But you’re still in proof-of-work, you’re still in that sharded, that Layer 1.
Could Eth still work? Could Layer 2 carry it along for a while?
Vitalik: It could. I don’t think people would be happy about it, because people in Ethereum do love proof-of-stake and want to get over to it quickly.
Just to give some concrete numbers, today Ethereum is on average doing about 15 to 20 transactions a second. These are complex transactions. A lot of them are significantly more complex than what Bitcoin does. If you just did money transfers, then it could go up to about 50 transactions a second with current settings. But if we just move to Layer 2s, then we could go up to about 5,000 transactions a second.
You keep the same blockchain, but instead of using the blockchain directly, you use these extra protocols that package up the information and use the blockchain in different ways. You’re still doing the same stuff. You’re still getting the same security guarantees. But you’re using the blockchain more efficiently. There’s more compression, and more of the computation is being done off-chain through other protocols.
There are hundreds of improvements that can happen with Layer 2s done well. That has not happened yet. Now, Layer 2s as they exist today, they’re very far from perfect. Instead of a 100X gain, there might only be 10X gain or even a bit less at the moment.
But roll-up technology is improving. All of these things are improving.
So if Layer 1s did not change, if all we could do was just more Layer 2s, we could get up to 5,000 transactions a second. That would definitely be a pretty good Ethereum already.
Data for computation trade-off
Naval: And that Layer 2 execution is code. What about the data? Does the data still all have to stay on the Layer 1 blockchain?
Vitalik: The way that roll-ups work is that they do the code execution off-chain. So there are these cryptographic protocols where the execution gets done off-chain and then verified on-chain, and the verifying is much faster than the original computation.
And then the data has to be on-chain. But the data can be on-chain in a very compressed form. So instead of putting transactions on-chain, you put a zip file of the transactions on-chain. It’s like doing data for computation trade-off. You have less data, but then you have to do more computation.
We’re okay with doing more computation, because we could do more computation really efficiently off-chain.
If you do a roll-up super efficiently, then you only need to put about 16 bytes on-chain per transaction. Today, on average, transactions are like 100 to 200 bytes. So, 16 bytes on-chain and then decompression verification and computation happens off-chain. Everything happens off-chain except for these tiny amounts of data.
That’s where the efficiency comes through.
Blockchain Throughput
Benchmarking blockchains apples-to-apples
Naval: Haseeb, you and your team recently did an analysis where you tried to look at the actual throughput on these different smart contract chains. But you didn’t do the decentralization part yet, so obviously Eth looks the worst because it’s the most decentralized.
Let’s also talk about how much of that is because of its legacy and how much of it is because Eth just chose to be the most decentralized.
Haseeb: To Vitalik’s point, usually when people benchmark blockchains, they tend to choose benchmarks that make them look good and produce big numbers.
The most obvious way to do that is to just benchmark transfers. Especially with a lot of these newer blockchains, they tend to benchmark transfers that are done in a testnet or done in a devnet environment where you can always get crazy gigantic numbers that aren’t reflective of reality.
We’d seen so many ridiculous claims being thrown around about what kinds of throughput blockchains could do that we thought, “OK, why don’t we develop a clearly objective benchmark as a way to verify what these blockchains can do when you compare them apples-to-apples in terms of a common type of transaction that all blockchains do?”
The most common one, which is how almost all trading happens today in blockchains, is a Uniswap-style AMM trade. AMM, Automated Market Maker, is a very simple mathematical way to trade two assets.
Most of these you can just simulate by looking at the gas limit and looking at the block time, and you don’t need to do a whole lot. Others of them you have to verify empirically because the way the gas is computed, it doesn’t tell you enough to verify whether the blockchain could actually get that in production.
What we found is that Ethereum can do about 10 trades per second; Celo can do about 25; AVAX can do about 30 but it has a much higher ceiling; Polygon can do about 50; and Binance Smartsheet can do about 200. And then Solana, which famously claims it can do in the thousands to tens of thousands of transactions per second, can do about 280.
Enshrining decentralization
Part of the reason why Ethereum performance is where it is, to Vitalik’s point earlier, is that Ethereum has enshrined a certain level of decentralization. It’s important, as an institution, that we make sure that Ethereum is accessible to anybody on a laptop.
And most of these newer blockchains haven’t chosen that. They choose different points on the decentralization performance spectrum. My view is that it’s totally sensible to have blockchains that choose a different point on that trade-off curve. It’s really important to have Ethereum and to have Bitcoin, which go all the way to the left.
It’s sensible that some people should have blockchains that are tuned for different trade-offs. But within tuning to a different trade-off you better get really high performance, if you’re going to be not very decentralized.
My point is that if you’re going to make that big trade-off, you better be getting a lot of bang for the buck when you’re doing it.
Ethereum’s Adaptability
Tensions between scaling and preserving value
Naval: Not only that, but I think that the high-value applications are going to end up on Bitcoin and Ethereum in that case, and the highest value application is just money.
I’m curious if, Vitalik, you think longer-term money is a use case of Eth.
Is Eth the token and Eth the coin price a byproduct of something you need to run the network, or is it itself a core value that should be a store of value? Should it be a place where people can put their money in and forget about it for 10 years?
Vitalik: Ultimately that’s a question for the community to decide.
I think over time, the community is more and more deciding that yes, Eth is an important asset and maybe you can use Eth as a stored value. We can use Eth as a money, you can use Eth to make transactions.
Because, ultimately, it is a cryptocurrency. It’s a cryptocurrency whose value is in some ways supported and backed by all of the activity that’s happening on the Ethereum chain. With EIP-1559, the big portion of the transaction fee from every transaction which is paid in Eth has to get burned. Once we have proof-of-stake, it’s projected that we’ll even have negative issuance. So Eth is in a position to be fairly unique in that way.
But to me, it’s not an either or. Eth the asset and Ethereum the application layer ecosystem are synergistic with each other. The stronger the application layer ecosystem is, the stronger Eth is; and the stronger Eth is an asset, the stronger the application layer ecosystem.
There will be multiple stores of value
Naval: People often compare Bitcoin to gold or to the dollar as a store of value. But the biggest stores of value in the world are not even Bitcoin and gold. They’re factories, stocks, houses, real estate—actual productive assets. Oil is another one, and commodities, et cetera.
People store value in all kinds of weird places like art and NFTs. So it’s absolutely possible that there will be multiple stores of value. And if anything, what’s more decentralized than having dozens of viable coins that you can store in running thousands or tens of thousands or millions of assets that you can store in? That’s true decentralization.
You don’t have a point of view on it. You’re just like, “Whatever the community wants that makes the network run.” But isn’t there a tension between trying to be welcoming to newcomers and new applications and highly scalable and letting everyone use your network and constantly innovating and changing and trying new things, versus preserving the value for the people who are already there and preserving the value that’s already been built?
There’s an inherent tension there.
Vitalik: There’s definitely some tension. One of the big benefits of the Ethereum ecosystem—the Layer 2 aspects to it, the pluralist aspects, the way in which the ecosystem has many sub-ecosystems—is that it is, in many cases, able to satisfy both.
If all you want to do is you want to have your Eth and you want to hold your Eth, then you can do that. And there’s even some Ethereum applications that value stability almost as much as Ethereum itself does. Maker DAO might be one good example there. Rye might be another good example there. Some of the algorithmic stable coins. But if you want to go and do wild, crazy stuff, then Ethereum lets you do wild, crazy stuff, too. And if you need more scalability to do wild, crazy stuff, then you can go do the wild, crazy stuff on a roll-up.
So Ethereum as an ecosystem, does try hard to have a place for many different kinds of participants in that way, which is definitely something that’s hard to accomplish. With a lot of other blockchains that we know, either you adjust to the digital rock, or you’re just a platform but there isn’t the digital rock that keeps the whole thing solid.
In Ethereum we value solving the problem of both having the ecosystem that can do a lot of stuff and having the digital rock in the middle to keep it solid. Whether or not we’ll succeed is, of course, up to the next decade of world history to decide.