Vitalik: Ethereum, Part 1
Haseeb and I interview Vitalik Buterin about Ethereum and blockchains . Also see Part 2 .
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.
B lock 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 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.
Vitalik:以太坊,第一部分
Haseeb 和我采访了 Vitalik Buterin,谈论以太坊(Ethereum)和区块链(blockchain)。另见第二部分。
文字记录
纳瓦尔:欢迎回到播客。今天我们请到了 Haseeb Qureshi,他是 Dragonfly 的合伙人,也是我过去在加密领域更活跃时曾共事过的人。还有 Vitalik Buterin,他当然是——尽管他可能不喜欢这个说法——那位创造了以太坊的通才天才,以太坊是第一个获得可观交易量的智能合约(smart contract)区块链,改变了我们所知的区块链计算的面貌。
Haseeb,你能用一段话简要介绍一下你自己吗?
Haseeb 的背景
Haseeb:我的背景是软件工程师,现在是一名投资人。我运营 Dragonfly Capital,这是一家全球加密基金——我们只投资加密领域——我已经做了四年多一点。
有趣的是,当我第一次进入加密领域时,我记得我其实是在 IC3,那个学术加密会议上,第一次见到你和 Vitalik。我刚刚离开 Airbnb 软件工程师的工作,我记得我问你,“你觉得加密领域最重要的待解问题是什么?“你的回答大概是关于钱包的。你说,“我认为做更多的钱包很重要。“那时候我对做钱包意味着什么只有模糊的理解。但正是那次对话触发了我跳进以太坊的兔子洞。
在早期我真正深入加密领域的时候,那次 IC3 会议之后,我记得我带着一种非常强烈的感觉离开:比特币会死。我当时觉得,“看看以太坊世界里在智识能量和特质上与比特币世界之间明显的巨大差距——我在 IC3 看到的一切,对比我在比特币世界看到的,那里充斥着宗教式的愤怒和狂热,却没有太多创新。”
后来我发现自己当时的理解过于简单化了。但那确实是我通过你我之间那次小小的对话,第一次全身心投入加密领域的经历。
纳瓦尔:如果我没记错的话,你还有扑克玩家的背景。
Haseeb:没错。在进入科技领域之前的前一段人生里,我曾做了大约五年的职业扑克玩家。
纳瓦尔:我们在进入加密领域之前,要么玩过 Magic: The Gathering,要么玩过扑克的人,数量惊人地多。
维塔利克:或者魔兽世界。
纳瓦尔:也许就是极客和玩家的共性吧。
扑克、游戏与代际”门道”
Haseeb:我认为这背后有更深层的原因。我和你之前谈到过这个理论。每一代人都有某种”门道”——如果你真的很聪明,非常积极地寻找优势,而且不怕显得怪异,就有办法在大多数人看来不太明显的方式中抢占先机或赚大钱,甚至可能带着一点点颠覆性。就是那种如果你在上面花很多时间,你父母会皱眉头的事情。
在我那个年代,那就是扑克。后来有一段时间变成了梦幻体育(fantasy sports),然后是加密货币,然后是 DeFi 和流动性挖矿(liquidity mining),然后是 NFT 交易。两年后又会是别的什么。当 NFT 变得非常专业化,倒腾 NFT 已经赚不到太多超额收益的时候,又会有新的东西让那些年轻、饥渴、不怕显得愚蠢的人去做来赚大钱。
纳瓦尔:Vitalik,你想简要介绍一下你的背景吗?
维塔利克的背景
维塔利克:我出生在俄罗斯,六岁时搬到了加拿大。上到高中一半的时候,我已经做了很多数学和编程,然后我发现了比特币这个有趣的东西。它立刻吸引了我,因为它结合了我当时所有的兴趣。
比特币有数学方面的内容,有密码学,有计算机科学。它全是开源软件,而我当时非常热衷于开源软件。然后还有经济和政治方面的内容。我当时已经在关注奥地利经济学了。比特币刚好击中了所有那些按钮。
我开始尽最大努力加入比特币社区。我在比特币论坛上四处搜寻,找能用比特币支付报酬的工作,因为我认为比特币的意义就在于你应该去挣它。我找到一个愿意每篇文章付我 5 个比特币的人——那时相当于 4 美元——为他的博客写文章,我做了几个月。
然后,一个来自罗马尼亚的扑克玩家叫 Mihai Alisie 联系了我,说他正在创办一本比特币杂志,想让我做第一个作者。我立刻答应了,成为了 Bitcoin Magazine 的第一位作者。
我开始做越来越多与比特币相关的写作和学习,最终转向了更多编程相关的项目。我为一个叫 Bitcoin X 的 covert coins 库做了一些工作,开始越来越深入这个领域。
然后到了 2013 年年中,我决定从大学休学半年,去世界各地走访所有能找到的比特币社区,了解它们,看看大家都在做什么。几个月后,我遇到了一些人,他们试图将区块链扩展到做加密货币以外的事情。
有一个叫 “Covert Coins” 的项目已经存在了很长时间,它试图将区块链作为数据库层,在上面发行其他类型的资产。你可以在区块链上发行股票和数字美元。还有一个叫 “Master Coin” 的项目,试图将其进一步扩展,创建一个完整的金融体系,做我们今天所说的 “DeFi”。那是那个概念的非常早期的版本。
在这些圈子里待了足够长时间后,我最终有了自己的想法,关于如何创建一个所有这些想法的更通用版本:不是为一种应用设计的区块链,而是一个你可以在上面构建任何应用的区块链。
以太坊就是这样诞生的。
以太坊的诞生
纳瓦尔:以太坊是一个你可以在上面构建任何应用的区块链。而比特币显然局限于尝试成为新的货币或新的储备货币,或者现在有些人说的”数字黄金”。所以你是最初的创造者,与一个团队一起编写了代码并发布了它。你当时多大?
维塔利克:十九岁。
纳瓦尔:到那时为止你接触计算机多久了?你什么时候开始编程的?
维塔利克:我想我大概十岁左右开始编程的。
纳瓦尔:你主要是自学的,还是为此上过学?这其中的秘诀是什么,除了显而易见的基因因素?
维塔利克:我就是从小给自己编写电子游戏来玩。我会做一个电子游戏,玩到腻了,再做另一个,然后再玩到腻。这基本上就是我从小学一直到高中的学习方式。
纳瓦尔:你的父母或你的成长环境有没有做什么特别的事情来促进你在编程方面的发展?
维塔利克:我父母确实给我买了很多编程书。他们也帮我找了一些编程课和数学课。他们毫无疑问非常支持。
纳瓦尔:你上的是天才班还是普通的公立学校体系或私立学校?
维塔利克:从小学到八年级我一直在公立学校的天才班项目里。到了高中,我父母把我转到了一所私立学校,我发现私立学校的体验要好得多。
纳瓦尔:你的大多数合作伙伴是网上认识的,还是有一个你所在的实体场所?他们都聚在哪里让你偶然遇到他们?
维塔利克:基本上完全是在网上。比特币世界聚集在一个论坛上,除非你身处纽约或旧金山这样的大城市——那里几乎从一开始就有了线下社区。Bitcoin Magazine 从第一天起就是一家完全远程的公司。Bitcoin Weekly——Bitcoin Magazine 之前的那份博客——也是从第一天起就完全远程。
纳瓦尔:直到今天,你的大多数合作者仍然分布在世界各地,对吗?
维塔利克:差不多是这样。
什么是以太坊?
一个可以在上面构建任何应用的区块链
纳瓦尔:以太坊在 2014 年问世。如果我没记错的话,在那之前你已经开发了几年。当时有一次公开发售,很多人参与进来,然后到了 2017 年,人们在以太坊上构建资产、发行各种各样的币,形成了一波热潮。再后来,游戏、NFT、DeFi 等等就都出现了。
让我们梳理一下以太坊的演进过程。以太坊在核心层面到底做什么?它擅长什么?今天它又有什么不足?还需要在哪些方面改进?
维塔利克:我把以太坊视为一条通用区块链。它不是为某一种应用而设计的区块链,而是一条你可以在上面构建任何应用的区块链。在以太坊上实现这一点的方式是:你编写一段代码,然后创建一笔包含该代码的数字交易并将其发布。
当你发布这笔交易,且该交易被打包进区块链上的一个区块时,就会创建一个被称为”合约”的对象。这是区块链持续跟踪的一个虚拟对象。所以合约就是一个包含一段代码的对象。
现在区块链上就有了这个包含一段代码的对象,它就像一个小应用,从那一刻起由以太坊区块链负责维护。此后任何人都可以发送另一笔交易,说”我想与这个对象交互”。
所以第一步,我创建一笔交易来生成这个对象。我们称这个对象为 X。第二步,你想使用我的应用,于是你发送一笔交易,在交易中你说:“我想与智能合约 X 交互,这里有一小段数据,说明我想对这个应用做什么。”
当这笔交易被打包进区块时,我最初发布的那段代码就会运行,以你交易中的数据作为输入,并按照它自己的方式来解读。
我们可以用一个例子来让这更具体。
假设我有一家公司,我想在区块链上发行股票。我将创建一笔包含一段程序的交易。这个程序的规则会说:“那么,你对股票能做什么呢?“我们就说你可以把股票转让给别人,也可以投票,对吧?
程序会把它看到的任何数据解读为一条转让股票的指令,或者一条投票的指令。我发布这笔交易,整个流程就初始化了。作为这笔交易的一部分,我可能会说:“Naval 有 50 股,Haseeb 有 100 股,我有 25 股。“所以现在区块链上就有了这样一个东西,它包含一段代码,还有自己的小内存,记录着:“我有 25,Haseeb 有 100,Naval 有 50。“对吧?
如果 Naval 大方一回,想把一半的股票给我,他就会创建一笔交易。这笔交易会携带一些数据,编码这样一个意思:我,Naval,想把我的 25 股转给 Vitalik。于是你创建一笔编码了这个信息的交易,发送到网络中,它就会被打包进一个区块。
一旦被打包进去,那段代码就会运行。代码看到这笔交易后会说:“好的,显然我要把 25 股从 Naval 转给 Vitalik。之前 Naval 有 50 股,所以我要减去 25,现在 Naval 有 25 股。之前 Vitalik 有 25 股,现在 Vitalik 有 50 股。我要把 Vitalik 有 50 股这件事记下来。好。”
就这样,交易被处理完了。
以太坊的优势与代价
以太坊用效率换取透明性
纳瓦尔:为什么要以这种非常迂回的方式在云端做这一切?这太复杂了。为什么不用一台普通的电脑?为什么不直接发封邮件?
维塔利克:这样能创建一份非常透明、公开的规则记录。可以保证与我创建的这个应用的所有交互都遵循了规则。没有任何参与者拥有后门密钥。
纳瓦尔:它是一台云端的可信计算机,我们每个人都可以验证所有活动。我们可以审计一切,而且我们知道没有人作弊。没有其他人动过我的资金。是我自己转移了资金,所有人都验证了代码,确认那正是应该运行的代码。但这显然是有代价的,对吧?这不是免费的。
维塔利克:没错。甚至我——在这个例子中作为合约的创建者——也没有能力事后进去说:“哦,我改主意了,我要给自己 400 股。“一旦我创建并发布了它,我和其他任何人拥有同样的权限,不多也不少。这个应用甚至没有所有者。
所以这很强大,对吧?完全中立,完全透明,完全可见,按照规则对所有人一视同仁。
那么,为此你牺牲了什么?你牺牲的一大东西就是效率。
所有这些区块链——包括比特币和以太坊——的工作方式是:你有一个由数以万计的计算机组成的网络,每台计算机都帮助验证交易。当我广播这笔交易时,它会被发送到网络上的每一台计算机,网络上的每一台计算机都运行那段代码,每一台计算机都验证它,每一台计算机都处理它。
纳瓦尔:并行计算是”我把代码拿过来,分到一千台计算机上,每台运行千分之一的代码”。现在我把代码发送到一千台计算机,所有一千台都在运行我的代码。
维塔利克:没错,这是截然不同的计算方式。一个直观理解它为何合理的办法,是把文字与音频、视频做比较。
我们现在在录播客,播客有音频和视频。要看到彼此的视频画面,每秒钟在我们之间流动的数据就有几十万字节。
严格来说,这几十万字节并不是必需的。如果你愿意,我们完全可以通过文字对话来完成这一切。但能够听到彼此的声音、看到彼此的表情是有好处的。所以人们已经在用计算机做大量开销很高的计算了,视频和音频就是很好的例子。
以太坊的效率特性
如同纯文本,以太坊简单而高效
区块链上发生的事情更接近于文字——比如 Naval 减 25,Vitalik 加 25。是这种极其简单、极其高效的东西。
因此,让数千乃至数百万用户的活动全部由一台计算机来验证是完全可行的,因为区块链并不做所有事情。区块链只处理核心业务逻辑,而核心业务逻辑其实并没有那么复杂。
区块链的容量限制
只有高价值的交易才负担得起区块链
Haseeb:这是因为区块链的约束条件所决定的。这是区块链上所有冗余所带来的约束的函数。我们只负担得起把”Naval 减 25,Vitalik 加 25”这样的操作放到区块链上。长远目标是让越来越多类型的低价值计算也能在区块链上进行。但目前出于必要性,只有高价值的交易才负担得起这个成本。
去信任的可信计算机
Naval:退一步说,你所做的事情是在云端构建了一台计算机——一台虚拟计算机——由成千上万甚至数万台真实计算机拼接而成,而这台计算机效率极低。它非常慢。它的运行速度会非常缓慢。所以把它在吞吐量上与你家里的个人电脑或超级计算机相比,毫无意义;那完全偏离了要点。
但运行在上面的任何一段代码都非常可信,你知道它没有被黑客入侵。而且你不再需要一个政府,也不再需要一个像运营 Facebook 的 Mark Zuckerberg 这样的单一中间人来告诉你哪些交易是有效的,哪些合约是有效的,哪些程序是有效的,哪些又不是。
消除”可信”第三方
你消除了对可信第三方的需求,取而代之的是一台可信的计算机,它由成千上万甚至数万台其他计算机进行审计、验证和检查。
技术上的复杂性在于如何扩展这个系统;让这台计算机变得更快;保持其安全性;创建激励机制,包括经济层面和技术层面;设计激励相容的机制,使人们愿意把计算机加入这个网络;同时也要设计抑制使用的机制。你必须付费才能使用,否则很容易就会把它压垮。
用性能换取安全
这个庞大的装置就是以太坊。当然,也有人创建了其他智能合约区块链。尽管我们称之为”智能合约”区块链,但它其实是云端的一台可信计算机,理论上可以运行任何应用——但它以牺牲性能来换取安全性,而这种安全性可以通过去中心化程度来衡量。
换句话说,没有任何单一实体能够控制这台计算机。安全性也可以通过代码的安全程度来衡量——它是否会被黑客入侵等等。这其中有许多微妙而精妙的要素,它们并不显而易见。
我们习惯于这样理解计算机:“好吧,Facebook 运行着一些计算机。这些是由 Mark Zuckerberg 及其团队运营的集中式计算机,代码不公开。当然我无权查看代码。我只是一个用户。我不拥有我的数据。他们拥有数据。数据存放在那个数据库里,而我没有访问那个数据库进行读写操作的权限。我必须去找 Facebook,请他们替我对数据库进行读写。”
但现在你创造了一台代码完全公开的计算机。事实上,连数据也是公开的;只不过其中一部分是加密的,一部分不是。有些数据任何人都可以看到。有些数据你确实需要持有加密-解密密钥才能访问。只要拥有适当的权限,任何人都可以对其进行读写。这是一个令人震撼的疯狂概念。
这是一个真正共享的数据库,没有所有者,在非常精细的用户层面设置权限,而且用户真正拥有数据。事实上,用户拥有由这个数据库驱动的整个网络。所以如果有人在以太坊之上构建了下一个 Facebook 应用,他们可以这样设计——让用户真正拥有那个应用。
“坚不可摧的数学城堡”
这是以太坊背后非凡的成就,很难用几句话概括。我曾经尝试这样描述:“智能合约是用数学建造的城堡,彼此自由交易。城堡坚不可摧。”
加密技术极其强大,构建了坚固的防线,但它们由数学构成——非常像你年轻时编程制作的电子游戏。这些构造体由世界各地的任何人匿名或假名地搭建起来。它们彼此进行自由贸易,每座城堡的所有者自行决定与他人的交易内容。
以太坊的局限:延迟与隐私
当然,这个系统有明显的局限。我们已经谈到过这个计算机网络的速度大约只相当于一台计算机的速度——至少在我们讨论到扩展和增长的某些方案之前。这个网络还有哪些局限?你能否举一些具体的应用场景,说明它适合做什么、不适合做什么?
Vitalik:除了扩展性之外,另一个重要的性能问题是延迟。
当我发送一笔交易时,我大约需要等待半分钟,交易才能被打包进去并收到确认。未来,这个效率会提高一些。也许很快 10 到 12 秒就会成为现实。但这不是一个实时系统,你不会把实时电子游戏逻辑放在上面。例如,你可以用它来支付,但你可能不想把它用于比支付需要更高实时性的场景。
这是一个局限。
另一个局限是透明性。这可能是一个需要深入到一些密码学细节的地方。基本上,区块链本身是完全透明的,对吧?每个人都能看到正在发生的一切。
如果我们回到之前的例子,把这家公司的股份发行在区块链上,那么当 Naval 发给我他的 25 股时,全世界的人都能看到。好吧,在某些情况下这可能完全没问题,但在某些情况下你可能需要一些隐私。
这恰好是一个你往往可以同时获得隐私和安全性的领域。有一些额外的密码学数学。我们不需要深入探讨,但值得提一下它的名字——“零知识证明(zero-knowledge proof)“。我描述零知识证明的方式是:它是一种在证明某条信息的相关属性的同时,不泄露那条信息本身的方法。
假设我们还是用同一个应用——我的公司股份在区块链上。只不过,区块链不再记录数字 25、50 和 100,而是记录 25 的加密版本、50 的加密版本和 100 的加密版本。
然后,当 Naval 发给我他的 25 股时,他会说:“这是我当前持有股份数的加密值;这是我交易后将要持有股份数的加密值;这是我给 Vitalik 的股份数的加密值;然后还有这个神奇的密码学证明,证明这些数字是对得上的。它表明 X 加 Y 等于 Z,而且我没有试图给出超过我实际拥有的数量。”
你可以在不验证某一笔特定交易具体在做什么、用了什么参数的情况下,验证一切都遵循了规则。
找回隐私
你可以在同时找回安全性和隐私。隐私能恢复到什么程度仍然有一些限制。例如,即使在上述情况下,人们仍然能看到有人在与这个特定应用进行交互。如果你仅仅使用区块链,你会丧失大量隐私。如果你使用区块链加上零知识证明及其他密码学工具,你往往可以找回大量隐私。
你甚至可能获得比中心化场景下更多的隐私。在传统的中心化系统中,Facebook 运营一切、看到一切。但在这些系统中,没有中心节点。天空中只有一座数学城堡在验证这些证明。
Naval:理论上,我们可以获得匿名的数字现金。再进一步,我们甚至可以获得匿名的智能合约——也许你能看出你和我与某个智能合约进行了交互,但除此之外的细节都不可见。
Vitalik:不是理论上。这是已经存在的东西。Zcash 已经存在超过五年了。
Naval:Zcash 是一条围绕零知识证明构建的区块链,其中所有交易、收款方和发送方都可以是匿名的。正如人们所说,真正的”moon math”。
区块链技术的未来
以太坊能否同时提供高度的去中心化和高度的扩展性?
Naval:让我们稍微快进到十年、二十年后。我知道在区块链的世界里这已经算是很长远了,因为比特币直到2009年才出现,以太坊也只是十年代初才诞生的。但假设十年或二十年后,我们已经完成了所有需要攻克的高难度工程,构建了我们能想象到的所有技术。区块链的可扩展性和隐私的极限在哪里?我们最终会走到哪里?
我们最终会是每一笔想要保密的交易都是私密的,还是你认为其中很多仍然会保持公开?你认为我们会把区块链用于几乎所有的云计算,还是仍然局限于金融和高价值领域?
Vitalik:有一点很重要需要提一下,区块链的可扩展性正在相当快速地提升。目前区块链的运作方式是:我发送一笔交易,交易进入网络,网络上的每一台计算机都必须验证这笔交易。
有一些扩展技术。再次说明,我们不需要深入细节,但像 roll-ups 和分片(sharding)这样的技术可以让你以更聪明的方式使用区块链——你仍然有大量冗余计算在进行,但效率要高得多。
Naval:不同的技术都有哪些?我们来逐一看一下。
Vitalik:在中心化系统中,你把交易发送给 Facebook。Facebook 有一台计算机,由这台计算机来验证。而在区块链中,你有十万台计算机,你发送交易,所有十万台计算机都要验证。
分片带来更高程度的中心化
分片是:发送你的交易,系统从十万台计算机中随机选出一千台。这一千台计算机来验证,交易就被接受了。不是所有十万台计算机都在验证,而是只有一千台在验证。
当有大量交易被系统接受时,网络中的每一台计算机平均只需要验证大约所有活动的百分之一。你还可以进一步提高效率。最终可能每台计算机甚至不需要验证百分之一,可能只需要验证千分之一。
想想 BitTorrent 是怎么运作的,对吧?BitTorrent 也是一个高度分布式的网络。如果你想下载那些非常热门的电影,一般来说是没问题的。但在 BitTorrent 上,你并不是让每台计算机都下载每部电影,因为那完全是疯狂的。
平均来说,一部电影会有几百个做种者(seeder),也许几千个。这个数量已经足够大,使你拥有冗余性,通常能获取到你想要的内容,但又不会冗余到变成极其低效的程度。
问题是,你能否创建一个像 BitTorrent 那样运作的网络——从数据分发和效率的角度来看——但又能创造出仍然具有和区块链一样验证特性的东西?这就是分片所做的事情。
分片的一个弱点是它在技术上更加复杂。你必须实际去做这个工作,弄清楚这些交易究竟按照什么规则被分配到不同节点(node)之间、它们如何相互通信,以及你如何进行这种分布式验证。
从协议的角度来看更简单的方法是直接说:“我们将要求这个网络中的每个节点都真的非常强大。“所以不再是笔记本电脑就能当节点,我们将要求每个节点几乎是一台超级计算机。如果你这样做,你就可以让区块链仍然按照今天的方式运作,但能处理更多交易。也许从每秒能处理五十笔变成每秒能处理一千笔或五千笔。
以可扩展性为代价的可验证性
这种方法的弱点——也是以太坊没有采用这种方法的原因——是它会导致更多的中心化。能够真正验证正在发生什么的人数减少了。需要串通起来推动对协议进行用户可能不想要的修改的人数变得更少了。
它仍然比 Facebook 去中心化得多,但比它本可以达到的去中心化程度要低得多。
也许在某些情况下,这是正确的做法。如果你想做一个去中心化的电子游戏,而且它不是那种一旦被攻占人们就会损失数百万或数亿美元的东西,那么这种更中心化的方法也许完全没问题。中间有一整条光谱的应用都是没问题的。
如果你想要的是高保证性的东西,那你确实想要把去中心化做到极致——也就是最大化——而当前的以太坊确实提供了这一点。它确实提供了这种非常高的去中心化程度和很高的可验证性,但代价是牺牲了可扩展性。
我们试图通过分片做到的是:“你能否提供这种高水平的去中心化和高水平的可验证性,同时还能有更高水平的可扩展性?“
去中心化
多少去中心化才是合适的量?
Haseeb:我想在去中心化这个问题上再深入探讨一下。很多进入加密领域的人,特别是那些没有太多经验的人,会注意到去中心化很重要。你很难置身于加密世界却不相信去中心化在某种程度上是有意义的。
但问题是:为什么在这里?你来到这里,面对的是一个关于多少去中心化才是合适量的文化滑块。而以太坊的态度是,“你必须能够在笔记本电脑上验证以太坊。“问题是,为什么是一台笔记本电脑?
Vitalik:默认验证的用户数量越多,我们的区块链就越安全。
在极端情况下,如果默认没有人验证,除了十个不同的质押池(staking pool),那么你要强制推行一项用户可能不喜欢的规则变更,只需要十个质押池凑到一起达成共识就够了。
但另一方面,如果你有一万名用户,这些用户与链交互的方式默认就是他们在本地验证,只有当他们看到区块是有效的才接受,那么如果有人想推动某项规则变更,他们实际上必须去找用户,必须说服整个用户群体来配合。
这个门槛要高得多。
Haseeb:Solana 是一个超高吞吐量的区块链。它的硬件要求比以太坊高得多。
如果我是一个 Solana 的支持者,我可能会说,“你看,以太坊有大约五千个节点,差不多在这个量级。Solana 有,比方说,五百个”——我不清楚确切数字,就为了讨论方便这么说吧——“要让 Solana 中的所有人都对 Solana 内部发生了某种根本性的故障或安全违规毫无察觉,其实是非常困难的,对吧?没错,节点数是以太坊的十分之一。但以太坊也只是有一定数量的节点,Solana 也只是有一定数量的节点。它们的社区都相当大,而且都大到足以在出问题时注意到。”
你对 Solana 拥护者——他说”你看,是消费级硬件。是昂贵的消费级硬件,但仍然是消费级硬件,足够有动力的人仍然可以去验证 Solana 交易”——对此你的反驳是什么?
当加入节点的补贴消失后会发生什么?
Vitalik:我对这件事的思考方式是,这不仅仅是运行节点的技术能力有多高的问题。而是说,一旦运行节点变得如此容易,以至于人们默认就愿意去做这件事——
如果运行节点困难但并非不可能,那么就会存在一种持续的压力,促使你节省时间,把数据指向另一个节点。甚至一些参与权益证明激励的人,也可能开始指向同一个节点。我觉得这其实几年前在 EOS 里就发生过。现在 Solana 基金会难道不是还得专门做大量工作来积极鼓励人们运行节点吗?
Haseeb:所有这些新兴的小项目都有大量补贴发放给大多数节点提供者。
Vitalik:没错。所以问题是,当补贴消失后,网络还能那样运作吗?
这其实有两个层面。一个层面是技术可行性。运行节点是否足够简单,以至于人们会愿意把它当作爱好持续去做?即使是以太坊,我们在让运行节点比今天更容易方面,也还有很多可以做的事情。我们在接下来几年里正在做的很多扩展工作和协议变更,都是试图朝这个方向努力。
无状态客户端让链的验证几乎不占硬盘
例如,我们正在开发一个叫做无状态客户端(stateless clients)的功能。无状态客户端的目标是,不需要在硬盘上存储超过极少量的信息,就能验证区块链。目前,一个以太坊节点要占掉我半块硬盘。而无状态客户端之后,它不会占用我任何硬盘空间。
比特币在这方面已经做得很好了。从运行节点的便捷程度来看,比特币的处境比以太坊更好。但显然,比特币为此牺牲了显著低于以太坊的吞吐量。
所以,技术可行性是一个层面。另一个重要层面是文化。
质押文化难以培养
人们需要觉得,运行节点是一种根深蒂固的责任,存在大量独立的验证行为。这是一种难以培养的东西。而且属于那种一旦失去了,就很难再找回来的东西。我认为比特币拥有这一点。
我也认为在以太坊中,质押文化实际上最近一直在改善,我希望它能继续改善。但这正是那种需要被高度重视的事情。
这两者是相互促进的。如果你拥有一种重视运行节点的文化,那么你就会拥有一种重视通过协议变更来使运行节点更简单的文化。而如果从技术上讲运行节点是可行的,那么你也就更有可能形成那样的文化。
人们有时会问我们,“嘿,为什么不能把参数提高五倍?“以及”为什么不能要求人们配备十 TB 的硬盘?“以太坊核心开发中的很多人都在积极抵制这种做法。我认为,只有以太坊和比特币几乎拥有愿意为了去中心化而主动做出牺牲的文化。
新区块链玩家倾向于选择最低可行去中心化
Naval:我一直持这样的观点:最去中心化的币最终会胜出,因为区块链的全部意义就在于去中心化。否则,你根本不需要它们。
话虽如此,加密领域每一波浪潮——新用户涌入、市场繁荣、牛市来临——新用户似乎总是倾向于选择最低可行去中心化。他们不在乎去中心化,直到那个”怪物”出现并开始将他们碾压殆尽。
即便在去中心化金融中,很多项目也只是名义上去中心化。它们运行着中心化的前端。团队的位置众所周知。它们很可能在某一个层面上无法通过 Howey 测试(Howey test)。我们将看到政府会在多大程度上检验去中心化这个指标。
人们直到有人因此入狱才开始重视隐私
隐私也是一样。人们不重视隐私,直到有人因此入狱,然后他们才会说”哦等等,我需要隐私。“或者有人被平台封禁。
目前我们处于牛市阶段。当风险不那么高的时候,人们会倾向于忽略去中心化和隐私。但经历几次事件之后,你会看到人们开始重视去中心化和隐私。
在某种程度上,OG 们知道这一点,因为大多数资金仍然锁定在比特币中。其中一部分是惯性,但另一部分也是安全性。你可以把钱放进比特币然后长时间不去管它。我不认为在很多其他不完全去中心化的协议中你也能这样做。
隐私方面,目前大家似乎都在忽略它。
Vitalik:嗯,Tornado Cash 是存在的。
以太坊的哲学:底层保持简单
Naval:你认为 Tornado Cash 和以太坊会一直作为独立的层或独立的应用存在,还是有一天会被整合到以太坊的核心层面?
Vitalik:现实来看,它会保持为独立的层。以太坊的哲学,总体而言,是试图在底层保持简单,让很多额外功能作为上层建筑来构建。有很多其他区块链采取了不同的哲学。在 EOS 中,他们的默认钱包类型内置了社交恢复之类的功能。
Haseeb:Vitalik,你得更新你的例子了。
社交恢复钱包让”做自己的银行”变得更容易
Naval:光是提到那条链我就觉得不干净。我们应该聊聊社交恢复。社交恢复是一个非常有趣的概念。
如果你真的想成为一个加密爱好者,你就必须做自己的银行。这很可怕。我们中的一些人不得不信任第三方托管机构,但那样你就回到了传统银行业的模式。所以如果你想自己管理资产,社交恢复钱包就派上用场了——你可以把你的钱包分享给朋友、家人或其他你信任的人,这样当你需要恢复的时候,需要两把密钥中的两把,或五把中的三把,诸如此类。
比特币原生支持这个功能。以太坊现在有 Gnosis Safe 等产品提供类似支持。所以钱包正在变得更好,安全性也在提升。
区块空间越来越贵
有一点我们没谈到的是,区块链运行着一个区块空间的市场。区块空间是有限的,因为计算能力是有限的。所以你总是在参与一场拍卖,付费以让你的应用执行被纳入当前区块链的运行中。为此,你在购买区块空间,而以太坊的区块空间已经变得相当昂贵。
像分片以及添加所谓 roll-ups 和 Layer 2——这些我们还没谈到的技术——都是创造更多区块空间、降低区块成本的途径。但即使以太坊一直很贵,高价值应用也会留在以太坊上。那些人会直接付更高的费用。
如果你在建华尔街,你需要法治。你需要法律上的平等保护。你需要产权。所以你为此付费。而如果你只是在做一个游戏,交易魔法斧头和剑,每件值几美元,也许你去一个不那么重视去中心化的区块链就好了。
所以也许应用会按这种方式分流。
创新文化:比特币上没有太多创新,这是设计使然
Naval:我们还没有聊到整个以太坊生态系统,这很有意思。
我们刚才谈到了可扩展性,我得到的结论是以太坊是一种去中心化文化。它会优先追求去中心化,这实际上使它对高价值应用(如去中心化金融)具有吸引力,因为如果你在交易一万美元的资产,你愿意为安全性支付五十美元的手续费。
我们还没谈到的是,围绕以太坊及其之上构建的这整个令人惊叹的生态系统。
我个人的看法是以太坊被拯救了。看看比特币,那里并没有太多的创新。当然,核心开发者做了一些不错的工作。
但现在比特币圈子里的主流叙事是,“不不不,我们不改任何东西,因为我们的目标是成为储备货币。我们要做数字黄金,所以不想改变任何东西。一切都是固定的,完美无瑕的创世,一开始就基本正确,只做了几个小调整就行了。可以放心使用。我们会修几个小问题,但你可以信赖它,因为它不需要改变。它已经能胜任自己的工作,而且做得很好。”
我不买那个”极大主义者”的账——说那就是所有区块链的终极目标。区块链还有其他可以做的事,而在以太坊上我们做的远不止于此。
即便在那里,我也注意到围绕代币存在一种激励机制。当你创建一条区块链时,你创造了这些代币来调节对网络的访问权。理论上,你奖励那些为区块链做艰苦工作的人。你奖励保障区块链安全的矿工,或者保障区块链安全的质押者。
要奖励开发者一直很困难。我知道 Zcash 有一个创始人奖励,这是有争议的。中本聪持有比特币区块链的 5%,Zcash 的创始人奖励大约是区块链的 10%。一些较新的区块链,70%、80%、90%、甚至 99% 都归属初始团队和投资者,这些就是所谓的 VC 链。
区块链的”搭便车效应”
那么,你怎么激励人们在别人的区块链上构建?因为现在的激励倾向变成了,“你那条区块链不错,而且是开源的。让我分叉一下。让我复制一份自己跑。” 或者,我见过有游戏开发者说,“我不需要 Solana 级别的安全性。我就分叉一条现有的区块链,把它变成自己的,我自己的用户既玩游戏也运行区块链。”
对于开发者在别人的区块链上构建,激励机制并不存在。
2017 年我说这话时惹了麻烦,但我至今仍然坚持:区块链上存在搭便车效应。分叉一条链然后自己构建,比在现有链上构建的激励要强得多。
Layer 1 的创新最为缓慢
以太坊上有几件非常精彩的事——也许是偶然,也许是刻意为之——使得以太坊上形成了一个创新生态系统。一个是 ERC-20,让人们可以构建自己的代币;然后是这些 roll-up 和各种二层方案,人们在以太坊之上构建,理论上他们还会发行自己的代币。
我认为以太坊创新最慢的地方——也许因为技术上也最难——就是它自己的那一层。就是 Layer 1,以太坊基金会工作的那层,分片应该在那里实现,Eth 2.0 应该在那里建成。那里的进度是最落后的。
而在 roll-up、Layer 2、ERC-20 以及构建在以太坊之上的其他资产方面,事情进展得非常非常快。我想知道这是否仅仅是一个激励问题。你有没有想过,“我如何激励在 Layer 1 工作的人快速推进?”
也许他们能以某种方式获得自己的代币?
维塔利克·布特林: 以太坊基金会确实持有大量 Eth,并用 Eth 来支付在 Layer 1 工作的人员。
几个月前我们宣布了一个客户端开发者奖励计划,每个正在构建能够理解和对接以太坊协议并运行节点的软件的团队,都能获得一定数量的 Eth——这些 Eth 以锁定在权益证明系统中的形式存在,还没有完全连接到以太坊的其余部分。以太坊必须完全切换到权益证明,他们才能提取那笔钱。所以这种激励是存在的。
Layer 2 之所以更快,因为它是无需许可的
与其说主要是激励的问题,不如说应用层和 Layer 2 之所以更快,是因为在这些层上构建是无需许可的。构建 Layer 2 不需要与任何人协调。构建一个应用也不需要与任何人协调。
而如果你想修改以太坊协议,那是最需要许可的事情之一。你得让很多人达成一致。你得让整个社区接受对底层的协议变更。
如果我们今天就冻结 Layer 1 会怎样?
纳瓦尔: 这里有一个有趣的问题。想象一下我们今天就冻结 Layer 1。你可以像比特币社区那样做些小改动,但不能做大改动。Layer 2 的人继续无需许可地创新,继续构建他们所有的钱包和相关技术。但你仍然在权益证明的旧模式——工作量证明——中,仍然是那个分片的 Layer 1。
以太坊还能运转吗?Layer 2 能撑一段时间吗?
维塔利克·布特林: 可以。我认为人们不会满意,因为以太坊社区确实喜欢权益证明,希望能尽快切换过去。
给一些具体数字,现在以太坊平均每秒处理大约 15 到 20 笔交易。这些是复杂的交易,其中很多比比特币处理的要复杂得多。如果只做资金转账,在当前设置下可以达到每秒约 50 笔交易。但如果我们迁移到 Layer 2,就可以达到每秒约 5000 笔交易。
你保留同一条区块链,但不直接使用区块链,而是使用这些额外的协议,将信息打包后以不同方式使用区块链。你仍然在做同样的事情,仍然获得同样的安全保障,只是更高效地使用区块链。有更多的压缩,更多的计算通过其他协议在链下完成。
Layer 2 做好的话可以有数百项改进。这还没有发生。现在,Layer 2 的现状还远非完美。不是 100 倍的提升,目前可能只有 10 倍甚至更少。
但 roll-up 技术在不断改进。所有这些都在不断改进。
所以如果 Layer 1 不变,如果我们能做的只是更多的 Layer 2,我们可以达到每秒 5000 笔交易。那已经是一个相当不错的以太坊了。
用数据换计算
纳瓦尔: 那 Layer 2 的执行是代码。数据呢?数据是不是仍然全部要留在 Layer 1 的区块链上?
维塔利克·布特林: roll-up 的工作方式是,代码执行在链下进行。有一些密码学协议,执行在链下完成,然后在链上验证,验证比原始计算快得多。
然后数据必须在链上。但数据可以以高度压缩的形式存在于链上。所以你不是把交易放在链上,而是把交易的压缩包放在链上。这就像用数据换计算——你减少数据量,但需要做更多的计算。
我们愿意做更多的计算,因为链下做计算可以非常高效。
如果 roll-up 做得极其高效,每笔交易只需要在链上放大约 16 字节。现在平均每笔交易大约是 100 到 200 字节。所以,16 字节在链上,然后解压验证和计算都在链下完成。除了这些极少量的数据,一切都在链下。
效率就来自这里。
区块链吞吐量
同类比较基准测试
Naval: Haseeb,你和你的团队最近做了一项分析,试图考察这些不同智能合约链的实际吞吐量。但你们还没有做去中心化程度的部分,所以显然以太坊看起来是最差的,因为它是去中心化程度最高的。
我们也可以聊聊,其中有多少是因为它的历史包袱,有多少是因为以太坊就是选择了做去中心化程度最高的那条链。
Haseeb: 正如维塔利克·布特林所说,通常人们在给区块链做基准测试时,倾向于选择让自己好看、能产生漂亮数字的基准。
最明显的做法就是只测试转账。尤其是很多较新的区块链,它们往往在测试网或开发网环境下测试转账——在这种环境下你总能得到离谱的巨大数字,根本不反映现实情况。
我们见过太多关于区块链吞吐量的荒唐说法满天飞,所以我们想,“好吧,为什么我们不开发一个明确客观的基准测试,用同类比较的方式——用所有区块链都在做的同一种常见交易——来验证这些区块链到底能做什么?”
最常见的交易类型,也是如今区块链上几乎所有交易发生的方式,就是 Uniswap 风格的 AMM 交易。AMM,即自动做市商,是一种非常简单的数学化资产交换方式。
其中大部分你只需看 gas 上限和出块时间就能模拟出来,不需要做太多工作。另一些则需要实证验证,因为 gas 的计算方式并不能提供足够的信息来判断该区块链在生产环境中是否真的能跑出那个数字。
我们的发现是,以太坊大约每秒能处理 10 笔交易;Celo 大约 25 笔;AVAX 大约 30 笔,但它的上限高得多;Polygon 大约 50 笔;Binance Smartsheet 大约 200 笔。然后是 Solana——它声称每秒能处理数千乃至数万笔交易——实际大约 280 笔。
将去中心化写入基因
以太坊性能之所以处于当前水平,部分原因正如维塔利克·布特林前面所说,是以太坊将一定程度的去中心化写入了底层架构。作为一个制度性存在,确保以太坊对任何使用笔记本电脑的人都可访问,这一点非常重要。
而大多数较新的区块链并没有做出这个选择。它们在去中心化与性能的光谱上选择了不同的位置。我的看法是,存在选择该权衡曲线上不同位置的区块链,这完全合情合理。拥有以太坊和比特币这样一路走到最左端(去中心化极致)的链,是非常重要的。
有些人拥有为不同权衡而调优的区块链,这也合情合理。但在为不同的权衡做调优时,如果你不够去中心化,你最好能获得真正高的性能。
我的观点是:如果你要做出那样大的取舍,你最好从中得到物有所值的回报。
以太坊的适应性
Naval: 不仅如此,而且我认为在这种情况下,高价值应用最终会落地在比特币和以太坊上,而最高价值的应用就是货币。
我很好奇,维塔利克·布特林,你认为长期来看货币是否是以太坊的一个用例。
以太币这个代币、以太币的价格,到底是运行网络所需产生的副产品,还是它本身就是一种应该成为价值储存的核心价值?它是否应该成为一个人们可以把钱放进去然后忘掉十年不用管的地方?
Vitalik: 归根结底,这是由社区来决定的。
我认为随着时间推移,社区越来越倾向于认定:是的,以太币是一种重要的资产,或许你可以用以太币作为价值储存。我们可以用以太币作为货币,你可以用以太币进行交易。
因为归根结底,它是一种加密货币。它是一种价值在某些方面受到以太坊链上所有活动支撑和背书的加密货币。有了 EIP-1559,每笔交易中以以太币支付的交易费中有很大一部分必须被销毁。一旦我们实施权益证明,预计甚至会实现负发行量。所以以太币在这方面处于一个相当独特的位置。
但对我来说,这不是非此即彼的选择。以太币这个资产和以太坊这个应用层生态系统是协同互促的。应用层生态越强,以太币就越强;以太币作为资产越强,应用层生态也就越强。
多种价值储存并存
Naval: 人们经常把比特币比作黄金或美元,作为价值储存手段。但世界上最大的价值储存甚至不是比特币和黄金。它们是工厂、股票、房屋、房地产——真正的生产性资产。石油也是一个,还有大宗商品等等。
人们把价值储存在各种奇奇怪怪的地方,比如艺术品和 NFT。所以完全有可能存在多种价值储存手段。而且如果说什么比这更去中心化,那就是拥有数十种可行的币可供储存,以及运行其上的数千、数万乃至数百万种资产可供储存。那才是真正的去中心化。
你对此没有一个预设立场。你只是说,“社区想要什么,什么能让网络运转就行。“但这里难道不存在一种张力吗——一方面要欢迎新人和新应用、要高度可扩展、让所有人都能用你的网络、不断创新变化、尝试新事物;另一方面又要为已经在里面的人保值、保护已经建立起来的价值?
这里存在一种固有的张力。
Vitalik: 确实存在一些张力。以太坊生态系统的一大优势——它的 Layer 2 层面、它的多元主义特质、它的生态系统中包含许多子生态系统的方式——在于它在很多情况下能够同时满足两者。
如果你只想持有你的以太币,那你可以这么做。甚至有一些以太坊应用和以太坊本身一样重视稳定性。Maker DAO 可能就是一个很好的例子。Rye 可能是另一个好例子。一些算法稳定币也是。但如果你想去做疯狂出格的事情,以太坊也让你做疯狂出格的事情。如果你需要更多可扩展性来做疯狂出格的事情,那你可以去 roll-up 上做。
所以以太坊作为一个生态系统,确实在努力为许多不同类型的参与者提供一席之地,这确实是一件很难做到的事。在我们所知的许多其他区块链中,要么你向”数字岩石”低头,要么你只是一个平台但没有那块让整个体系稳固的”数字岩石”。
在以太坊中,我们重视同时解决两个问题:既拥有能做很多事情的生态系统,又拥有居中稳固一切的数字岩石。至于我们是否能成功,当然要交给未来十年的世界历史来决定。
术语表
| 原文 | 中文 |
|---|---|
| algorithmic stable coin | 算法稳定币 |
| AMM (Automated Market Maker) | 自动做市商 |
| AVAX | 保留原文(Avalanche 区块链代币/简称) |
| Binance Smartsheet | 保留原文(原文为 BSC,Binance Smart Chain 的笔误) |
| Bitcoin Magazine | 保留原文(比特币杂志) |
| Bitcoin X | 保留原文(项目名) |
| BitTorrent | 保留原文(协议/软件名) |
| block space | 区块空间 |
| block time | 出块时间 |
| blockchain | 区块链 |
| Celo | 保留原文(公链项目名) |
| client developer reward | 客户端开发者奖励 |
| contract | 合约 |
| Covert Coins | 保留原文(项目名) |
| DeFi | 保留原文(去中心化金融) |
| devnet | 开发网 |
| digital rock | 数字岩石 |
| EIP-1559 | 保留原文(以太坊改进提案编号) |
| ERC-20 | 保留原文(以太坊代币标准) |
| Eth 2.0 | 保留原文 |
| Ethereum | 以太坊 |
| fantasy sports | 梦幻体育 |
| founder’s reward | 创始人奖励 |
| free-rider effect | 搭便车效应 |
| gas | 保留原文(区块链燃料费计量单位) |
| Gnosis Safe | 保留原文(以太坊多签钱包产品) |
| Haseeb Qureshi | 保留原文 |
| Howey test | Howey 测试 |
| IC3 | 保留原文(学术加密会议) |
| latency | 延迟 |
| Layer 2 | 保留原文(二层扩展方案) |
| liquidity mining | 流动性挖矿 |
| Maker DAO | 保留原文(去中心化自治组织/协议名) |
| Mark Zuckerberg | 保留原文 |
| Master Coin | 保留原文(项目名) |
| maximalist | 极大主义者 |
| Mihai Alisie | 保留原文 |
| moon math | 保留原文(俚语,指极为高深的数学) |
| Naval | 纳瓦尔 |
| negative issuance | 负发行量 |
| NFT | 保留原文(非同质化代币) |
| node | 节点 |
| off-chain | 链下 |
| OG | 保留原文(俚语,指早期参与者/元老) |
| on-chain | 链上 |
| permissioned | 需要许可的 |
| permissionless | 无需许可的 |
| Polygon | 保留原文(公链项目名) |
| proof-of-stake | 权益证明 |
| roll-ups | 保留原文(区块链扩展技术) |
| Rye | 保留原文(协议名) |
| seeder | 做种者 |
| sharding | 分片 |
| smart contract | 智能合约 |
| social recovery | 社交恢复 |
| Solana | 保留原文(公链项目名) |
| staking pool | 质押池 |
| stateless clients | 无状态客户端 |
| testnet | 测试网 |
| throughput | 吞吐量 |
| Tornado Cash | 保留原文(以太坊上的隐私协议) |
| Uniswap | 保留原文(去中心化交易协议名) |
| VC chain | VC 链 |
| Vitalik Buterin | 维塔利克·布特林 |
| Zcash | 保留原文(匿名加密货币) |
| zero-knowledge proof | 零知识证明 |
此文章由 AI 翻译(miaoyan_chunk_translate)