簡而言之:在我們最新的研究中,我們設計、實施並評估了三種賄賂攻擊。它們旨在違反共識協議的三個基本屬性。
- 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賄賂市場。
攻擊魯棒性與通貨膨脹:我們可以在協議抵禦賄賂攻擊的魯棒性與通貨膨脹增加之間進行一個有趣的權衡。這裡的最佳平衡點在哪裡?
歡迎隨時聯繫我們,留下評論、問題、反饋和批評!
賄賂快樂!