不要过度消耗以太坊的共识机制

文章讨论了不要过度扩展以太坊共识机制的观点,详细分析了重新使用验证者和过度扩展社会共识的风险,并建议保持区块链的极简主义,避免将区块链共识机制扩展到核心协议规则之外。

不要过载以太坊的共识

不要过载以太坊的共识

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

以太坊网络的共识是当今最安全的加密经济系统之一。1800 万 ETH(约 340 亿美元)的验证者每 6.4 分钟最终确定一个区块,运行多种不同的协议实现以实现冗余。如果加密经济共识失败,无论是由于漏洞还是故意的 51% 攻击,成千上万的开发者和更多用户的庞大社区都会密切关注,以确保链正确恢复。一旦链恢复,协议规则将确保攻击者可能会受到严厉的惩罚。

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

  • 终极预言机一个提案,用户可以通过发送 ETH 投票决定哪些事实是真实的,使用 SchellingCoin 机制:每个为多数答案投票发送 ETH 的人将按比例获得为少数答案投票发送的所有 ETH。描述继续:“原则上这是一个对称游戏。打破对称的是:a) 真相是自然的协调点,更重要的是 b) 为真相下注的人可以发出可信的威胁,如果他们输了,就分叉以太坊。”
  • 重新质押:由许多协议(包括 EigenLayer)使用的一组技术,以太坊质押者可以同时将他们的质押作为另一个协议的存款。在某些情况下,如果他们根据另一个协议的规则行为不当,他们的存款也会被削减。在其他情况下,没有协议内激励,质押仅用于投票。
  • L1 驱动的 L2 项目恢复:多次提出,如果 L2 出现漏洞,L1 可以分叉以恢复它。最近的一个例子是这个使用 L1 软分叉恢复 L2 失败的设计

本文的目的是详细解释为什么在我看来,这些技术中的某些子集会给生态系统带来高系统性风险,应该被抵制和反对。

这些提案通常是出于善意的,因此目标不是针对个人或项目;而是针对技术。本文将试图捍卫的一般经验法则如下:验证者质押的 ETH 的双重使用,虽然有一些风险,但基本上是没问题的,但试图“招募”以太坊社会共识为你自己的应用目的服务则不行。

重新使用验证者(低风险)与过载社会共识(高风险)的区别示例

  • Alice 创建了一个 web3 社交网络,如果你加密证明你控制了一个活跃的以太坊验证者的密钥,你将自动获得“已验证”状态。低风险
  • Bob 加密证明他控制了十个活跃的以太坊验证者的密钥,作为证明他拥有足够财富以满足某些法律要求的方式。低风险
  • Charlie 声称他推翻了孪生素数猜想,并声称知道最大的 p,使得 pp+2 都是素数。他将他的质押提款地址更改为一个智能合约,任何人都可以提交一个声称的反例 q > p,以及一个证明 qq+2 都是素数的 SNARK。如果有人提出有效的声明,那么 Charlie 的验证者将被强制退出,提交者将获得 Charlie 剩下的任何 ETH。低风险
  • Dogecoin 决定转向权益证明,并为了增加其安全池的规模,它允许以太坊质押者“双重质押”并同时加入其验证者集。为此,以太坊质押者必须将其质押提款地址更改为一个智能合约,任何人都可以提交他们违反了Dogecoin 质押规则的证明。如果有人提交了这样的证明,那么质押者的验证者将被强制退出,他们剩下的任何 ETH 将用于购买并销毁 DOGE。低风险
  • eCash 做了与 Dogecoin 相同的事情,但项目领导者进一步宣布:如果大多数参与的 ETH 验证者合谋审查eCash 交易,他们预计以太坊社区将硬分叉以删除这些验证者。他们认为,这样做符合以太坊的利益,因为这些验证者已被证明是恶意且不可靠的。高风险
  • Fred 创建了一个 ETH/USD 价格预言机,其功能是允许以太坊验证者参与和投票。没有激励机制。低风险
  • George 创建了一个 ETH/USD 价格预言机,其功能是允许 ETH 持有者参与和投票。为了防止懒惰和逐渐的贿赂,他们增加了一个激励机制,即给出与中位数答案相差 1% 以内的答案的参与者将获得与中位数答案相差超过 1% 的任何参与者的 1% 的 ETH。当被问到“如果有人可信地贿赂所有参与者,每个人都开始提交错误的答案,那么诚实的人将失去 1000 万 ETH,会发生什么?”时,George 回答:那么以太坊将不得不分叉以剔除不良参与者。高风险
    • George 明显避免做出回应。中高风险(因为项目可能会创造尝试这种分叉的激励,因此即使没有正式鼓励,也会预期会尝试)
    • George 回答:“那么攻击者将获胜,我们将放弃使用这个预言机。”中低风险(不完全“低”只是因为该机制确实创造了一大群在 51% 攻击中可能会独立倡导分叉以保护其存款的参与者)
  • Hermione 创建了一个成功的第二层,并认为因为她的第二层是最大的,它本质上是最安全的,因为如果有一个漏洞导致资金被盗,损失将如此之大,以至于社区别无选择,只能分叉以恢复用户的资金。高风险

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

