EthCC7近日在布鲁塞尔举行, Vitalik进行了主题演讲:未来应该如何优化以太坊
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秒。这样做的目的实际上使基础rollups作为L2运作的主要方式变得可行。所以现在,如果你想要L2有顶级的用户体验,你需要有自己的预确认,这意味着要么是一个中心化的排序器,要么是自己的去中心化排序器。如果它们的共识速度加快了,那么L2将不再需要这样做。如果你真的想要增强L1的可扩展性,那么对L2的需求也会减少。
所以,这是一种光谱。目前我主要关注左二的版本,但我在这里建议的事情也适用于其他愿景,并且这里的建议实际上并不会阻碍其他愿景。这是我认为很重要的一点。
以太坊一个大的优势是,有一个庞大且相对去中心化的质押生态系统。
上图左边是所有比特币矿池算力图表,右边是以太坊质押者图表。
比特币算力分布目前不是很好,两个矿池加起来超过50%算力,四个矿池加起来超过75%。
而以太坊的情况实际上比图表显示的更好,因为第二大部分灰色部分实际上是未识别的,这意味着它可能是很多人的组合,甚至可能有很多独立质押者在里面。而蓝色部分Lido实际上是一个奇怪的、松散协调的结构,由37个不同的验证者组成。所以,以太坊实际上有一个相对去中心化的质押生态系统,表现相当好。
我们可以在这方面做很多改进,但我认为认识到这一点仍然有价值。这是我们真正可以在其基础上构建的独特优势之一。
以太坊的鲁棒性优势还包括:
拥有一个多客户端的生态系统: 有Geth执行客户端,也有非Geth执行客户端,非Geth执行客户端占比甚至超过Geth执行客户端。类似的情况也发生在共识客户端系统中;
国际化社区: 人们在很多不同的国家,包括项目、L2、团队等;
多中心的知识生态系统: 有以太坊基金会,有客户端团队,甚至像Paradigm的Reth团队近期在开源方面也在不断增加领导力;
重视这些属性的文化
所以,以太坊生态系统作为基础层已经拥有这些非常强大的优势。我认为这是非常有价值的事情,不应轻易放弃。我甚至可以说,有明确的步骤可以采取来进一步推进这些优势,甚至可以弥补我们的弱点。
这是我在大约半年前在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验证整个以太坊区块,这样你可以通过下载数据,甚至数据可用性抽样数据来验证任意大的以太坊区块,然后你只需要验证一个证明。
如果这样做,运行节点会变得更加容易。如果有无状态客户端,目前的一个非常烦人的事情是,如果你想更换硬件或软件设置,通常你要么需要从头开始并损失一天,要么需要做一些非常危险的事情,把密钥放在两个地方,这样会被Slah,如果我们有无状态客户端,你不再需要这样做。
你可以简单地启动一个新的独立的客户端,关闭旧的,把密钥移过来,启动新的。你只会损失一个epoch。
一旦有了ZKVM,硬件需求基本上降到几乎为零。
所以,32个ETH的门槛和节点运行的难度,这两个问题在技术上都可以解决。我认为这样做有很多其他好处,这将真正改善我们提高人们单独质押的能力,会给我们一个更好的单独质押生态系统,规避质押中心化风险。
权益证明还有其他挑战,比如流动质押相关的风险,MEV相关的风险。这些也是需要继续考虑的重要问题。我们的研究人员在考虑这些。
我真的开始认真严谨地思考。令人惊讶的是,许多人根本不去思考这个话题,只是把它当作一个黑匣子。
如果真的遭遇了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(注: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的状态根在那里,如果是基础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可以获得显著的成本节省。
2024年是以太坊IC0 10周年,2024年的EthCC邀请到了曾经的以太坊三位核心创始人Vitalik Buterin、Joseph Lubin和Gavin Wood全部到会。
在Vitalik演讲结束后,他们被邀请同框合影:
三巨头再握手
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!