跳转到主要内容

Vitalik Buterin:30 分钟以太坊

Vitalik Buterin 讲述以太坊作为去中心化世界计算机的演进,涵盖权益证明、二层网络扩容、账户抽象以及未来的发展道路。

Date published: 2024年11月12日

以太坊创始人 Vitalik Buterin 在 Devcon SEA 开幕式上全面概述了以太坊作为去中心化世界计算机的演进历程。Vitalik 涵盖了权益证明 (PoS)、二层网络 (l2) 扩容、客户端多样性,以及决定以太坊生态系统未来发展方向的应用程序。

本讲稿是以太坊基金会发布的原视频讲稿 (opens in a new tab)的无障碍版本。为提高可读性,已进行轻微编辑。

简介 (0:02)

大家好,这是“30 分钟以太坊”。自以太坊发布以来,我基本上在每一届 Devcon 上都会做这个演讲。有趣的是,随着以太坊生态系统的变化,随着以太坊协议的变化,以及时代的变迁,演讲的内容也会发生很大的变化。如果你回顾 2015 年的同类演讲,你会听到很多关于叔块(uncle blocks)的内容。当然,叔块是工作量证明 (PoW) 的一个特征。现在我们有了权益证明 (PoS),所以我们不再有叔块了。当然,以太坊现在也有了二层网络 (l2),而在那时,演讲内容根本不会包含二层网络 (l2)。现在我们知道,二层网络 (l2) 占据了半壁江山。最重要的是,以太坊是一个不断发展的生态系统,随着技术的变化,以及生态系统的重点从构建基础基础设施转向高度关注应用程序,演讲的内容也将不断变化。

那么,以太坊是什么?首先,以太坊是世界计算机。在座的各位谁还记得以太坊是世界计算机?这里我本来应该放那个表情包:一个拿着枪的人在太空中说“一直都是”(always has been),但我一直不明白,为什么在给某人如此惊人而美丽的启示时,还要在离家两万公里的太空中向他们开枪。所以我今天不打算放那个图。以太坊是世界计算机。它一直都是,也将永远是。

除此之外,以太坊还是一个极其庞大且多样化的链上经济体。幸运的是,在我之前的 Josh 做了一个非常精彩的演讲,谈到了这个经济体的各个方面。以太坊也是一个极其庞大且多样化的全球社区。以太坊包含很多事物。我想我可能还应该挂一个闪烁的牌子,上面写着“ETH 是金钱”,但以太坊确实是包罗万象的。

世界计算机是如何运作的?我的理解是,一层网络 (l1) 是信任机器,而二层网络 (l2) 是 GPU。以太坊的一层网络 (l1),即核心的以太坊区块链,是保持生态系统其余部分安全并将它们凝聚在一起的锚点。一层网络 (l1) 是二层网络 (l2) 能够无需信任地相互通信的原因。至少在一切都升级到阶段 2(Stage 2)之后,你将能够获取一项资产,在 Optimism 上发行它,然后将其移动并保存在 Arbitrum 上的智能合约中,并且在此过程中实现零交易对手风险。一层网络 (l1) 的存在并不是为了追求极速;它不是为了每秒处理一百万笔交易 (transaction)。一层网络 (l1) 首先是为了去中心化,为了稳健,为了成为值得信赖的基础。

二层网络 (l2) 是 GPU。二层网络 (l2) 就是在座的各位,你们是任何一个二层网络 (l2) 的一部分。在座的谁是二层网络 (l2) 的一员?耶。谁使用过二层网络 (l2)?谁使用过一层网络 (l1)?很好,我们都是用户。这里有很多不同的 GPU,而以太坊这台世界计算机之所以能够凝聚在一起,是因为每一个 GPU 都通过乐观证明系统、零知识证明、SNARK、STARK、plonk 或其他各种流行技术连接到信任机器。所有这些系统都确保一层网络 (l1) 能够无需信任地验证二层网络 (l2) 内部发生的事情,而二层网络 (l2) 也能够无需信任地读取一层网络 (l1) 上发生的事情。

去中心化与多样性 (5:11)

这两个组件之间存在着重要的相互作用,它们共同构成了今天的以太坊。L1 是什么?它是一条链。它运行权益证明 (PoS)。它不会崩溃。这意味着什么?以太坊 L1 是一条总共存在了九年多的链,而它以目前的权益证明 (PoS) 形式存在了两年多一点。对于基础层来说,非常重要的一点是,要有明确的证据表明你所构建的基础层是去中心化的、开放的、稳健的,并且有可能在未来继续保持这些特性。