中间情况是那些开始时属于低风险类别,但给参与者激励使其滑入更高风险类别的情况;SchellingCoin 风格的技术,尤其是对偏离多数答案的严厉惩罚机制,是一个主要例子。

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

现在是 2025 年。对现有选项感到沮丧的一群人决定创建一个新的 ETH/USD 价格预言机,其功能是允许验证者每小时投票一次价格。如果验证者投票,他们将无条件获得系统的一部分费用奖励。但很快参与者变得懒惰:他们连接到中心化的 API,当这些 API 受到网络攻击时,他们要么退出,要么开始报告错误的值。为了解决这个问题,引入了激励机制:预言机还追溯性地投票一周前的价格,如果你的(实时追溯性)投票与中位数追溯性投票相差超过 1%,你将受到严厉惩罚,惩罚将给予那些“正确”投票的人。

一年内,超过 90% 的验证者参与其中。有人问:如果 Lido 与其他几个大质押者联合起来 51% 攻击投票,强行通过一个虚假的 ETH/USD 价格值,从所有不参与攻击的人那里提取严厉的惩罚,会发生什么?预言机的支持者,此时已经在这个计划中投入了大量资金,回答:那么如果发生这种情况,以太坊肯定会分叉以剔除坏人。

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

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

到这个时候,巴西有了一个 CBDC,它分裂成两个分叉:(北部)BRL-N 和(南部)BRL-S。在预言机投票时,60% 的以太坊质押者提供了 ETH/BRL-S 汇率。主要社区领袖和企业谴责质押者向法西斯主义的怯懦投降,并提议分叉链,只包括提供 ETH/BRL-N 汇率的“好质押者”,并将其他质押者的余额减少到接近零。在他们的社交媒体泡沫中,他们认为自己显然会赢。然而,一旦分叉发生,BRL-S 方出乎意料地强大。他们预期的压倒性胜利反而变成了几乎 50-50 的社区分裂。

此时,双方处于各自独立的宇宙中,拥有各自的链,没有实际的方法重新团结起来。以太坊,一个全球无许可的平台,部分是为了成为国家和地缘政治的避难所,最终却因为任何一个 G20 成员国意外严重的内部问题而被一分为二。

这是一个不错的科幻故事。甚至可以拍成一部好电影。但我们能从中实际学到什么?

区块链的“纯洁性”,即它是一个纯粹数学构造,试图仅就纯粹数学事物达成共识,是一个巨大的优势。一旦区块链试图“挂钩”外部世界,外部世界的冲突也开始影响区块链。给定一个足够极端的政治事件——实际上,并不是那么极端的政治事件,因为上述故事基本上是过去十年内在各种主要(人口 > 2500 万)国家实际发生事件的拼贴——即使是像货币预言机这样无害的东西也可能撕裂社区。

