跳到正文

權益研磨攻擊:操縱權益證明隨機性

權益研磨攻擊會在協議允許的金鑰、區塊或隨機數貢獻中搜尋,以取得更有利的未來驗證者選擇結果。本文解析攻擊路徑、量化搜尋優勢,並審查針對特定協議的防禦措施。

更新於

僅供協議安全教育分析。隨機性、領導者選擇、懲罰與攻擊成本取決於特定協議和版本;在得出安全性或質押結論前,請核實目前生效的規範與實作。

直接回答

權益研磨攻擊利用權益證明參與者在協議隨機性固定前能夠作出的選擇。參與者評估多個有效金鑰、候選區塊或隨機數貢獻,再保留或揭露能讓未來提議者、委員會或分叉結果更有利的選項。額外搜尋把一次抽籤變成多次候選抽籤,可能使其取得超出名義質押份額的影響力。

研磨是一族攻擊,而非一種通用流程。區塊或種子研磨發生在生成者可變更協議允許的區塊內容或祖先,且結果雜湊會進入後續隨機性時。金鑰研磨是參與者在註冊前生成大量候選金鑰,只保留資格結果有利的身分。選擇性揭露研磨則是在得知每個允許選項如何改變種子後,選擇扣留或發布承諾、揭示值、簽章或區塊。

雜湊、可驗證隨機函數(VRF)或承諾-揭示方案本身不能保證完整流程無偏。安全性取決於誰能選擇每項輸入、何時可知資格、能測試多少替代項、放棄是否帶來額外選擇,以及種子與其選出的領導者隔離多久。可靠審查必須依據確切協議版本,不能從某個密碼學原語的名稱推斷安全性。

攻擊與分析路徑

  1. 固定選擇規則。 記錄網路、版本、epoch 或輪次、有效質押快照、種子推導、資格測試、分叉選擇及獎勵和懲罰規則。
  2. 列出所有對手選擇。 包括註冊前建立的金鑰、有效交易排序、可選欄位、候選父區塊、區塊發布、隨機數揭示與放棄。只有當變更某欄位能影響被接受的未來狀態或種子時,它才相關。
  3. 衡量搜尋預算。 估算截止時間前可評估多少不同候選項、哪些試驗互相獨立,以及每次試驗的計算、錯失獎勵、保證金、延遲或可罰沒行為成本。
  4. 把種子連結到未來權力。 確定種子提前多久選擇提議者或委員會、攻擊者是否在承諾前知道結果,以及一次有利選擇是否會創造下一次研磨機會。
  5. 評估接受條件與複利效應。 候選項必須繼續滿足狀態轉換、時間、簽章和分叉選擇規則。應把重複影響建模為有狀態程序,不要假設各輪獨立而外推單輪機率。
  6. 逐項驗證防禦。 延遲種子、VRF、金鑰註冊規則、懲罰、門檻隨機信標和可驗證延遲函數針對不同能力,也各自引入可用性與實作假設。

證據包應保存候選區塊或承諾、確切雜湊與域、時間資料、質押快照、實際實作的種子計算和反事實選擇結果。連續取得提議權本身不是證據,因為誠實的質押加權抽籤也會自然形成聚集。

完整範例

假設一個簡化協議給予攻擊者下一輪提議者機率的 10%。若攻擊者只有一個固定種子,其被選中機率為 0.10。現在假設一個缺陷允許它以可忽略成本評估 20 個互相獨立且同樣有效的候選種子,並任選其一發布。

至少一個候選項選中攻擊者的機率為 1 - (1 - 0.10)^20,約為 87.8%。這不表示攻擊者擁有 87.8% 的質押,而是協議意外賦予它 20 次抽籤機會,並允許在看到結果後再作選擇。

此計算是高層說明,並非對已部署鏈的預測。候選結果可能相關,截止時間會限制試驗次數,某些變體會損失手續費或獎勵,扣留可能受罰,而成為下一位有利提議者也未必能形成持久的分叉選擇影響。評估經濟或共識影響前必須測量這些限制。

防禦措施與審查清單

隨機性構造

  • 從受影響參與者尚不能得知或控制分配結果時已經承諾的輸入中推導選擇隨機性。
  • 在時間上充分分隔貢獻、承諾、揭示與使用,使目前領導者無法低成本搜尋決定其直接繼任者的種子。
  • 處理最後揭露者問題:若扣留揭示值能讓一名參與者在不同結果間選擇,承諾-揭示協議仍會產生偏差。
  • 僅在明確誠實參與、活性、復原和成員變更假設後使用門檻或分散式隨機信標。

資格與身分

  • 在相關種子可知前,將 VRF 金鑰和質押綁定到註冊快照,否則離線生成金鑰可能演變為金鑰研磨。
  • 按鏈、版本、輪次、角色和用途分隔隨機性的域,防止一個上下文中的證明在另一上下文中重複使用。
  • 在適用時採用私密資格,同時認識到私密領導者選舉能減少提前定向攻擊,卻不能修復有偏的種子生成。
  • 限制低成本身分輪換,並定義委託質押、質押池和變化中的驗證者集合如何進入抽籤。

經濟與維運

  • 計入錯失區塊、被沒收獎勵、鎖定資本、可偵測的矛盾簽章和相關性懲罰;不要把每個合法選擇都稱為可罰沒行為。
  • 在具有統計意義的時間窗內監控種子貢獻、揭示失敗、異常候選生成、提議者頻率和軟體多樣性。
  • 除非規範已證明相關選擇無害,否則不要讓自主決定的構建者、relay 或交易排序介面接觸共識關鍵隨機性。
  • 測試回退行為。只有所有參與方回應才無偏的隨機機制,可能用抗偏差能力換來活性故障。

常見誤解

  • 雜湊輸出是隨機的,所以無法研磨。 對一個固定輸入不可預測的雜湊,仍可能被能從多個輸入中選擇的參與者篩成有偏輸出。
  • VRF 能消除所有研磨攻擊。 VRF 證明某個金鑰和輸入對應的輸出;金鑰生成、種子控制、註冊時機與選擇性發布仍是獨立問題。
  • 承諾-揭示隨機性天然無偏。 若協議未消除或定價放棄選項,最後一名參與者可能在揭示與放棄之間作選擇。
  • 研磨需要多數質押。 若少數參與者獲得多次低成本試驗,也可能取得超額選擇機率;但要把優勢轉化為安全性故障,還需要其他協議特定條件。
  • 連續提議次數越多就證明存在操縱。 隨機領導者選擇會產生連勝。偵測需要預先聲明的統計模型以及協議和實作證據。
  • 研磨與 nothing at stake 是同一問題。 研磨偏置隨機性或資格;nothing at stake 關注支援競爭歷史的誘因。兩者可能互相作用,但分析上不同。

相關主題

來源

導覽

搜尋知識庫...