演讲者:Vitalik Buterin,以太坊创始人 编译:0xxz,金色财经 EthCC7 近日在布鲁塞尔举行,主办方邀请到以太坊创始人 Vitalik 进行了主题演讲。 值得注意的是,2024 年正值以太坊 IC0 10 周年,在 Vitalik 演讲结束后,曾经的以太坊三位核心创始人 Vitalik Buterin、Joseph Lubin 和 Gavin Wood 再度同框合影纪念。 本文为以太坊创始人 Vitalik 近日在 EthCC7 上的主题演讲,金色财经 0xxz 编译。 演讲主题 强化 L1:优化以太坊,使其成为高度可靠、值得信赖且无需许可的 Layer 2 基础层 以太坊愿景光谱
我认为,关于未来五到十年以太坊基础层在生态系统中可能扮演的角色,有一个可能的不同分工的谱系。你可以将它视为从左到右的一种光谱。 在光谱左边,它基本上尝试成为一个非常简约的基础层,基本上只是作为所有 L2 的 proof 验证者。也许还提供在不同 L2 之间转移 ETH 的能力。但除此之外,基本上就这么多。 在光谱右边,基本上重新聚焦于主要在 L1 上运行的 dApps,而 L2 只用于一些非常特定和高性能的事务。 在光谱中间有一些有趣的选项。我把以太坊作为 L2 的基础层放在左二。最左边我放了一个极端版本,极端版本是我们彻底抛弃整个以太坊的执行客户端部分,只保留共识部分,再添加一些零知识证明验证者,基本上把整个执行层也变成一个 Rollup。 我的意思是非常极端的选项在左边,而在右边它可以是一个基础层,但也可以尝试为 L2 提供更多功能。在这个方向上的一个想法是进一步减少以太坊的 swap 时间,目前是 12 秒,可能会降到 2-4 秒。这样做的目的实际上使based rollups 作为 L2 运作的主要方式变得可行。所以现在,如果你想要 L2 有顶级的用户体验,你需要有自己的预确认,这意味着要么是一个中心化的排序器,要么是自己的去中心化排序器。如果它们的共识速度加快了,那么 L2 将不再需要这样做。如果你真的想要增强 L1 的可扩展性,那么对 L2 的需求也会减少。 所以,这是一种光谱。目前我主要关注左二的版本,但我在这里建议的事情也适用于其他愿景,并且这里的建议实际上并不会阻碍其他愿景。这是我认为很重要的一点。 以太坊的鲁棒性优势
以太坊一个大的优势是,有一个庞大且相对去中心化的质押生态系统。 上图左边是所有比特币矿池算力图表,右边是以太坊质押者图表。 比特币算力分布目前不是很好,两个矿池加起来超过 50% 算力,四个矿池加起来超过 75%。 而以太坊的情况实际上比图表显示的更好,因为第二大部分灰色部分实际上是未识别的,这意味着它可能是很多人的组合,甚至可能有很多独立质押者在里面。而蓝色部分 Lido 实际上是一个奇怪的、松散协调的结构,由 37 个不同的验证者组成。所以,以太坊实际上有一个相对去中心化的质押生态系统,表现相当好。 我们可以在这方面做很多改进,但我认为认识到这一点仍然有价值。这是我们真正可以在其基础上构建的独特优势之一。
以太坊的鲁棒性优势还包括: ● 拥有一个多客户端的生态系统:有 Geth 执行客户端,也有非 Geth 执行客户端,非 Geth 执行客户端占比甚至超过 Geth 执行客户端。类似的情况也发生在共识客户端系统中; ● 国际化社区:人们在很多不同的国家,包括项目、L2、团队等; ● 多中心的知识生态系统:有以太坊基金会,有客户端团队,甚至像 Paradigm 的 Reth 团队近期在开源方面也在不断增加领导力; 重视这些属性的文化 所以,以太坊生态系统作为基础层已经拥有这些非常强大的优势。我认为这是非常有价值的事情,不应轻易放弃。我甚至可以说,有明确的步骤可以采取来进一步推进这些优势,甚至可以弥补我们的弱点。 以太坊 L1 哪里没有达到高标准,如何改进?
这是我在大约半年前在 Farcaster 上做的一个民意调查:如果你没有进行 Solo 质押,是什么阻止了你进行 Solo 质押?
我可以在这个会场重复这个问题,谁在进行 Solo 质押?如果没有进行 Solo 质押,你们谁觉得 32 个 ETH 的门槛是最大的障碍,谁觉得运行一个节点太难是最大的障碍,谁觉得最大的障碍是不能同时将你的 ETH 投入 DeFi 协议中?谁觉得最大的障碍是担心必须将私钥放在运行中的节点上更容易被盗? 可以看到,一致认同的前两大障碍是:32 个 ETH 的最低要求和节点操作的难度。认识到这一点总是很重要的。 很多时候我们在开始深入探讨如何最大限度地让人们可以在 DeFi 协议中双重使用他们的抵押品的时候,会发现有大量的人甚至根本不使用 DeFi 协议。所以让我们聚焦于主要问题,我们可以做些什么来尝试解决这些问题。 从运行一个验证节点,或者说,从 32 个 ETH 的门槛开始。实际上,这两个问题是相关的,因为它们都是以太坊权益证明(Proof of Stake)中验证者数量的函数。 今天我们有大约 100 万个验证者实体,每个实体都有 32 个 ETH 的存款,所以如果最低要求改为 4 个 ETH,那么我们会有 800 万个或者可能超过 800 万个,可能是 900 万或 1000 万个验证者。如果我们想要减少到 10 万个验证者,那么最低要求可能要上升到 300 个 ETH 左右。 所以,这是一个权衡。以太坊历史上试图处于权衡的中间位置。但是,如果我们能找到任何改进的方法,那么我们就会有额外的统计点,可以选择用于减少最低要求,或者用于使运行节点更容易。 实际上,现在我认为,聚合签名甚至不是运行节点的主要难度。在开始时,我们可能会更多地关注减少最低要求,但最终两者都会涉及。 所以,有两种技术可以改善这两个方面。 一种技术上是在不需要每个验证者都签名的情况下允许质押或者允许最终确定性。基本上,你需要某种随机抽样,随机抽样足够的节点,以达到显著的经济安全性。 现在,我认为我们有远远足够的经济安全性。进行一次 51% 攻击的成本,以 slash 的 ETH 数量计算,是 3200 万个 ETH 的三分之一,大约是 1100 万个 ETH。谁会花 1100 万个 ETH 破坏以太坊区块链。即使是美国政府,没有人愿意。 这些抽样技术类似于,如果你有一栋房子,如果前门有四层钢板防护,但窗户只是一个劣质玻璃,别人可以用棒球棒轻松打破。我认为以太坊在某种程度上就是这样的,如果你想进行 51% 攻击,你必须损失 1100 万个 ETH。但实际上,还有很多其他攻击协议的方法,我们真的应该更多地加强这些防护。所以相反,如果你有一个子集的验证者进行最终确定性,那么协议仍然足够安全,并且你可以真正提高去中心化的水平。 第二种技术是更好的签名聚合。你可以做一些高级的东西比如 Starks,而不是每个插槽支持 3 万个签名,最终我们可能能够支持更多的签名。这是第一部分。 第二部分是使运行节点更容易。 第一步是历史过期,实际上 EIP-4444,这方面已经有很多进展。 第二步是无状态客户端。Verkle 已经存在很长时间了,另一种可能的选择是做一个类似 Poseidon 的二进制哈希树,Stark 友好的哈希函数。一旦你有了这个,为了验证以太坊区块,你不再需要硬盘。之后还可以添加一种 Type 1 ZKVM,可以 Stark 验证整个以太坊区块,这样你可以通过下载数据,甚至数据可用性抽样数据来验证任意大的以太坊区块,然后你只需要验证一个证明。 如果这样做,运行节点会变得更加容易。如果有无状态客户端,目前的一个非常烦人的事情是,如果你想更换硬件或软件设置,通常你要么需要从头开始并损失一天,要么需要做一些非常危险的事情,把密钥放在两个地方,这样会被 Slash,如果我们有无状态客户端,你不再需要这样做。 你可以简单地启动一个新的独立的客户端,关闭旧的,把密钥移过来,启动新的。你只会损失一个 epoch。 一旦有了 ZKVM,硬件需求基本上降到几乎为零。 所以,32 个 ETH 的门槛和节点运行的难度,这两个问题在技术上都可以解决。我认为这样做有很多其他好处,这将真正改善我们提高人们单独质押的能力,会给我们一个更好的单独质押生态系统,规避质押中心化风险。 权益证明还有其他挑战,比如流动质押相关的风险,MEV 相关的风险。这些也是需要继续考虑的重要问题。我们的研究人员在考虑这些。 从 51% 攻击中恢复
我真的开始认真严谨地思考。令人惊讶的是,许多人根本不去思考这个话题,只是把它当作一个黑匣子。 如果真的遭遇了 51% 的攻击会发生什么呢? 以太坊可能遭遇 51% 攻击,比特币可能遭遇 51% 攻击,一个政府也可能遭遇 51% 攻击,比如收买 51% 的政客。 一个问题是,你不想仅仅依赖预防,你也希望有一个恢复方案。 一个常见的误解是,人们认为 51% 攻击是关于逆转最终确定性。人们关注这个是因为,这是中本聪在白皮书中强调的东西。你可以进行双重花费,在我买了私人飞机之后,我进行了 51% 攻击,拿回我的比特币,还可以保留我的私人飞机,并到处飞行。 实际上更现实的攻击可能涉及在交易所上存款和像破坏 DeFi 协议之类的事情。 但是,逆转实际上不是最糟糕的事情。我们应该担心的最大风险实际上是审查。51% 的节点停止接受来自其他 49% 节点的区块或者任何尝试包含某种类型交易的节点。 为什么这是最大的风险?因为最终确定性逆转有 Slash,有立即链上可验证的证据,至少有三分之一的节点做了一些非常非常错误的事情,它们被惩罚。 而在审查攻击中,这不是程序上可归因的,没有立即的程序性证据可以说哪些人做了坏事。现在,如果你是一个在线节点,如果你想看到某个交易在 100 个区块内没有被包含,但是,我们甚至没有编写软件来进行这种检查, 审查的另一个挑战是,如果有人想攻击,他们可以这样做,他们从延迟不喜欢的交易和区块 30 秒开始,然后延迟一分钟,然后延迟两分钟,你甚至没有共识何时响应。 所以,我说,实际上审查是更大的风险。 区块链文化中有一个论点是,如果发生攻击,社区会团结起来,他们显然会进行少数软分叉,并削减攻击者。 这可能在今天是真的,但是这依赖于很多关于协调、意识形态、各种其他事情的假设,并且不清楚在 10 年后这样的事情会有多真实。所以很多其他区块链社区开始做的事情是,他们说,我们有像审查这样的事情,有这些本质上更不可归因的错误。因此,我们必须依赖社会共识。因此,让我们只依靠社会共识,并且自豪地承认我们将使用它来解决我们的问题。 实际上,我主张朝相反的方向前进。我们知道,完全协调自动响应和自动分叉一个正在进行审查的大多数攻击者在数学上是不可能的。但我们可以尽量接近这一点。 你可以创建一个分叉,基于一些关于网络条件的假设,实际上带来了至少大多数在线节点。我在这里想要传达的论点是,我们实际上想要的是,尽量使对 51% 攻击的响应变得尽可能自动化。 如果你是一个验证者,那么你的节点应该运行软件,如果它检测到交易被审查或者某些验证者被审查,它会自动地对大多数链进行反审查,所有诚实的节点将自动由于他们运行的代码而在同一个少数软分叉上协调。 当然,再次存在数学上的不可能性结果,至少任何在当时离线的人将无法分辨谁是对的,谁是错的。 存在很多限制,但越接近这个目标,社会共识需要做的工作量就越少。 如果你想象一下 51% 攻击实际发生的情况。它不会像下面一样,突然间在某个时间点,Lido、Coinbase 和 Kraken 会在 5:46 发布博客文章,基本上说,嘿伙计们,我们现在在进行审查。 会发生的实际情况可能是,你会同时看到一个社交媒体战争,你会同时看到各种其他攻击。如果实际上 51% 攻击确实发生了,顺便说一句,我的意思是,我们不应该假设 Lido、Coinbase 和 Kraken 将在 10 年内掌权。以太坊生态系统将变得越来越主流,它需要对这一点有很强的适应能力。我们希望社会层的负担尽可能轻,这意味着我们需要技术层,至少提出一个明显的获胜候选人,如果他们想从一个正在进行审查的链上分叉出来,他们应该集结在少数软分叉上。 我倡导我们进行更多研究并提出一个非常具体的建议。 提议:将 Quorum 门槛提高到 75%或 80%
我认为,可以将 Quorum(注:Quorum 机制是一种分布式系统中常用的用来保证数据冗余和最终一致性的投票算法)的门槛从今天的三分之二提高到 75%或 80%左右。 基本论点是,如果恶意链比如审查链进行攻击,恢复会变得非常非常困难。然而,另一方面,如果你增加 Quorum 的比例,风险是什么呢?如果 Quorum 是 80%,那么不是 34%的节点离线就可以停止最终确定性,而是 21%的节点离线就可以停止最终确定性。 这有风险。让我们看看实践中会怎样?从我所了解的情况来看,我认为我们只有一次由于超过三分之一的节点离线导致最终确定性停止了大约一个小时。然后,有没有任何事件涉及 20%到 33%的节点离线?我认为最多一次,最少零次。因为在实践中,很少有验证者离线,我实际上认为,做这件事的风险相当低。收益基本上是,攻击者需要达到的门槛大大提高,并且在客户端出现漏洞的情况下,链进入安全模式的场景范围大大增加,因此人们可以真正合作找出问题所在。 如果 Quorum 的门槛从 67%提高到 80%,那么,假设一个客户端需要达到的比例从 67%提高到 80%,那么少数客户端的价值或者少数客户端可以提供的价值,真正开始增加了。 其他的审查担忧
其他的审查担忧,要么是包含列表,要么是包含列表的某种替代方案。所以,整个多平行提议者的东西,如果有效,可能甚至会成为包含列表的替代品。你需要,要么账户抽象,你需要某种协议内的账户抽象。 你需要它的原因是,因为现在,智能合约钱包没有真正从包含列表中受益。任何一种协议层的审查抵抗保证,智能合约钱包都没有真正受益。 如果有协议内的账户抽象,那么它们就会受益。所以,有很多事情,实际上很多这些东西在 L2 中心的愿景和 L1 中心的愿景中都是有价值的。 在我讨论的各种想法中,大约一半可能专门针对以太坊的 L2 解决方案,但另一半基本上适用于以 L2 作为基础层的以太坊用户和 L1,或者直接面向用户的应用程序。 随处使用轻客户端
在很多方面,我们与行业互动的方式有点令人难过,我们是去中心化的,我们是无需信任的,这个房间里有谁在他的电脑上运行一个验证共识的轻客户端?很少。谁通过信任 Infura 的浏览器钱包来使用以太坊?五年内,我希望看到举手的数量反过来。我希望看到不信任 Infura 的任何事物的钱包。我们需要集成轻客户端。 Infura 可以继续提供数据。我的意思是,如果你不需要信任 Infura,那实际上对 Infura 是有好处的,因为这使他们更容易构建和部署基础设施,但是我们有工具可以去除信任要求。 我们可以做的是,我们可以有一个系统,最终用户运行像 Helios 轻客户端的东西。它实际上应该直接在浏览器中运行,直接验证以太坊共识。如果他想验证链上的东西,像与链交互,那么你只需直接验证默克尔证明。 如果这样做,你实际上在与以太坊的交互中获得了一定程度的无需信任性。这是对于 L1 的。此外,我们还需要 L2 的等效方案。 在 L1 链上,有区块头、有状态、有同步委员会、有共识。如果你验证了共识,如果你知道区块头是什么,你可以走过默克尔分支,看看状态是什么。那么我们如何为 L2s 提供轻客户端安全保证。L2 的状态根在那里,如果是based Rollup,就有一个智能合约,那个智能合约存储 L2 的区块头。或者,如果你有预确认,那么你有一个智能合约存储预确认者是谁,所以你确定预确认者是谁,然后监听他们签名的三分之二子集。 所以,一旦你有了以太坊区块头,就有一条相当简单的信任链,哈希、默克尔分支和签名,你可以验证,并且你可以获得轻客户端验证。任何 L2 也是如此。 我过去向人们提起过这个问题,很多时候人们的反应是,天啊,这很有趣,但是意义何在?很多 L2 都是多重签名。为什么我们不信任多重签名来验证多重签名呢? 幸运的是,截至去年,这实际上已经不再是事实了。Optimism 和 Arbitrum 处于 Rollup 第一阶段了,这意味着它们实际上有在链上运行的证明系统,有一个安全委员会可以在出现漏洞的情况下覆盖它们,但安全委员会需要通过一个非常高的投票阈值,比如 8 人的 75%,Arbitrum 的规模会增加到 15 人。所以,在 Optimism 和 Arbitrum 的情况下,它们不仅仅是多重签名,它们有实际的证明系统,并且这些证明系统实际上有作用,至少在决定哪个链是正确或错误的方面具有大多数权力。 EVM 甚至更进一步,我相信它甚至没有安全委员会,所以它完全是无需信任的。我们真的开始在这方面前进,我知道很多其他的 L2 也在推进。所以 L2 不仅仅是多重签名,所以对 L2 的轻客户端概念实际上开始有意义。 今天我们已经可以验证默克尔分支,只需要编写代码。明天,我们还可以验证 ZKVM,所以你可以在浏览器钱包中完全验证以太坊和 L2。 谁想在浏览器钱包中成为无需信任的以太坊用户?太棒了。谁更愿意在手机上成为无需信任的以太坊用户?从树莓派上呢?从智能手表上呢?从太空站上呢?我们也会解决这个问题。所以,我们需要的是一个 RPC 配置的等价物,不仅包含你在与哪些服务器交谈,还包含实际的轻客户端验证指令。这是我们可以努力实现的目标。 抗量子策略
量子计算到来的时间在缩短。Metaculous 认为量子计算机将在 2030 年代初期到来,还有一些人认为时间更早。 所以我们需要一个抗量子策略。我们确实有一个抗量子策略。以太坊中有四个对量子计算脆弱的部分,每个部分都有自然的替代品。 Verkle Tree 的量子抗性替代是 Starked Poseidon Hash,或者如果我们想更保守,可以使用 Blake 共识签名,我们目前使用 BLS 聚合签名,可以替换为 Stark 聚合签名。Blob 使用 KZG,可以使用分离编码默克尔树 Stark 证明。用户账户目前使用 ECDSA SECP256K1,可以替换为基于哈希的签名和账户抽象及聚合,智能合约钱包 ERC 4337 等。 一旦有了这些,用户可以设置自己的签名算法,基本上可以使用基于哈希的签名。我认为我们确实需要开始考虑实际构建基于哈希的签名,使得用户钱包可以很容易地升级为基于哈希签名。 协议简化
如果你想要一个强健的基础层,协议需要简单。它不应该有 73 个随机的钩子和一些因为某个叫 Vitalik 的随机人在 2014 年提出的随机愚蠢想法而存在的向后兼容性。 所以有价值的是尝试真正简化,开始真正消除技术债务。日志目前基于布隆过滤器,它们不太工作,也不够快,所以需要进行 Log 改进,增加更强的不可篡改性,我们已经在无状态方面这样做了,基本上限制每个区块的状态访问量。 以太坊目前是一种不可思议的集合,有 RLP,有 SSZ,有 API,理想情况下我们应该只使用 SSZ,但至少要去掉 RLP,状态和二进制默克尔树,一旦有了二进制默克尔树,那么所有以太坊都在二进制默克尔树上。 快速最终确定性,Single Slot Finality(SSF),清理未使用的预编译器,比如 ModX 预编译器,经常导致共识错误,如果我们可以删除它并用高性能的 solidity 代码替换,那就很好。 总结
以太坊作为一个强健的基础层,有非常独特的优势,包括一些比特币没有的优势,比如共识去中心化,比如对 51% 攻击恢复的显著研究等。 我认为有必要真正加强这些优势。同时认识和修正我们的不足,确保我们达到非常高的标准。这些想法与积极的 L1 路线图完全兼容。 我对以太坊特别是核心开发过程感到最满意的事情之一是我们的并行工作能力大大提高了。这是一个强项,我们实际上可以并行工作很多东西。所以关心这些话题实际上并不影响改善 L1 和 L2 生态系统的能力。例如,改进 L1 EVM,使其更容易进行密码学。目前在 EVM 中验证 Poseidon 哈希太贵了。384 位密码学也太贵了。 所以在 EOF 之上有一些想法,比如 SIMD 操作码,EVM max 等。有机会将这种高性能协处理器附加到 EVM。这对 Layer 2 更好,因为它们可以更便宜地验证证明,对 Layer 1 应用也更好,因为 zk SNARKs 等隐私协议更便宜。 谁使用过隐私协议?谁希望支付 40 美元的费用而不是 80 美元?更多的人会选择前者。第二组用户可以在 Layer 2 上进行交易,而 Layer 1 可以显著降低成本。