简而言之:在我们最新的研究中,我们设计、实施并评估了三种贿赂攻击。它们旨在违反共识协议的三个基本属性。
- PayToAttest :通过购买选票(证明)来践踏安全。
- PayToExit :激励验证者停止参与共识,从而威胁活跃度。
- PayToBias :RANDAO 贿赂市场影响公平。
我们的结果表明,这些攻击出奇地便宜且实用,只需贿赂 0.09 ETH (约 334 ≈ 334美元)即可事后重组区块(假设理性验证者在贿赂金额略大于协议奖励时接受贿赂)。
论文链接: https://eprint.iacr.org/2025/1719.pdf
Github 链接: GitHub - 0xSooki/bribery-zoo:通过贿赂合约进行不信任共识操纵
动机
一个常见的误解是,所提供的经济安全“安全预算”与质押的ETH价值成正比(约 1150 亿≈ 1150亿美元)。然而,如果验证者理性行事,这个Threshold在短期内会变得小得多,因为贿赂者只需支付略高于协议奖励的金额即可。透明的链上贿赂合约允许以无需信任、原子且低成本的方式参与我们的攻击。在本文中,我旨在简要概述我们的主要成果;更多详细信息,请参阅论文。
贿赂制度模型
如果没有可信的第三方,公平交易就不可能实现。因此,我们采用了链上贿赂合约。
从本质上讲,贿赂需要进行简单的智能合约互动。
- 步骤 1. 贿赂者发布指示并附上一些钱。
- 步骤 2. 验证者提供偏差证明(例如签名、(zk)证明)。
- 步骤3. 合约验证证明并向受贿者支付款项。
贿赂合约使贿赂行为原子化,不需要双方之间任何额外的信任假设。
准备工作
在 Pectra 升级并加入EIP-2537(BLS12-381 曲线操作的预编译)之后,在 EVM 中验证链上 BLS(聚合)签名的成本不仅变得可行,而且相对低廉。由于(当前)共识协议严重依赖 BLS 签名,它在共识层和执行层之间提供了去信任化的验证,使我们的工作切实可行。
贿赂合同
我们设计、实施并评估了以下三种针对以太坊验证者的贿赂合约。
PayToAttest——允许贿选
贿赂者为对抗分叉购买选票
无需多数股权即可实现事后重组
攻击成本:<0.09 ETH
PayToExit - 验证者退出市场
验证者自愿退出协议并得到报酬
增加对手的相对权益,从而威胁网络的活跃度
根据我们最初的博弈论分析,对于一个拥有 23% 股份的实体,将其股份增加到 33%,最佳贿赂金额将是 9.23 ETH
PayToBias - 拍卖 RANDAO 随机性贡献
尾槽中的验证者可以通过保留其区块来影响以太坊的随机性信标。
据我们所知,我们建立了第一个链上 RANDAO 贿赂市场。
绩效评估(Gas成本)
下表列出了我们提出的贿赂合约中最重要的功能的 Gas 成本。美元成本是使用 2025 年 7 月 25 日的ETH/USD 汇率和 Gas 价格(3,708 美元/ ETH和 1.63 Gwei Gas 价格)计算得出的。
事后重组的顺序
为了进一步说明此类合约可能造成的潜在危害,下图展示了贿赂者如何利用PayToAttest合约购买证明,导致诚实投票被贿赂投票压倒,直到敌对分叉成为规范链。攻击者可能会出于动机执行此类重组,以从诚实区块中窃取 MEV,或操纵 RANDAO。
事后重组的成本
下图显示了使用我们的PayToAttest合约进行事后重组的成本。当攻击者试图用Alpha质押金额在n+ 1区块中分叉出The Block时,攻击在白色区域失败。
PayToExit贿赂市场
我们对PayToExit贿赂市场的激励机制进行了更深入的分析,以得出最佳贿赂金额。该市场被建模为一个单领导者多追随者的市场退出博弈,其中贿赂者向 n 个理性验证者提供贿赂 b,以退出活跃验证者集合。贿赂者可能希望理性验证者停止担任以太坊验证者,以 a) 增加其相对质押权,或 b) 将稀缺资金从存款合约转移到对手选择的另一个去中心化应用(例如 DeFi 协议,例如,在 DEX 中提供流动性,或借贷池ETC)。
理性的验证者有两种选择:a)接受贿赂并离开共识协议 b)拒绝贿赂并继续在以太坊共识中进行验证。
通过解决这个博弈,我们得出了计算最佳贿赂金额的范围,即
R(n-k+1) \cdot \mathrm{PV}(r,Y)\leq b^* \leq R(nk) \cdot \mathrm{PV}(r, Y ) 。R ( n − k + 1 ) ⋅ PV ( r , Y ) ≤ b ∗ ≤ R ( n − k ) ⋅ PV ( r , Y ) 。
在哪里
R(n) = {\underbrace{32}_{stake} \cdot \bigg(\underbrace{\frac{2940.21}{\sqrt{n}}}_{\text{协议奖励}} + \underbrace{\frac{1078543.3}{n}}_{\text{估计的 MEV}}\bigg)} \quad \mathrm{and} \quad \mathrm{PV}(r,Y) = \frac{1.08^{-9}}{0.08\cdot100} R ( n ) = 32 s t a k e ⋅ ( 2940.21 √ n 协议奖励+ 1078543.3 n 估计 MEV )和 PV ( r , Y ) = 1.08 - 9 0.08 ⋅ 100
使用最佳贿赂范围,存在一个均衡,其中足够多的验证者退出以将对手的股份从\ Alpha α提高到\ Alpha^* α ∗ ,但没有验证者有动机单方面改变他们的策略。
下图显示了当对手想要将其相对权益从\ Alpha α增加到\ Alpha^* α ∗ ( \ Alpha \le \ alpha ^ * α ≤ α ∗ ) 时,贿赂成本(以美元为单位)和攻击持续时间(以天为单位)。
我们的论文中还有更多的讨论和结果。
对策
以太坊如何防御这些贿赂攻击?以太坊协议设计者应该/可以做什么来增强协议的健壮性?
增加诚实参与的奖励:也许是不受欢迎的,因为如果不小心的话,它会稀释以太坊的供应?
增加举报激励措施:巨大的设计空间
单槽最终性(防止 PayToAttest 分叉)
无偏随机信标(PayToBias 的缓解措施)
未来研究方向
匿名性和隐私性:隐藏贿赂合同的细节会很有趣。这将使我们的贿赂市场更加实用,因为参与者的加入意愿会更强。
额外的贿赂合约:使用我们的框架,可以轻松实现新的贿赂合约。例如,PayToInclude 或 PayToCensor,其中请求将某笔交易排除在区块链之外。
博弈论分析:众多博弈论悬而未决的问题。特别是,我们没有从博弈论的角度分析我们的PayToAttest或PayToBias贿赂市场。
攻击鲁棒性与通货膨胀:我们可以在协议抵御贿赂攻击的鲁棒性与通货膨胀增加之间进行一个有趣的权衡。这里的最佳平衡点在哪里?
欢迎随时联系我们,留下评论、问题、反馈和批评!
贿赂快乐!