Vitalik新文:保持链上极简主义,不要让以太坊共识过载

Vitalik热度: 35597

详细解释为什么以太坊技术中的一部分会给生态系统带来高度的系统风险,应该被阻止和抵制。

原文标题:Don't overload Ethereum's consensus

原文作者:Vitalik Buterin

原文来源:vitalik.ca

编译:Kate,MarsBit

特别感谢Karl Floersch和Justin Drake的反馈和审查

以太坊网络的共识是目前安全性最高的加密经济系统之一。价值1800万ETH(约340亿美元)的验证者每6.4分钟敲定一个区块,运行许多不同的协议实施以获得冗余。而且,如果加密经济共识失败,无论是由于错误还是故意的51%的攻击,一个由成千上万的开发人员和更多的用户组成的庞大社区正在仔细观察,以确保链恢复正常。一旦链恢复,协议规则确保攻击者将可能受到严重的惩罚。

多年来,有许多想法,通常在思想实验阶段,也将以太坊验证器集,甚至以太坊社会共识用于其他目的:

终极预言机:一个提议,用户可以通过发送ETH来投票决定哪些事实是真实的,并采用SchellingCoin机制:每个发送ETH来投票给多数人答案的人都会按比例获得所有发送ETH来投票给少数人答案的份额。该描述继续说: "所以原则上这是一个对称的游戏。打破对称性的是:a)真相是自然的协调点,更重要的是b)押注于真相的人如果松动,可以做一个可信的分叉以太坊的线程。"

再抵押:一套技术,包括EigenLayer在内的许多协议都在使用,Ethereum质押者可以同时将他们的质押作为另一个协议的存款。在某些情况下,如果他们根据其他协议的规则行为不当,他们的存款也会被削减。在其他情况下,没有协议内的奖励,质押只是用来投票。

L1驱动的L2项目的恢复:人们在很多场合提出,如果L2有一个bug,L1可以分叉来恢复它。最近的一个例子是使用L1软分叉来恢复L2故障的设计

这篇文章的目的将是详细解释为什么在我看来,这些技术的某个子集会给生态系统带来很高的系统性风险,应该被阻止和抵制。

这些提案通常是以善意的方式提出的,因此,目标不是针对个人或项目,而是关注技术。这篇文章将试图捍卫的一般经验法则如下:双重使用验证者质押的 ETH,虽然有一些风险,但从根本上说是没有问题的,但试图 "招募 "以太坊社会共识以达到自己应用的目的是不可能的。

重复使用验证器(低风险)和超载社会共识(高风险)之间的区别实例

——爱丽丝创建了一个web3社交网络,如果你用密码学证明你控制了一个活跃的以太坊验证器的密钥,你就会自动获得 "已验证 "状态。低风险。

——鲍勃以加密方式证明他控制着十个活跃的以太坊验证者的密钥,以此证明他有足够的财富来满足某些法律要求。低风险。

——查理声称已经推翻了双素数猜想,并声称知道最大的p,使p和p+2都是素数。他把他的质押提款地址改为智能合约,任何人都可以提交声称的反例q>p,以及证明q和q+2都是素数的SNARK。如果有人提出有效声明,那么Bob的验证器就会被强制退出,提交者就会得到Bob剩下的ETH。低风险。

——Dogecoin决定转向权益证明POS,为了增加其安全池的规模,它允许以太坊质押者"双重质押 "并同时加入其验证器集。要做到这一点,以太坊质押者必须将他们的质押提款地址更改为智能合约,任何人都可以提交证明,证明他们违反了Dogecoin的质押规则。如果有人提交了这样的证明,那么该质押者的验证器就会被强退出,而他们剩下的ETH就会被用来购买和烧毁DOGE。低风险。

——eCash的做法与Dogecoin相同,但项目负责人进一步宣布:如果大多数参与ETH的验证者串通起来审查eCash交易,他们预计以太坊社区将通过硬分叉删除这些验证者。他们认为,这样做将符合以太坊的利益,因为这些验证者被证明是恶意的和不可靠的。高风险。

——弗雷德创建了一个ETH/USD价格预言机,其功能是允许以太坊验证者参与和投票。没有任何激励措施。低风险。

——乔治创建了一个ETH/USD价格预言机,其功能是允许ETH持有人参与和投票。为了防止懒惰和偷偷摸摸的贿赂,他们增加了一个激励机制,在该机制中,给出答案与中位数答案相差 1% 以内的参与者将获得任何给出答案超过中位数 1% 的参与者的 ETH 的 1%。当被问及 "如果有人可信地提出贿赂所有参与者,每个人都开始提交错误的答案,于是诚实的人被拿走了1000万的ETH怎么办?"时,乔治回答说:那么以太坊将不得不把坏的参与者的钱分掉。高风险。

  • 乔治明显不作答复。中高风险(因为该项目可能会产生尝试这种分叉的动机,因此即使没有正式的鼓励,也会期望它会被尝试)
  • 乔治回答道:“那么攻击者获胜,我们将放弃使用这个 oracle”。中低风险(不是很“低”,只是因为该机制确实创造了一大群参与者,他们在 51% 的攻击中可能会被激励独立倡导分叉以保护他们的存款)