其中一部分是缓慢的变更。你不会希望一个系统在某个星期二突然醒来,换了新的管理层,然后决定开始删除一大堆应用程序,改变其整个模型,将费用提高 10 倍,或者在没有任何警告的情况下做其他事情。去中心化和韧性的另一部分是恢复能力。每当出现问题时,实际上能够从中恢复,并随着时间的推移提高一层网络 (l1) 的质量。

如果我们看一张比特币工作量证明 (PoW) 矿池与以太坊权益证明 (PoS) 质押池的对比图,我在这里故意宽容了一些,因为在合并之前,以太坊工作量证明 (PoW) 的去中心化程度甚至更加集中。我们在以太坊权益证明 (PoS) 方面看到的是一组相当多样化的质押池。如果你放大看 Lido,它的份额略低于 30%,但 Lido 并不是单一的参与者。它是一个 DAO。从技术上讲,存款大约分配给 40 个不同的节点运营商。将其视为介于 1 个参与者和 40 个参与者之间是合理的。

然后我们有“未识别”(unidentified)。未识别并不是一个参与者,就像你键盘上的“任意”(any)键实际上并不是一个键一样。我们其实不知道它是什么。可能有很多独立质押者、小型企业质押者以及各种微型质押池。今天的以太坊 L1 在其权益证明 (PoS) 设计中实际上具有惊人的高去中心化程度,而且这一特性随着时间的推移只会变得更好。

实际上有一个特性已经变得好多了,那就是客户端多样性。大约五年前的以太坊基本上只有 Go以太坊 (Geth)。当你有一个由单一客户端主导的生态系统时,这本身就会成为一个单点故障。在座的谁还记得 2016 年的 DoS 攻击?你在凌晨 5:17 醒来,接到军训式的叫醒电话,下楼来到作战室,有人在客户端中发现了一个漏洞。整条链停止了运行。我们修复了它,然后两三天后有人又发现了另一个漏洞。这种情况持续了整整一个月,直到最后我们不得不进行硬分叉。但在那段时期,以太坊拥有两个不同客户端的能力——当时是 Go以太坊 (Geth) 和 Parity——基本上拯救了这条链。有时漏洞会影响 Go以太坊 (Geth) 但不影响 Parity,有时漏洞会影响 Parity 但不影响 Go以太坊 (Geth)。以太坊从拥有多个软件实现中获益良多,而到了 2024 年,这可能是以太坊历史上状态最好的一刻。

多客户端与稳健性 (10:40)

如果我们看看处理以太坊权益证明 (PoS) 部分的共识客户端,以及处理以太坊 EVM 部分的执行客户端,我们可以看到市场份额最高的单一客户端是 Go以太坊 (Geth),大约在 50% 左右。如果就在今天、就在此刻,任何一个以太坊客户端出现了漏洞,会发生什么?检查一下以太坊是否仍在运行。我猜它还在运行——我敢在 PolyMarket 上押注 99.99%。

情况一:如果出问题的客户端是 Go以太坊 (Geth) 会怎样?这是最坏的情况。如果客户端是 Go以太坊 (Geth) 并且存在漏洞,实际上链会一分为二。一半跟随 Go以太坊 (Geth),一半跟随其他客户端,但在两边,链都会停止最终确定(finalizing)。要实现最终确定,你需要三分之二的共识。如果低于三分之二,区块会继续生成,但链会停止最终确定。如果你是一个用户、一个应用程序或一个企业,正在等待某笔交易 (transaction) 的确认,你会发现两条链都没有最终确定,你将处于待命状态。实际会发生的情况是,核心开发者进入高度戒备状态,找出到底是哪个客户端存在漏洞,然后漏洞被修复。以太坊历史上发生过一次这种情况——有趣的是,在 2016 年,实际上是我自己发送了导致该问题的交易 (transaction)——基本上所有问题都在 12 小时内得到了修复。

这是最坏的情况。在其他所有情况下,基本上如果普莱斯姆 (Prysm) 或莱特豪斯 (Lighthouse) 出现漏洞,所发生的一切只是以太坊最多停止最终确定大约一天,然后基本上就会恢复正常。对于任何其他客户端,你根本不会注意到任何异常。在实际的去中心化方面,拥有多个客户端是非常有帮助的。它分散了对以太坊生态系统的权力和控制,特别是在任何类型的争议情况下。如果再次发生类似 DAO 分叉的事件,并且一个开发团队做出了不受欢迎的选择,用户将非常容易地切换到其他客户端并完全绕过他们。