以下是一些可能的场景:

  • 预言机跟踪的其中一种货币(甚至可能是美元)简单地恶性通货膨胀,市场崩溃到某个时间点没有明确的具体市场价格。
  • 如果以太坊为另一种加密货币添加价格预言机,那么像上面故事中的争议性分裂并不是假设:它已经在 BitcoinEthereum 本身的历史中发生过。
  • 如果严格的资本管制生效,那么报告两种货币之间的合法市场价格成为一个政治问题。

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

那么价格指数以外的风险呢?

任何扩展以太坊共识“职责”的行为都会增加运行验证者的成本、复杂性和风险。验证者需要付出人类努力,关注、运行和更新额外的软件,以确保他们根据引入的任何其他协议正确行事。其他社区能够将其争议解决需求外部化到以太坊社区。验证者和整个以太坊社区被迫做出更多的决定,每个决定都有可能导致社区分裂。即使没有分裂,避免这种压力的愿望也会创造额外的激励,通过质押池将决策外部化到中心化实体。

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

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

在我看来,这些问题的最佳解决方案是具体情况具体分析,因为各种问题本质上彼此不同。一些解决方案包括:

  • 价格预言机:要么是不完全加密经济的去中心化预言机,要么是基于验证者投票的预言机,明确承诺其紧急恢复策略不是诉诸 L1 共识来恢复(或两者的某种组合)。例如,一个价格预言机可以依靠信任假设,即投票参与者被腐蚀的速度很慢,因此用户可以提前收到攻击的警告,并可以退出任何依赖该预言机的系统。这样的预言机可以有意延迟给予奖励,因此如果该协议实例被弃用(例如,因为预言机失败,社区分叉到另一个版本),参与者不会获得奖励。
  • 更复杂的真相预言机,报告比价格更主观的事实:某种基于不完全加密经济的 DAO 的去中心化法院系统。
  • Layer2协议
    • 短期内,依靠部分训练轮(本文称之为第 1 阶段
    • 中期内,依靠多种证明系统。可信硬件(例如 SGX)可以包括在内;我强烈反对将类似 SGX 的系统作为唯一的安全保证,但作为 2-of-3 系统的一部分,它们可能是有价值的。
    • 长期来看,希望复杂的功能如“EVM 验证”最终会被纳入协议中
  • 跨链桥:与预言机类似的逻辑,但也尽量减少对桥的依赖:将资产保留在其起源的链上,并使用原子交换协议在不同链之间转移价值。
  • 使用以太坊验证者集来保护其他链上面示例列表中(更安全的)Dogecoin 方法可能不足的一个原因是,虽然它确实保护了 51% 最终性逆转攻击,但它并不能保护 51% 审查攻击。然而,如果你已经依赖以太坊验证者,那么一个可能的方向是完全放弃管理一个独立的链,并成为validium,将证明锚定到以太坊中。如果一个链这样做,它对抗最终性逆转攻击的保护将变得与以太坊一样强,并且它可以在高达 99% 的攻击下安全对抗审查(而不是 49%)。

结论

区块链社区的社会共识是一个脆弱的东西。它是必要的——因为升级会发生,漏洞会发生,51% 攻击总是一个可能性——但由于它有如此高的风险导致链分裂,在成熟的社区中应该谨慎使用。有一个自然的冲动,试图用越来越多的功能扩展区块链的核心,因为区块链的核心拥有最大的经济权重和最大的社区关注它,但每一次这样的扩展都使核心本身更加脆弱。

我们应该警惕应用层项目采取行动,可能会增加区块链共识的“范围”到除了验证核心以太坊协议规则之外的任何事物。应用层项目尝试这样的策略是自然的,而且这些想法通常是在没有意识到风险的情况下构思的,但其结果很容易与整个社区的目标不一致。这样的过程没有限制原则,很容易导致区块链社区随着时间的推移拥有越来越多的“授权”,将其推入一个不舒适的选择,要么是每年高风险的链分裂,要么是某种事实上的正式官僚机构,最终控制链。

相反,我们应该保持链的极简主义,支持那些看起来不像扩展以太坊共识角色的重新质押用途,并帮助开发者找到实现其安全目标的替代策略。

  • 原文链接: vitalik.eth.limo/general...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Vitalik Buterin
Vitalik Buterin
https://vitalik.ca/