——Hermione创建了一个成功的第2层,并认为由于她的第2层是最大的,所以它本质上是最安全的,因为如果出现bug导致资金被盗,损失将是如此之大,以至于社区将别无选择,只能分叉以恢复用户的资金。高风险

如果你正在设计一个协议,即使一切都完全崩溃,损失也被控制在验证者和选择参与和使用你的协议的用户身上,这就是低风险。另一方面,如果你打算拉拢更广泛的以太坊生态系统的社会共识,以分叉或重组来解决你的问题,这就是高风险,我认为我们应该强烈抵制所有创造这种期望的尝试。

一个中间地带是开始时属于低风险类别的情况,但给他们的参与者提供了滑向高风险类别的激励;SchellingCoin式的技术,特别是对偏离大多数人的重罚机制,就是一个主要的例子。

那么,扩展以太坊的共识到底有什么问题呢?

现在是2025年。由于对现有的选择感到沮丧,一个团体决定制作一个新的ETH/USD价格预言机,其工作方式是允许验证者每小时对价格进行投票。如果验证者投票,他们将无条件地从系统中获得部分费用的奖励。但很快参与者就变得懒惰了:他们连接到集中式的API,当这些API受到网络攻击时,他们要么退出,要么开始报告错误值。为了解决这个问题,引入了激励机制:预言机也对一周前的价格进行追溯投票,如果你的(实时或追溯)投票与追溯投票的中位数相差超过1%,你就会受到严厉的惩罚,而惩罚的对象是那些投票 "正确 "的人。

一年之内,90%以上的验证者都参与其中。有人问:如果Lido和其他几个大的质押者联合起来,对投票进行51%的攻击,强行通过一个虚假的ETH/USD价格值,对所有没有参与攻击的人进行重罚,会怎么样?预言机的支持者,在这一点上对该计划投入了大量资金,回答说:好吧,如果发生这种情况,以太坊肯定会分叉,把坏人踢出去。

起初,该计划仅限于ETH/USD,它看起来很有弹性和稳定性。但随着时间的推移,其他指数被添加进来:ETH/EUR,ETH/CNY,最后是G20中所有国家的汇率。

但在2034年,事情开始出错。巴西出现了意想不到的严重政治危机,导致了一场有争议的选举。一个政党最终控制了首都和全国75%的地区,但另一个政党最终控制了一些北部地区。西方主要媒体认为,北方政党显然是合法的赢家,因为它的行为是合法的,而南方政党的行为是非法的(顺便说一句,他们是法西斯)。印度和中国官方消息人士以及埃隆-马斯克认为,南方党实际控制了该国大部分地区,国际社会不应试图成为世界警察,而应接受这一结果。

到这时,巴西有一个CBDC,它分成两个分叉:(北部)BRL-N,和(南部)BRL-S。在预言机中投票时,60%的以太坊质押者提供了ETH/BRL-S的比率。主要的社区领袖和企业谴责质押者对法西斯主义的疯狂屈服,并提议分叉链,只包括提供ETH/BRL-N比率的 "好的质押者",并将其他质押者的余额耗尽至接近零。在他们的社交媒体泡沫中,他们认为自己显然会赢。然而,一旦分叉,BRL-S一方被证明是意外的强大。他们所期望的压倒性胜利反而被证明是社区的五五开。

在这一点上,双方都在自己的两个宇宙中,拥有自己的两条链,没有任何实际的方法可以回到一起。以太坊,这个全球无需许可平台,部分是为了躲避国家和地缘政治而创建的,而最终却被20个G20成员国中的任何一个出现意外的严重内部问题而分成了两半。

你的这个故事很不错。甚至可以拍成一部好电影。但是,我们能从其中真正学到什么呢?

区块链的“纯粹性”,即它是一个纯粹的数学结构,只试图就纯粹的数学事物达成共识,这是一个巨大的优势。一旦区块链试图与外部世界 "挂钩",外部世界的冲突也会开始影响到区块链。考虑到一个足够极端的政治事件--事实上,并不是那么极端的政治事件,考虑到上述故事基本上是过去十年中在各个主要(>2500万人口)国家实际发生的事件的拼贴--甚至像货币预言机这样的良性事件也会使社区撕裂。

下面是一些可能的情况:

——预言机所追踪的货币之一(甚至可能是美元)简单地过度膨胀,市场崩溃,以至于在某些时间点上没有明确的具体市场价格。

——如果以太坊为另一种加密货币增加了一个价格预言机,那么像上面的故事中那样有争议的分裂就不是假设了:这是已经发生的事情,包括在比特币和以太坊本身的历史上。