这在单一客户端生态系统中是不切实际的。拥有一个多样化的多客户端生态系统很难实现。除了以太坊之外,没有其他链真正实现了接近这一点的目标。甚至在以太坊之外,比如网络浏览器——网络浏览器本应是一个开放标准。现实情况是,80% 以上的浏览器运行在 WebKit 的某个分叉上,其余的运行在 Firefox 上,而 Firefox 正在勇敢地努力坚守阵地。以太坊成功地逆转了这一趋势。

两年前,这张图表的情况更糟。以太坊的去中心化不仅能够保持不恶化,而且能够积极应对问题,并随着时间的推移大力推动改进。如果你正在构建一个需要存在 5 年或 10 年的应用程序,这些特性正是你所寻找的。

如果你有 32 ETH,或者如果你加入一个质押池,需要的 ETH 会更少,现在出现了越来越多非常有趣的质押池选项——比如 Obol 小队质押,它允许你和朋友一起创建更小的质押池。有很多不同的方法可以让你成为一名质押者,如果你这样做了,你就会成为保护以太坊区块链安全的节点网络的一部分。

节点验证与扩容 (15:06)

我想这就是基金会宣传材料中的描述方式——它有一只可爱的大象。所以为这只大象欢呼吧!你也可以加入网络并帮助保护它。即使你不是质押者,你也可以在你的电脑上运行一个以太坊节点,并自愿验证这条链。

我猜现在甚至没有人拥有长这样的台式机了。我把“台式电脑”输入到 Stable Diffusion 3.5 中,它就生成了这个,所以这就是你得到的电脑。但你可以在你的电脑上运行一个以太坊节点来验证这条链。这非常重要,因为如果有用户在验证这条链,那么即使是大多数或绝大多数的质押者联合起来,也无法在不破坏一切的情况下改变人们的规则。以太坊的规则只能通过广泛社区共识达成的硬分叉来改变。

我认为这是非常有价值去保留的东西之一。在区块链生态系统中,基本上只有比特币和以太坊真正拥有这样一种强大的文化:努力使其成为可能,并不断提高人们验证链的能力。有许多即将到来的协议升级,其确切目标就是让这变得更加容易。

明天,你将能够使用无状态客户端运行一个节点,而不需要超过少量的存储空间。这是路线图中“Verge”阶段的一部分。我们还有轻客户端。有一个名为 Helios 的项目正在进行一种轻量级验证。轻量级验证并不完美,但它确实意味着你不需要信任一个 RPC 节点来告诉你关于链的信息。更长远的未来是,我们希望对整条链进行 SNARK 化。一旦我们对整条链进行了 SNARK 化,你将能够在极大或极小的硬件上验证以太坊的规则。

用更少的 ETH 进行质押也是一个非常活跃的研究需求。32 ETH 仍然很高。我希望人们能用 1 ETH 成为质押者。有不同的方法可以做到这一点,比如 Orbit,或者进行聚合改进。总的来说,许多协议改进即将到来,专门为了让质押和运行节点变得更容易、更易于访问。

以太坊 L1 上运行着什么?一些高价值的应用程序。许多高价值的去中心化金融 (DeFi) 运行在 L1 上。ENS 目前在 L1 上,尽管它越来越多地在二层网络 (l2) 上开展业务。人们在一层网络 (l1) 上持有资产。此外,一层网络 (l1) 管理着二层网络 (l2) 的区块根、状态根和证明系统。它保护着二层网络 (l2)。一层网络 (l1) 需要足够强大以处理跨层操作,特别是在二层网络 (l2) 发生故障的情况下。二层网络 (l2) 和独立链之间的区别在于,即使你的二层网络 (l2) 遭到 51% 攻击或团队关闭,一层网络 (l1) 仍然站在那里保护用户。用户能够证明他们在二层网络 (l2) 内部的所有权和状态,并将其迁移回一层网络 (l1)。

L2 速度与路线图 (20:33)

最近,有一个关于这方面的现场实验。dYdX v3 最近关闭了,L2Beat 的人员编写了他们自己的安全退出机制软件实现。在没有任何 dYdX 团队参与的情况下,用户能够将他们在 dYdX v3 内部的任何资产带回以太坊 L1。在没有团队参与的情况下退出二层网络 (l2) 不仅仅是理论,而是现实。

如果 L1 运行应用程序并保护 L2,那么 L2 做什么?L2 提供速度和扩容。今年,二层网络 (l2) 的费用已从大约 50 美分降至不到 1 美分。基本上,对于极其广泛的应用程序类别,以太坊一夜之间从基本负担不起变得完全可以负担得起。

