【ETHPanda 译制】30 分钟讲透以太坊 | Vitalik Buterin Devcon 演讲
Devcon 7 · 12 Nov 2024 · 30:23
Vitalik Buterin introduces Ethereum as a decentralized world computer in his Devcon SEA keynote. He explains the security role of Layer 1, proof of stake and scaling through rollups, then discusses decentralization, the growing ecosystem and future work on proof systems, protocol security and global collaboration.
Speakers
Topics
From Devcon 7, hosted by Ethereum Foundation.
Transcript
[music] [music] Great. So, Ethereum in uh 30 minutes. So, this is a a presentation that I've given at I think basically every single DevCon since launch. Though I think what's interesting is how as uh Ethereum the ecosystem uh changes and as Ethereum the protocol changes as the times change uh the contents also end up changing quite a bit right so if you go back to the equivalent of this from 2015 you'll hear a lot about uncle blocks of course
uncle blocks are a feature of proof of work now we have proof of stake and so we don't have uncle blocks anymore now Ethereum also uh of course uh now has layer twos and back in 2016 this would not contain layer 2 at all and now of course as we know layer 2 are half the story right so Ethereum is above all an evolving ecosystem and uh the contents of this are going to keep changing as the technology changes and also as the emphasis of the ecosystem changes from building basic infrastructure uh to now als putting a huge amount of focus on
what is the world who here remembers Ethereum being the world computer where like there's the guy with the gun in space saying always has been but I don't know I never understood why you're why like like giving someone such an amazing and beautiful reation is supposed to come at the same time as shooting them in space 20,000 km away from home. And so I'm not going to do that today. So Ethereum is the world computer. It always has been, always will be. Uh so in addition to this, Ethereum is an incredibly large and diverse onchain economy. Um and uh
fortunately know Josh uh right before uh well one one skipped before me made an incredibly good uh presentation talking about all the different aspects of the economy and also Ethereum is an incredibly large and diverse global community and I and Josh and the automated like intro thing before that I think did a a really good job of showing that too. So, Ethereum is many things, right? I think uh they're like also pro probably you're supposed to like put up a flashing sign saying ETH is money as well, but you know, Ethereum is a lot of things, right? And Ethereum is all of
these different things at the same time. So, how does the world computer work, right? So the way that I think about this is uh you layer one is the trust machine and layer two is the GPU right. So the layer one of Ethereum that is uh the core Ethereum blockchain. This is the anchor that keeps the rest of the ecosystem safe and holds the rest of the ecosystem together. Layer one is the reason why layer twos are able to trustlessly talk to each other. And at least once everything upgrades to stage two, you will be able to take an asset,
issue it on optimism and then move it and hold it inside of a smart contract on arbitum and do so with zero counterparty risk. Layer one is not there to be ultra fast. It is not there to do a million transactions per second. Layer one is first and foremost there to be decentralized, to be robust and uh to be something that is dependable. Layer two is the GPU. So that layer two is uh all of you in the in the room who are part of any single layer 2. Um who here is part of a layer 2?
Yay. Who here has used a layer 2? Who here has used layer one? Good. It's uh we're all users here. So, actually know there's lots of different GPUs, right? And Ethereum as a world computer is able to hold together because each and every one of these GPUs is connected to the trust machine through optimistic uh proof systems, zero knowledge proofs, snarks, starks, binas, jolts, plon, splunk, you know, whatever the buzzwords are, right? uh and uh that all of these systems
actually ensure that layer 1 is able to trustly verify what is going on inside of the layer 2s and layer 2 also are able to trustly read what is happening on layer 1. So there's an important interplay between these two components and together they make up the ethereum that is here today. So what is the one? It's a chain. It runs proof of stake. It doesn't afraid of anything. So it's and what what so what does this mean? Right. So Ethereum one is uh a chain that has uh existed altogether for um more than nine years now. And it's existed in its current proof ofstake
form for um a little bit over two years. And I think one of the yeah really important things for a yeah base layer to have is you want to have clear evidence that that you're building on a base layer that is decentralized that is open that is robust and that is likely to keep those traits going forward into the future. Right? And one po one part of that of course is some like something that is slow to change. Right? One part of that is being something that is not suddenly going to wake up on a Tuesday, have new management, and then suddenly decide that it's just like totally going to like start deleting a whole bunch of
different applications, change its entire model, and do other like push the fees up by a factor of 10 and do other things without warning. Another part of decentralization and resilience is actually yeah recovery, right? So whenever a problem actually starts to arise actually be able to recover from it and have some way of actually yeah improving the qualities of the layer 1 over time. So over here um this is uh on the left a chart of Bitcoin proof of work um mining pools and on the chart on the right Ethereum proof ofstake mining pools. Actually, um I'm deliberately being generous here because uh putting Bitcoin proof of work mining pools because before the merge
actually Ethereum proof of work decentral uh was even more concentrated than this, right? And so what we see here on the right is you see actually a pretty diverse different set of staking pools. And if you zoom into either of the top items on the uh chart on the top left, so Lido and it has some somewhere a little bit under 30%. But then actually Lido is like it's not one actor, right? It's a DAO. Technically the deposits are split between 40 different node operators approximately and there's some more complicated structure that keeps updating. Uh but it's and so I think it's reasonable to think of it as being like somewhere between one actor and 40 actors. Exactly
where like this is like a problem for you social science people to figure out, right? How do you actually quantify the decentralization thing? There there's even grant opportunities for this stuff. So that's u like so that's number one, right? And then number two, unidentified. Now unidentified is not an actor just like there's no the any key on your keyboard is not actually a key. So unidentified like we actually don't know what it is. There's probably lots of solo stakers, lots of small business stakers, lots of uh like various tiny staking pools also not one actor, right?
So Ethereum ML1 today actually has a surprisingly high degree of decentralization in its proof ofstake design. And this is a property that I think has only gotten better over time. Here is one thing, one property that actually has gotten a lot better. So, Ethereum uh about uh 5 years ago was basically just G, right? And when you have an ecosystem that is dominated by one client, that itself becomes a central point of failure, right? So, who here remembers the 2016 DOSs attacks?
Yay. So, you know, remember wake up 5:17 a.m. get a military style wake up call. Um, you know, like say, "Hey, you have to go down to, you know, like the thing that we suddenly turned into a war room now." Go down and then, oh, someone discovered a bug in the client. Now, the entire chain is stopped. And then we fix it. And then two three days later the the some guy somewhere finds another bug and then three days later another bug and then that keeps going on for a whole month until eventually uh we have to hard fork. But during that period actually the ability for Ethereum to have two different clients at the time they were GU and par basically saved the chain. There were even like there were times when there was a bug that would
hit G but not par. There were times when there was a bug that would hit par but not G. Um and uh so Ethereum actually gained a lot from having multiple software implementations and this is something that as of 20124 is probably at the best that it's ever been in Ethereum's history. So [applause] on the left you have consensus clients. Consensus clients handle the proof ofstake part of Ethereum. On the right you have execution clients. execution clients handle the EVM part of Ethereum.
So [snorts] as we can see the single client with the highest market share is GE which is like somewhere around 50% and actually this is uh from a source that's basically assuming that most unidentified clients are GE and so it could easily be below 50%. Right? So let's say it's about 50. So what happens if there is a bug in any Ethereum client like literally today right now? Okay, anyone here has like a bug? Okay, uh Josh, can you check is Ethereum still running? I'm going to guess it is.
Um you know, bet like 99.99% plus market. Okay, so what so what happens if the client is G? That's the worst case. If the client is G and there's a bug, what realistically happens? Basically, chain splits in half. One half follows G, one half follows the other clients, but on both sides, the chain stops finalizing. To finalize, you need 2/3. If you have less than 2/3, the chain keeps going. Blocks keep getting created, but the chain stops finalizing. And so if you are a user, an application, a business, and you're waiting for confirmation on some transaction, you're you're probably actually going to be waiting for
finality. And so if the chain splits in half because of a client bug, well, actually, yeah, you're neither chain is going to finalize. And so you're going to detect that and you're going to be on standby. What's realistically going to happen? core devs get on high alert, figure out which client actually has the bug, and the bug gets fixed. The one time this happened in Ethereum, actually, yeah, fun fact, I actually set the transaction that did it myself. This was back in 2016. Uh, basically, yeah, everything was fixed within 12 hours. So, that's the worst case. every other case. Basically, if Prism and Lighthouse have a bug, all that happens is that Ethereum stops finalizing for like about a day at most and then it bas it just
goes back to normal. Any other client, you're you're not going to notice anything at all. So in terms of practical decentralization, having multiple clients is extremely helpful and also having multiple clients is extremely helpful because it diversifies the power and the control over the uh Ethereum ecosystem especially in any kind of contentious situation, right? If some kind of Dow fork type incident happened again and one particular development team made a choice that is unpopular, then even if that one uh that one development team just insists on pushing it through, users are going to
be very easily able to just switch to the other clients and just completely route around them. This is not something that is anywhere close to that practical in a single client ecosystem. Having a diverse multi-line ecosystem is actually very difficult to achieve. I think aside from Ethereum, no other chain has really gotten to achieve anything close to this. And even outside of Ethereum, like even web browsers, web browsers supposed to be an open standard. Reality is like something like 80% of the PL plus of the ecosystem, probably even more, runs on some fork of WebKit and the rest runs on Firefox, which is kind of valiantly trying to hold its own as an alternative. and uh is uh doing pretty well. It's one of the browsers that I
use. But like you can see right like there there is there are natural pressures toward um you know homogenization and toward one implementation winning and Ethereum actually has managed to buck this trend. So in Ethereum um two years ago this chart was worse. And so Ethereum's uh decentralization is not only able to not get worse, but it's also able to actively respond to problems that exist and over time push to make them better. If you're building an application that you needed to exist 5 years from now, 10 years from now, and that you want to be robust and continue working 5 or 10 years from now, what properties do you want the chain you're building on to
have? I think properties like these are exactly what you would be looking for. with 32 ETH or with less than 32 ETH. If you join a pool, there's more and more really interesting pool options that are appearing. Um there's even, you know, like things like OBL squad staking, like there's options around Okay. Um there's options around like basically creating smaller pools with your friends. There's different pools that follow all kinds of different rules. And so there's lots of different ways for you to become a staker. And if you're a staker, then you become part of this network of nodes that is securing the Ethereum blockchain. So earn rewards while securing Ethereum. So you know I
guess uh this is you know how the foundation propaganda describes that it has a cute elephant. Uh so good cheers for the elephant. Uh so you know you too can join the network and you too can help secure it. So also even if you're not a staker, you can also run an Ethereum node and you could verify the chain. So you know this is uh a computer. I mean I guess these days nobody even has desktops that look like this, right? It's like you either have laptops or you have like some crazy like GPU construction that's like basically like looks almost like a server, right?
But like I don't know. I mean, I just like shoved like a desktop computer into stable diffusion 3.5 and it like put this out. So, that's the computer you get. Uh, but uh, you know, you too can run an Ethereum node on your computer and you can verify the Ethereum chain, right? So this is really important because if you have users that are verifying the chain then even a majority of the stakers acting together even twothirds of the stakers acting together are not able to change the rules on people without everything breaking right there's the Ethereum rules they can only change through a hard fork that is agreed upon through wide community
consensus they cannot be pushed through by a majority or super majority of the stakers. And this is something that is really key and really important and makes blockchains very different from almost any other kind of protocol. And I think this is one of those things that's really valuable and really important to preserve. I think uh even among blockchain ecosystems, it's [clears throat] basically Bitcoin and Ethereum that really uh have a strong um culture of like really at least among the large ones, right, of of actually trying to make it possible and keep improving people's ability to verify the chain. And there's a lot of protocol upgrades that are coming that precisely
have the goal of making it even easier to verify the chain. So today um you have this uh tomorrow uh you will uh be able to one run a node without requiring more than a small amount of storage using uh stateless clients. So this is uh in my big like series of six posts. This is going to be the one on the verge right. So stateless clients is a very important section light clients. Uh so there is a project called Helios which is doing a form of light verification of the chain. So light verification is not perfect. It still follows the consensus and so if 51% of nodes change the rules you are going to follow them. But it
does mean that if you're using a light client then you do not have to trust an RPC node to tell you any kind of information about the chain. And so Helios is uh building a light client for Ethereum that does verification of the proof ofstake part of uh Ethereum and uh also actually starting to build light clients for L2s um as well. The longer term future of course is uh we want to snark the whole chain and once we snark the whole chain you will be able to verify the Ethereum rules on extremely large or extremely tiny hardware. So node writing requirements and pushing those down is a key part of the Ethereum
road map going forward. also uh staking with with less ETH. This is one of those very active research requirements, right? So 32 ETH, it's still high and uh you know, it's even higher than it was two weeks ago, but you know, my Okay, but you know, I think like I would like for people to be stakers with one ETH. And so I think there's a different ways to do this. There is orbit, there is uh just making a large number of aggregation improvements, but there's a lot of protocol improvements that are coming specifically in order to make staking easier and more accessible and to make running a node that verifies the
chain easier and more accessible. So what runs on the Ethereum L1? So some highv value application use cases. So a lot of highv value DeFi runs on L1. Um ENS is currently on L1 though it's uh increasingly yeah doing doing more and more with uh layer 2 then uh a lot of uh diff various applications um all kind just all kinds of things in every category. Uh people just hold assets on layer 1. So lots of highv value application use cases on layer 1. Also managing block routes and and state routes and proof systems for layer twos.
Layer one is the thing that secures layer 2's cross layer 2 operations. Um, and layer 1 needs to still be powerful enough to handle cross um, a lot of things happening, especially in the case where a layer 2 fails. The difference between a layer 2 and an independent chain is that even if your layer 2 gets 51% attacked or 91% attacked or the team shuts down, layer 1 is still stands there to protect the users. users are able to prove their whole their assets and their ownership and their state inside of the layer 2 and migrate it down back down to layer 1. In order for this to actually be possible, layer 1 needs to actually be powerful enough to
handle the load if a layer 2 actually does fail. Recently there was a live experiment of this. Uh so dydxv3 I believe shut down recently and uh the L2B people actually wrote their own implementation of escape hatch software and so without any involvement from the DYDX team uh users are able to take any assets that they have inside um inside of Dydxv3 and bring it back down to the Ethereum L1. So [applause] Layer 2s are not just multiix. The ability to act move your assets out of
the layer 2 and back to layer 1 if the layer 2 fails without the layer 2 team's involvement is not just theory. It is reality. So [applause] L1 protects the L2s. What do the L2s do? L2s provide speed and scale. So on the left here uh you have a chart of uh like basically the same as uh the chart that Josh showed earlier basically layer 2 fees and this is just what they've done this year. So this year layer 2 fees have gone down from about 50 cents to less than 1 cent. So this is a massive change, right? This basically means that
for an incredibly wide class of applications, Ethereum has overnight gone from being basically unaffordable to being completely affordable. So that's [applause] transaction inclusion times, right? So, who here remembers the experience of sending a transaction and then having to wait some arbitrary number of minutes, could be 10, could be 40, could be 90, for the transaction to get included?
Who here remembers having this experience in Ethereum? Who here remembers having this experience in Ethereum in the past months? So, Ethereum has improved massively. Now, this is actually a pretty uh linear progression that we've had all the way since the beginning, right? So, Bitcoin 10-minute block times and uh Bitcoin has uh this uh you know thing called a pluson distribution that of course Ethereum also had um had during the proof of work era, but then we decided we don't like fish and so we switched to proof of stake. So, Bitcoin average block time 10 minutes often you have to wait up to one hour. Now, in Ethereum, uh the average block time is 12 seconds,
but then there's still this like annoying phenomenon where if you sent a transaction and you get unlucky with the gas price that you set, maybe you would have to wait like 10 minutes or 20 minutes accidentally. EIP1559, which came in 2021, basically solved that and created a situation where you're able to reliably send a transaction and expect to see it included usually within one block. And then the merge because of this interesting quirk of mathematics. Even though the average time between blocks reduced only from 13 seconds to 12 seconds, the average time between you sending a transaction and your and your transaction getting included in a block reduced from a little bit more than 13 seconds to a little bit more than 6
seconds. Um, so math problem, figure out why this is true. It's actually a really fun fact. So postmerge basically goes down to like about six to 30 seconds. And then finally with layer 2s you have pre-confirmations and you have layer 2 that are fast enough to just confirm your transaction within a couple hundred milliseconds. So layer 2s provide speed. Layer twos provide scale. And the way that you as a user see scale is you get to be part of an application where lots and lots of things are happening and at the same time your transaction fees get to continue to be cheap.
So history of Ethereum right. So November 2013 the white paper July 2015 the launch around 2018 that was the time when Ethereum settled on its approximate design for proof of stake and data availability sampling. So the original papers and like documents for data availability sampling and eraser coding um I wrote those back in 2017 and then we settled on uh the Casper the friendly finality gadget also at the end of 2017 actually if you really want and you can dig I think it's like either GitHub Ethereum research or like GitHub Ethereum simple Casper you just like search for the directory called simple Casper and you can find like contracts
written in serpent like who remembers serpent Okay. Who here uses serpent? Good. I mean I think like I think Python is like is really yeah beautiful but I think if you uh like if you want that then you should code in Viper. Viper is actually like great. It's actually kept improving quite a bit for the last couple of years. So we had basically Okay. Yay. Glad for Viper. Um okay. And so in 2017 actually we attempted to like basically do this like full like abstraction thing and even write the proof ofstake logic directly as a smart contract. And so there's this like really fun demo that we launched at I think it was actually like 2320 Bangkok
time on December 31st, 2017. And like you know we wanted to get something out before New Year's but then like the demo actually yeah it ended up like breaking up pretty quickly. you know, it was early days, but since then, of course, it's not early days anymore. And at the start of 2018, a really massive effort started to actually build out the Ethereum proof for stake system and to build out the Ethereum scaling system, which has since then turned into the blobs that we have today. 2022, the merge, switching from proof of work to proof of stake. 2024, the surge part one, right? So if you look into the road map diagram and you look into the search section, you see that there's two milestones. There's one that I call basic rollup scaling and there's one
that I call full rollup scaling. And basic rollup scaling basically says you need major layer twos to hit stage one and you need blobs to exist. And so 2024 we actually hit that. The next step is having actual like fully running data availability sampling and major layer 2 is hitting stage two. So I think that will happen and I think that will happen sooner than people expects to actually build this. Now, future of Ethereum, there are still a lot of problems that are left to solve. So, we want to decentraliz here to be decentralized.
Who here wants Ethereum to be centralized? Okay. Okay. So, one person wants Ethereum to be centralized. Okay. Um, censorship resistance. Who here wants to censor Ethereum? Okay. A couple more hands. Um, quantum resistance. Who here wants Ethereum to break the first time a quantum computer comes out? Okay, one hand. That's good. You know, maybe it's like, you know, you know, sometimes like you need collapse in order for renewal to happen, right?
aggressive upgrades to efficiency and scale. Um, so layer 2 I think is going to scale extremely quickly and it safety is going to improve quickly over the next few years. And also I expect progressive upgrades, cautious upgrades, but still progressive and definitely ongoing upgrades to layer 1 capacity in different forms as well over the um over the next years. And I think one of the big reasons why we need to do this one is to support the activity that continues to happen on layer 1 itself. And two, because ultimately if something breaks on a layer two, layer one still needs to be there to be as a back stop.
And so the maximum theoretical safe capacity of L2s is proportional to to the capacity of L1. We're going to have upgrades to data availability sampling to increase the number of blobs that Ethereum can support. As of about a week ago, Ethereum is actually hit price discovery mode, meaning the in terms of blobs, meaning that the number of blobs that is actually being you being used on Ethereum exactly equals the protocol set long-term target. Now, we need to scale this number upgrades are happening to actually do this. So, upgrades to data availability sampling. We've now we have also scaled enough that a wide variety of applications are possible. ENS, consumer payments, social. One category
that I think is going to be extremely important over the next decade is mixed financial and non-financial applications. Applications that make use of the power of finance but ultimately to serve ends that go be that go beyond financial goals. And I think there's lots of very powerful applications here. And I think it's uh we've spent a long time making the technology better and we will continue doing this but it is at the level where now is the time to build. Thank you.