——如果严格的资本控制开始运作,那么在两种货币之间报告哪个价格是合法的市场价格就成为一个政治问题。

但更重要的是,我认为有一个Schelling fence在起作用:一旦区块链开始将现实世界的价格指数作为第一层协议的特征,它可能很容易屈服于解释越来越多的现实世界的信息。引入第一层价格指数也扩大了区块链的法律攻击面:它不再只是一个中立的技术平台,而是更明确地成为一个金融工具。

来自价格指数以外的例子的风险如何?

任何对以太坊共识的 "职责 "的扩展都会增加运行验证者的成本、复杂性和风险。验证者被要求承担关注、运行和更新额外软件的人工努力,以确保他们根据正在引入的任何其他协议正确行事。其他社区获得了将他们的争端解决需求外包给以太坊社区的能力。验证者和整个以太坊社区被迫做出更多的决定,其中每个决定都有一些导致社区分裂的风险。即使没有分裂,避免这种压力的愿望也会产生额外的动机,通过质押池将决策外部化给中心化的实体。

分裂的可能性也会大大加强反常的 "大而不能倒 "机制。以太坊上有很多第二层和应用层的项目,以太坊社会共识愿意分叉来解决他们所有的问题是不现实的。因此,大型项目将不可避免地比小型项目获得更大的救助机会。这将反过来导致大型项目获得护城河:你愿意把你的币放在Arbitrum或Optimism上,如果出了问题,Ethereum会分叉来拯救你,还是放在Taiko上,因为它比较小(而且非西方国家,因此与核心开发圈的社会联系较少),L1支持的救援可能性要小得多?

但BUG是一种风险,我们需要更好的预言机。那么我们应该怎么做呢?

在我看来,解决这些问题的最好办法是视具体情况而定,因为各种问题在本质上是如此不同。一些解决方案包括:

——价格预言机:要么是不完全加密的去中心化预言机,要么是明确承诺其紧急恢复策略不是诉诸L1共识来恢复的基于验证人投票的预言机(或者两者的某种组合)。例如,一个价格预言机可以依靠一个信任的假设,即投票参与者会慢慢地被破坏,因此用户会有一个攻击的早期预警,并可以退出任何依赖预言机的系统。这样的预言机可以故意在长时间的延迟后才给予奖励,这样如果协议的实例被废弃(例如,因为预言机失败,社区分叉到另一个版本),参与者就不会得到奖励。

——更加复杂的真相预言机,报告比价格更加主观的事实:某种建立在不完全是加密经济的DAO上的去中心化法庭系统。

——第二层协议:

  • 在短期内,依靠部分训练轮(本帖所说的阶段1)。
  • 在中期内,依靠多个证明系统。可信的硬件(如SGX)可以包括在这里;我强烈反对将类似SGX的系统作为安全的唯一保证,但作为2-3系统的成员,它们可能是有价值的。
  • 从长远来看,希望复杂的功能,如 "EVM验证",最终会被写入协议中。

——跨链桥:类似于预言机的逻辑,但是,也要尽量减少对桥接的依赖程度:在资产来源的链上持有资产,并使用原子交换协议在不同的链上移动价值。

——使用以太坊验证器集来确保其他链的安全:上面例子列表中的(更安全的)Dogecoin方法可能是不够的,原因之一是虽然它确实可以防止51%的最终反转攻击,但它不能防止51%的审查攻击。然而,如果你已经在依赖以太坊验证器,那么一个可能的方向是不再试图完全管理一个独立的链,而是成为一个验证器,将证明锚定在以太坊上。如果一个链这样做,它对最终反转攻击的保护就会变得和以太坊一样强大,而且它对审查的攻击率高达99%(而不是49%),变得安全。

结论

区块链社区的社会共识是一个脆弱的东西。它是必要的--因为升级会发生,bug会发生,51%的攻击总是有可能的,但因为它有很高的导致链分裂的风险,在成熟的社区,它应该被谨慎地使用。有一种自然的冲动,试图用越来越多的功能来扩展区块链的核心,因为区块链的核心有最大的经济重量和最大的社区在看着它,但每一个这样的扩展都使核心本身更加脆弱。

我们应该警惕应用层项目采取有可能将区块链共识的 "范围 "扩大到验证以太坊核心协议规则以外的行动。应用层项目尝试这样的策略是很自然的,事实上,这样的想法往往是在没有意识到风险的情况下简单构思的,但其结果很容易与整个社区的目标变得非常不一致。这样的过程没有限制性原则,很容易导致区块链社区随着时间的推移拥有越来越多的 "任务",把它推到一个令人不安的选择中,要么是每年分裂的高风险,要么是某种事实上的正式官僚机构链的最终控制。

相反,我们应该保留链上的极简主义,支持使用不像是扩展以太坊共识作用的滑坡的重定,并帮助开发者找到替代策略来实现其安全目标。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。