以太坊权益证明攻击与防御
窃贼和破坏者不断寻找机会来攻击以太坊客户端软件。 本页面概述了针对以太坊共识层的已知攻击途径以及如何防御这些攻击。 此页面上的信息改编自一个加长版本。
前提条件
需要具备一些权益证明的基础知识。 另外,如果对以太坊的激励层和分叉选择算法 LMD-GHOST 有基本的了解,也会有所帮助。
攻击者想要什么?
一个常见的误解是,在成功攻击后,攻击者可以生成新的以太币或者从任意帐户中提取以太币。 这两种情况都不可能发生,因为所有的交易都由网络上的所有执行客户端来执行。 这些操作必须满足有效性的基本条件(例如,交易由发送人的私钥签名,发送人有足够的余额,等等),否则只会被还原。 攻击者实际上可能会针对三类目的:重组、双重最终确定性或最终确定性延迟。
**“重组”**是对区块顺序的重新排列,也许还会在规范链中增加或减少一些区块。 恶意重组可能会确保包含或排除特定区块,从而允许通过抢先交易和尾随式交易(最大可提取价值 (MEV))进行双重支付或价值提取。 重组也能用来防止某些交易被纳入规范链 - 一种审查形式。 最极端的重组形式是“最终确定性逆转”,它会删除或替换之前已最终确定的区块。 只有总质押以太币中超过 ⅓ 被攻击者销毁时才可能发生此情况 - 这种保证被称为“经济最终确定性” - 稍后会详细介绍。
双重最终确定性是一种不太可能发生但是一旦发生会很严重的情况,发生时,两个分叉能够同时最终确定区块,从而造成永久性区块链分裂。 对于愿意承担总质押以太币的 34% 的损失风险的攻击者来说,这在理论上是可行的。 社区将被迫在链下进行协调,就应该遵循哪一条链达成共识,这需要社交层的参与。
最终确定性延迟攻击会阻止网络达到最终确定链的各个部分的必要条件。 如果没有最终确定性,那就很难信任在以太坊上建立的金融应用。 最终确定性延迟攻击的目的可能只是为了破坏以太坊而不是直接获利,除非攻击者布局了一些战略性空头头寸。
对社交层的攻击可能旨在破坏公众对以太坊的信任、让以太币贬值、减少使用或者削弱以太坊社区,以使带外协作更加困难。
在确定了攻击者为什么攻击以太坊后,接下来的部分将探讨他们_如何_进行攻击。
攻击方式
0 层攻击
首先,未积极参与以太坊(通过运行客户端软件)的个人可以针对社交层(0 层网络)进行攻击。 0 层网络是构建以太坊的基础,因此它代表了一个潜在的攻击面,其后果会波及堆栈的其余部分。 一些示例包括:
-
混淆视听的宣传活动会削弱社区对以太坊路线图、开发者团队、应用等的信任。 这继而会减少愿意参与保护网络安全的人数,降低去中心化和加密经济安全的程度。
-
针对开发者社区的攻击和/或恐吓。 这会导致开发者主动退出,并减缓以太坊的进展。
-
过度监管也被认为是一种针对 0 层网络的攻击,因为它能够快速抑制参与和使用。
-
知识丰富但怀有恶意的行为者渗透到开发者社区,其目的是通过避重就轻的讨论、延迟关键决策、制造垃圾邮件等来减缓进展。
-
贿赂以太坊生态系统的重要人物,以此来影响决策。
在很多情况下,攻击者只需要一点资金或者技术知识就能发起攻击,这使得这些攻击尤其危险。 0 层网络攻击可能会放大加密经济攻击的影响。 例如,如果审查或最终确定性逆转由恶意的多数质押者实现,那么破坏社交层可能会使带外协调社区响应变得更加困难。
对 0 层网络攻击的防御可能不是那么简单,但是可以确立一些基本原则。 其中一个是保持以太坊公共信息的整体高信噪比,由社区中的诚实成员通过博客、discord 服务器、注释规范、书籍、播客和 Youtube 创建和传播这些信息。 在 ethereum.org,我们竭力保持信息准确,并将其翻译成尽可能多的语言。 使用高质量信息和模因来填充空间是一种对误导信息的有效防御措施。
另一个抵御社交层攻击的重要防御措施是拥有明确的使命宣言和治理协议。 以太坊将自己定位为智能合约一层网络中的去中心化和安全冠军,同时也高度重视可扩展性和可持续性。 无论以太坊社区出现什么分歧,这些核心原则都只会受到最低限度的影响。 根据这些核心原则对叙述进行评估,以及在 EIP(以太坊改进提案)进展中通过连续多轮评审对其进行检查,有助于社区区分良好行为者与不良行为者,并且限制恶意行为者对以太坊未来方向的影响范围。
最后,以太坊社区保持开放并欢迎所有参与者至关重要。 有门槛和排外性的社区特别容易遭受社交层攻击,因为很容易形成“我们和他们”的叙述方式。 部落主义和有毒的至上主义会伤害社区和削弱 0 层网络安全性。 对网络安全有切身利益的以太坊社区成员,应将其在网上和现实世界中的行为视为对以太坊 0 层网络安全的直接贡献。
攻击协议
所有人都能运行以太坊客户端软件。 为了把验证者添加到客户端,用户需要在存款合约质押 32 个以太币。 验证者允许用户通过提议和证明新区块,活跃参与以太坊网络的安全建设。 验证者现在拥有了一种可以影响区块链未来内容的话语权 - 他们可以选择诚实行事,通过奖励增加他们的以太币储备;或者他们可以尝试操纵这一过程以谋取私利,但这会让他们抵押的资产面临风险。 一种发动攻击的方法是积累更大比例的总质押份额,然后利用其投票权胜过诚实的验证者。 攻击者控制的质押份额比例越大,投票权就越强,特别是在某些经济关键点上,我们稍后会探讨这一点。 然而,大部分攻击者并不能积累足够的以太币来发起这样的攻击,因此,他们必须使用一些微妙的手段操纵大部分诚实验证者以特定方式行事。
从根本上说,所有小份额质押攻击都是两种验证者不当行为的微妙变体:活跃不足(未能或未及时进行证明/提议)或活跃过度(在一个时隙内过多地进行提议/证明)。 在最基本的形式中,这些行为可以由分叉选择算法和激励层轻松处理,但攻击者可以利用一些巧妙的方法来操纵系统,使其对自己有利。
使用少量以太币进行攻击
重组
已有多篇论文阐述了针对以太坊的攻击,这些攻击仅需占总质押以太币的一小部分,即可实现重组或最终确定性延迟。 这些攻击通常依赖于攻击者向其他验证者隐瞒一些信息,然后以某种微妙的方式和/或在适当的时机释放这些信息。 这些攻击通常旨在将某些诚实的区块从规范链中移除。 Neuder et al 2020 展示了发动攻击的验证者如何为特定时隙 n+1
创建和证明区块 (B
),但避免将该区块传播到网络上的其他节点。 相反,它们会保留该已被证明的区块,直到下一个时隙 n+2
。 诚实的验证者为时隙 n+2
提议一个区块 (C
)。 几乎同时,攻击者释放它们所扣留的区块 (B
) 及其扣留认证,然后通过它们在时隙 n+2
的投票证明 B
是链的头部,有效否认诚实区块 C
的存在。 当诚实区块 D
被释放时,分叉选择算法看到构建在 B
之上的 D
重于构建在 C
上的 D
。 因此,攻击者可以使用单区块事前重组将时隙 n+2
中的诚实区块 C
从规范链移除诚实区块 C
。 拥有 34% 质押权益的攻击者很可能在此类攻击中成功,如这篇笔记所解释。 不过,从理论上讲,可以用更少的质押权益尝试进行这种攻击。 Neuder et al 2020 介绍了使用了 30% 份额的总质押以太币进行这种攻击,但后续证明使用 2% 份额的总质押以太币也可以发起这种攻击。我们将在下一部分研究使用平衡技术的单一验证者。
上面描述的单区块重组攻击的概念图(改编自 https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)
更加复杂的攻击可以将诚实验证者集拆分成离散的组,这些不同的组对于链头部有不同的看法。 这被称为平衡攻击。 攻击者等待提议区块的机会,当机会到来时他们会模棱两可,并提议两个区块。 他们会把这两个区块分别发送给各一半的诚实验证者。 分叉选择算法将会检测到模棱两可的情况,然后区块提议者会被罚没以及从网络移除,但是这两个区块仍然存在,并且各一半的验证者集会证明各自的分叉。 与此同时,剩余的恶意验证者会扣留它们的认证。 然后,在分叉选择算法执行时,有选择性地将利于一个或另一个分叉的认证释放给足够多的验证者,从而让累积的认证权重向一个或另一个分叉倾斜。 这可以无限期地持续下去,攻击验证者在两个分叉上保持了验证者的平均分配。 由于这两个分叉都不能吸引 2/3 的绝对多数,网络不会最终确定。
弹跳攻击与之类似。 投票同样被攻击验证者扣留。 但他们没有释放投票来保持两个分叉的平均分配,而是在适当的时候使用他们的投票来证明在分叉 A 和分叉 B 之间变换的检查点的合理性。两个分叉之间的合理性翻转阻止了有成对的合理来源和目标检查点在任一链的最终确定,从而让最终确定性进程停止。
弹跳攻击和平衡攻击都依赖于攻击者对网络的消息时机有良好的控制,而这不太可能。 尽管如此,在协议中加入了一些防御措施,即,相比于迟到的消息,快速收到的消息获得更多的权重。 这被称为提议者权重提升。 为了应对弹跳攻击,对分叉选择算法进行了更新,这样最新被证明的检查点只能在每个时段的前 1/3 时隙期间切换到另一条链。 这个条件可以阻止攻击者保存投票以便后续使用 - 分叉选择算法只忠于它在时段前 1/3 时间内选择的检查点,在这个时间内大部分诚实的验证者已经完成了投票。
这些措施结合在一起形成了这样一种场景:诚实的区块提议者在时隙开始时快速发送他们的区块,然后有一个约 1/3 时隙(4 秒)的时间段,在这个时间段内,新区块可能导致分叉选择算法切换到另一条链。 在同一截止时间后,与较早到达的认证相比,来自较慢验证者的认证会被降低权重。 这极大地有利于快速提议者和验证者决定链的头部,同时大大减少了平衡或弹跳攻击成功的可能性。
值得注意的是,被单独提升权重的提议者只能防御“廉价重组”攻击,即那些有少量质押权益的攻击者实施的攻击。 实际上,提议者权重提升本身可以被较大质押者所利用。 这篇帖子的作者描述了具有 7% 质押权益的攻击者如何策略性地部署他们的投票,欺骗诚实验证者在他们的分叉上进行构建,从而重组出一个诚实的区块。 这种攻击的设计要求非常理想的延迟条件,但这不太可能。 攻击者的胜算仍然很低,更多的质押权益意味着冒更多的资本风险和更强力的经济抑制因素。
还有人提出了一种专门针对最新消息驱动 (LMD) 规则的平衡攻击,尽管有了提议者权重提升,这种攻击仍被认为可行。 攻击者通过模棱两可地提出区块提议,并把每个区块传播到大约一半的网络,来建立两个相互竞争的链,从而在分叉之间建立近似的平衡。 然后串通验证者会模棱两可地投票并掌握好时机,让一半的网络先接收他们对分叉 A
的投票,而另一半的网络先接收他们对分叉 B
的投票。 由于最新消息驱动 (LMD) 规则会丢弃第二个认证,只为每个验证者保留第一个认证,一半的网络看到给 A
的投票,看不到给 B
的投票,另一半网络看到给 B
的投票,看不到给 A
的投票。 作者描述了最新消息驱动 (LMD) 规则赋予攻击者“非凡的力量”来发动平衡攻击。
通过更新分叉选择算法,最新消息驱动 (LMD) 攻击途径已变得不可行,因为更新后的分叉选择算法会完全丢弃模棱两可的验证者。 分叉选择算法也能削弱模棱两可验证者对于未来的影响。 这阻止了上述的平衡攻击,同时保持抵抗雪崩攻击的弹性。
另一类攻击,称为雪崩攻击,2022 年 3 月的一篇论文中描述了这种攻击。 为了发起雪崩攻击,攻击者需要控制多个连续的区块提议者。 在每个区块提议时隙中,攻击者会扣留其区块,并将区块收集起来,直到诚实链达到与扣留区块相等的子树权重。 然后,将释放扣留的区块,以实现最大程度的模棱两可效果。 作者认为,作为平衡攻击和弹跳攻击的主要防御方法,提议者权重提升并不能抵御某些雪崩攻击的变种。 然而,作者也只是针对以太坊分叉选择算法的高度理想版本演示了这种攻击(他们使用了没有最新消息驱动 (LMD) 的贪婪最重可观察子树 (GHOST))。
LMD-GHOST 分叉选择算法的最新消息驱动 (LMD) 部分减轻了雪崩攻击。 LMD 的意思是“latest-message-driven(最新消息驱动)”,它是指一个由每个验证者保存的表格,表格包含从其他验证者收到的最新消息。 仅当新消息来自比特定验证者的表格中已有消息更晚的时隙时,该字段才会更新。 实际上,这意味着在每个时隙中,第一条被接收到的消息会被接受,其余任何模棱两可的消息会被忽略。 换言之,共识客户端不对模棱两可的消息进行计数 - 它们使用来自每个验证者的第一个到达的消息,并丢弃模棱两可的消息,以防止雪崩攻击。
未来还有其他几种潜在的分叉选择规则升级,能够增加由提议者权重提升所提供的安全性。 其中一个是视图合并,在这个机制下,证明者在时隙开始前 n 秒冻结其对分叉选择的视图,然后提议者帮助将区块链视图同步到整个网络。 另一个潜在的升级是单时隙最终确定性,它通过在仅仅一个时隙后最终确定链,来抵御基于消息时机的攻击。
最终确定性延迟
在首次描述低成本单区块重组攻击的同一篇论文中,也描述了最终确定性延迟(又称为“活性失败”)攻击,这种攻击需要攻击者成为时段边界区块的提议者。 这非常重要,因为这些时段边界区块会成为检查点,以供 Casper 友好最终确定性工具 (FFG) 最终确定区块链的各个部分。 攻击者只需扣留它们的区块,直到足够多的诚实验证者使用它们的友好最终确定性工具 (FFG) 投票支持上一个时段边界区块作为当前最终确定的目标。 然后,攻击者释放扣留的区块。 攻击者证明它们扣留的区块,其余的诚实验证者也这样做,从而创建具有不同目标检查点的分叉。 如果攻击者准确把握时机,就能阻止最终确定性,因为任一分支都无法获得 2/3 绝对多数的证明。 质押越小,就越要精准地把握时机,因为攻击者直接控制的认证会更少,攻击者能够控制提议给定时段边界区块的验证者的几率就越低。
长程攻击
还有一种针对权益证明区块链的攻击。在这种攻击中,参与创世区块的验证者会维护一条与诚实链并行的独立分叉,并最终在很久之后的某个合适时机说服诚实的验证者切换到这条分叉链。 此类型的攻击在以太坊不可能发生,因为最终确定性工具保证所有的验证者定期(“检查点”)同意诚实链的状态。 这种简单机制可以抵御长程攻击者,因为以太坊客户端不会重组最终确定的区块。 加入网络的新节点会寻找一个可信的最近状态哈希 (一个“主观性弱的检查点”),并将其作为一个伪创世块,在此基础上构建区块。 这会为进入网络的新节点创建一个“信任网关”,然后节点才能开始为自身验证信息。
拒绝服务
以太坊权益证明机制在每个时隙从所有验证者中挑选出一个验证者成为区块提议者。 这可以通过一个公开的函数来计算,并且攻击者有可能在提议者提议区块前,稍微提前识别出下一个区块提议者。 然后,攻击者可以向区块提议者发送垃圾邮件,阻止提议者与其他节点交换信息。 对于网络上其余的部分来说,相当于区块提议者离线,并且时隙直接变空。 这可能是针对特定验证者的一种审查形式,阻止它们向区块链添加信息。 实施单一秘密领导者选举 (SSLE) 或者非单一秘密领导者选举能减少拒绝服务攻击的风险,因为只有区块提议者知道自己被选中,而选举结果是无法提前获知的。 虽然尚未实施,但这是一个活跃的研究和开发领域。
所有这些都表明,使用少量质押权益成功攻击以太坊非常困难。 本文描述的可行攻击需要理想化的分叉选择算法、不太可能实现的网络条件,或者攻击途径已经被客户端软件小补丁修复。 当然,这不排除存在零日攻击的可能性,不过这也证明了少量质押权益攻击者要有效实施攻击,需要有非常高的技术能力、共识层知识以及运气。 从攻击者的角度来看,它们最好的选择可能是尽可能多地积累以太币,然后利用更大比例的质押权益进行攻击。
攻击者使用的质押以太币占总质押以太币的比例 >= 33%
如果攻击者有更多质押以太币来投票,以及有更多验证者在每个时隙被选中提议区块,本文前面提到的所有攻击都更有可能成功。 因此,恶意验证者可能会试图控制尽可能多的质押以太币。
对于攻击者来说,33% 的质押以太币是一个基准,因为一旦超过这个数量,他们无需精确控制其他验证者行为就能阻止链达到最终确定性。 他们只需要一起消失即可。 如果 1/3 或更多的质押以太币恶意地进行证明或未能进行证明,那么就不存在 2/3 的绝对多数,导致区块链无法达成最终确定性。 对此的防御方法是怠惰惩罚机制。 怠惰惩罚机制识别那些未能证明或与大多数证明相反的验证者。 这些未证明验证者的质押以太币将逐渐流失,直到它们集体所代表的质押量少于总量的 1/3,这样链才能再次最终确定。
怠惰惩罚的目的是让链可以再次最终确定。 然而,攻击者也会失去一部分的质押以太币。 代表 33% 总质押以太币的验证者如果持续怠惰,即使未被罚没,也将付出昂贵的代价。
假设以太坊网络是异步的(即,在消息发送和接收之间存在延迟),控制总质押以太币中 34% 份额的攻击者就可以引起双重最终确定性。 因为当攻击者被选为区块提议者时,他们就可以模棱两可,然后联合他们所掌控的验证者进行双重投票。 这造成了存在区块链分叉的情况,每个分叉都有 34% 的质押以太币给它投票。 每个分叉只需要剩余验证者 50% 的投票就可以得到绝对多数支持,在这种情况下,两条链都能最终确定(因为 34% 攻击验证者 + 剩余的 66% 的一半 = 每个分叉 67%)。 每个互相竞争的区块必须由约 50% 的诚实验证者接收,因此攻击者需要在一定程度上控制消息在网络传播的时机,以便它们可以将一半的诚实验证者推到每条链上,这样,这种攻击才可行。 攻击者必须销毁其全部质押以太币(以目前验证者数量来说,是约 1000 万以太币的 34%)以便达到这种双重最终确定性,因为 34% 的验证者将同时进行双重投票,而这是有着最大的相关性惩罚的罚没罪行。 对这种攻击的防御方法是攻击者将承担销毁 34% 总质押以太币的巨大成本。 从这种攻击中恢复需要以太坊社区在“带外”进行协调,选择同意哪一个分叉,然后忽略其他分叉。
持有约 50% 总质押份额的攻击者{#attackers-with-50-stake}
拥有 50% 质押以太币的恶意验证者群组理论上可以将链分成两个相同大小的分叉,然后使用他们全部 50% 质押投出与诚实验证者群组相反的投票,以此来维持两个分叉以及阻止最终确定性。 对两个分叉的怠惰惩罚将导致两条链都会最终确定。 在这种情况下,唯一的方法就是使用社交层进行恢复。
考虑到诚实验证者数量、网络延迟等的变动程度,攻击验证者群组不太可能持续精确控制总质押以太币中的 50% 份额 - 对于理性攻击者来说,巨大的攻击成本以及低成功率是强力的抑制因素,尤其当只需要额外少量投资即可实现 超过 50% 份额,攻击者就可以解锁更强的控制力时。
如果攻击者拥有的质押以太币超过总质押的 50%,就可以支配分叉选择算法。 这时,攻击者可以使用大多数投票来证明,而且有足够的控制权进行短期重组,而无需欺骗诚实验证者。 诚实的验证者会效仿,因为它们的分叉选择算法也会把攻击者支持的链视为最重链,因此链可以最终确定。 这使得攻击者可以审查某些交易,以有利于攻击者的方式进行短程重组以及重新排序区块来提取最大可提取价值 (MEV)。 对此的防御手段是让攻击者付出大多数质押的巨大成本(目前略低于 190 亿美元),这会让攻击者面临风险,因为社交层可能会介入并采纳诚实的少数分支,让攻击者的质押大幅度贬值。
持有约 >=66% 总质押份额的攻击者
拥有的质押以太币等于或超过总质押以太币的 66% 的攻击者,可以在无需胁迫任何诚实验证者的情况下最终确定他们所支持的链。 攻击者只需要给他们所支持的分叉进行投票并最终确定它,因为他们有绝对多数的不诚实投票。 作为绝对多数的质押拥有者,攻击者始终可以控制最终确定的区块的内容,拥有着支出、回退和再次支出、审查某些交易以及随意重组链的能力。 通过购买额外的以太币来控制 66% 而非 51% 的质押以太币,攻击者实际上购买了事后重组和最终确定性逆转的能力(即改变过去并控制未来)。 唯一实际可操作的防御方法是攻击者需要付出 66% 总质押以太币的高昂成本,以及可以选择回退到社交层来协调采纳替代的分支。 我们将在下一部分详细探讨这一点。
社区:最后一道防线
如果不诚实的验证者设法最终确定他们所支持的链版本,以太坊社区将陷入困境。 规范链将在其历史记录中包含不诚实部分,同时诚实的验证者可能会因证明另一条(诚实)链而被惩罚。 注意,最终确定的但不正确的链也可能是大多数客户端的漏洞引起的。 最后,最终的回退需要依赖于社交层(0 层网络)来解决。
以太坊权益证明共识的其中一个优势是存在一系列的防御策略,而在面对攻击的时候社区可以实施这些策略。 最起码的响应是在不实施任何惩罚的情况下强行让攻击者的验证者退出网络。 为了重新进入网络,攻击者需要加入到一个激活队列,确保验证者集逐步增加。 例如,添加足够的验证者让质押的以太币翻倍需要约 200 天,在攻击者再一次尝试 51% 攻击之前,有效地为诚实验证者留了 200 天的应对时间。 然而,社区也可以决定更严厉地惩罚攻击者,方法是撤销以往的奖励或者销毁一定比例的(高达 100%)质押资本。
不管攻击者受到什么惩罚,社区都必须共同决定不诚实链(哪怕以太坊客户端中编码的分叉选择算法支持这条链)是否实际上无效,而社区应该在诚实的链上构建。 诚实的验证者可以集体同意在被社区认可的以太坊区块链分叉上进行构建,例如,该分叉可能在攻击开始之前就已经从规范链上分叉出来,或者攻击者的验证者被强行移除。 诚实的验证者受到激励来构建这条链,因为他们可以避免因未能证明(或无法正确地证明)攻击者的链而受到惩罚。 建立在以太坊上的交易所、入口和应用可能更愿意位于诚实链上,并且跟随诚实验证者进入诚实区块链。
但是,这是一个重大的治理挑战。 有些用户和验证者会在切换回诚实链时无可避免地产生损失,因为攻击后被验证的区块中的交易可能会回滚,从而扰乱应用层。这很容易破坏倾向于相信“代码就是法律”的用户的观念。 交易所和应用很可能已经把脱链行为和现在可能要回滚的链上交易关联起来,并开始一连串的撤回和修订,很难公平地进行取舍,特别是如果不义之财混杂在其中,存入了去中心化金融或其他衍生品,会对诚实用户产生二次影响。 毫无疑问,那些因为精明手段或机缘巧合已经从不诚实链获利的一些用户甚至机构,可能会反对分叉以此保护他们的利益。 目前已经有呼吁要求演练对超过 51% 攻击的社区响应,以便可以快速执行合理的协调缓解措施。 Vitalik 在 ethresear.ch 上(此处、此处)发起了一些有用的讨论,并在推特上(此处)也有所讨论。 协调的社交响应的目的应该是非常有针对性和具体地惩罚攻击者并尽量减少对其他用户的影响。
治理已经是一个复杂的话题。 对于以太坊社区来说,管理对不诚实的最终确定的链进行 0 层网络紧急响应无疑会是一个挑战,但这在以太坊历史上已经发生过 2 次。
尽管如此,在现实世界,最后回退还是相当令人满意的。 最终,即使我们有着如此惊人的技术堆栈,但如果最坏的情况发生了,现实中的人们也必将协调出一条出路。
总结
本页面探讨了攻击者试图利用以太坊权益证明共识协议的一些方式。 随着攻击者质押以太币占总质押以太币比例不断增加,探讨了攻击者可能造成的重组和最终确定性延迟。 总的来说,质押以太币越多的攻击者成功的几率更大,因为他们的质押将变成有力的投票,从而影响未来区块的内容。 在一定阈值的质押以太币数量下,攻击者的力量会上升:
33%:最终确定性延迟
34%:最终确定性延迟、双重最终确定性
51%:最终确定性延迟、双重最终确定性、审查、控制区块链的未来
66%:最终确定性延迟、双重最终确定性、审查、控制区块链的未来以及过去
还有一系列更加复杂的运用少量质押以太币发起的攻击,但是需要非常有经验的攻击者良好地控制消息在诚实验证者之间的传播时机,以便让形势对攻击者有利。
总的来说,尽管存在这些潜在的攻击途径,但是攻击成功的概率非常低,低于在工作量证明机制下实施的同类攻击。 这是因为攻击者需要冒着巨大的质押以太币成本风险,以便利用他们的投票力量压倒诚实的验证者。 内置的“恩威并济”激励层可以防止大多数的恶意行为,尤其是对于拥有少量质押的攻击者。 更微妙的弹跳和平衡攻击也不太可能成功,因为在现实的网络条件下,很难良好地控制消息向特定验证者传递,如果发现了已知的弹跳、平衡和雪崩攻击途径,客户端团队也能通过补丁快速修复。
34%、51% 或者 66% 攻击可能需要带外的社会协调来解决。 虽然对于社区来说是痛苦的,但是社区的带外响应能力对于攻击者来说是一种强大的抑制力量。 以太坊的社交层是最终的后盾 - 从技术性取得成功的攻击仍然会被社区同意采用诚实链所瓦解。 攻击者和以太坊社区之间存在一场竞赛 - 花费在 66% 攻击上的数十亿美元可能会被成功的社交协调所抹除,从而给攻击者留下沉重的包袱,因为它们质押的以太币将在被以太坊社区忽略的不诚实链上无法流动。 最终为攻击者带来利益的可能性非常低,这足以成为一种有效的威慑。 这就是为什么投资于维持有共同价值观和凝聚力的社交层如此重要。