那么交易 (transaction) 打包时间呢?在座的谁还记得发送一笔交易 (transaction) 并等待任意分钟数——比如 10、40 或 90 分钟——才被打包的经历?谁还记得在过去 6 个月里在以太坊中有过这种经历?以太坊已经有了巨大的改进。在工作量证明 (PoW) 时代,比特币的平均出块时间是 10 分钟,但在以太坊中,平均出块时间是 12 秒。然而,有一个烦人的现象,如果你在 Gas 价格上运气不好,你将不得不等待 10 或 20 分钟。2021 年推出的 EIP-1559 基本上解决了这个问题。

然后是合并。由于一个有趣的数学巧合,尽管区块之间的平均时间仅从 13 秒减少到 12 秒,但从你发送交易 (transaction) 到其被打包的平均时间从 13 秒多一点减少到了 6 秒多一点。给你们留个数学题:弄清楚为什么会这样。合并后,打包时间基本上降到了 6 到 30 秒。最后,有了二层网络 (l2),你有了预确认,因此二层网络 (l2) 足够快,可以在几百毫秒内确认你的交易 (transaction)。作为用户,你可以参与到一个发生着许多事情的应用程序中,同时,你的交易 (transaction) 费用仍然很便宜。

以太坊的历史:2013 年 11 月发布了白皮书。2015 年 7 月正式上线。大约在 2018 年,以太坊确定了其权益证明 (PoS) 和数据可用性采样的近似设计。关于数据可用性采样和纠删码的原始论文是我在 2017 年写的。

Casper 与 Rollup 扩容 (25:27)

如果你深入挖掘 GitHub,你可以搜索名为 simple_casper 的目录,并找到用 Serpent 编写的合约。在座的谁还记得 Serpent?谁使用过 Serpent?我的意思是,我认为 Python 真的很优美,但如果你想要那种风格,你应该用 Vyper 编写代码。Vyper 实际上非常棒,并且一直在不断改进。在 2017 年的那个仓库中,我们试图进行完全抽象,并将权益证明 (PoS) 逻辑直接编写为智能合约。我们在 2017 年 12 月 31 日曼谷时间晚上 11:20 发布了一个演示版本——我们想在新年之前推出一些东西——结果这个演示版本很快就崩溃了。那还是早期阶段。

从那以后,就不再是早期阶段了。在 2018 年初,我们开始了一项大规模的工作,以构建以太坊权益证明 (PoS) 系统和扩容系统,这后来演变成了我们今天拥有的 blob。2022 年是合并,从工作量证明 (PoW) 切换到权益证明 (PoS)。2024 年是“Surge”的第一部分。如果你看路线图,你会看到两个里程碑:基础 Rollup 扩容和全面 Rollup 扩容。基础 Rollup 扩容意味着你需要主要的二层网络 (l2) 达到阶段 1(Stage 1),并且你需要 blob 的存在。到 2024 年,我们实际上实现了这一点。下一步是全面运行数据可用性采样,并让主要的 L2 达到阶段 2(Stage 2)。我认为这会比人们想象的更早发生。

仍然有很多问题需要解决。我们希望对去中心化进行升级。在座的谁希望以太坊变得中心化?好吧,有一个人希望以太坊中心化。抗审查性——抗量子性?好的,有一只手举起来了。也许你觉得需要崩溃才能迎来新生!但我们需要进一步的升级,以确保去中心化、抗审查性和抗量子性继续存在。

我们还需要对效率和扩容进行渐进式的持续升级。二层网络 (l2) 将极其快速地扩容,其安全性将在未来几年内得到提高。我也期望对一层网络 (l1) 的容量进行渐进、谨慎但明确的持续升级。我们需要这样做来支持 L1 的活动,并且因为 L1 充当着后盾。L2 的最大理论安全容量与 L1 的容量成正比。

我们将对数据可用性采样进行升级,以增加以太坊可以支持的 blob 数量。大约一周前,以太坊实际上进入了 blob 的价格发现模式,这意味着正在使用的 blob 数量正好等于长期目标。现在我们需要扩大这个数字。

我们已经进行了足够的扩容,使得各种各样的应用程序成为可能:ENS、消费者支付、社交网络。我认为在未来十年中将极其重要的一个类别是混合金融和非金融应用程序——这些应用程序利用金融的力量,但最终服务于超越金融目标的终点。这里有很多非常强大的应用程序。我们花了很长时间让技术变得更好,我们将继续这样做,但它现在已经达到了这样一个水平:现在是时候去构建了。谢谢大家。[掌声]

这个页面对您有帮助吗?