分散式驗證者技術 (DVT) 是一種驗證者安全方法,將金鑰管理與簽署責任分散給多方,以減少單點故障並提高驗證者的韌性。
它的做法是將用於保護驗證者的私鑰分割,並分散到多台電腦(組織成一個「叢集」)中。這樣做的好處是讓攻擊者極難取得金鑰,因為完整的金鑰並未儲存在任何單一機器上。這也允許部分節點離線,因為必要的簽署可以由每個叢集中的一部分機器完成。這減少了網路的單點故障,並使整個驗證者集合更加穩健。
為什麼我們需要 DVT?
安全性
驗證者會產生兩對公私鑰:用於參與共識的驗證者金鑰,以及用於存取資金的提款金鑰。雖然驗證者可以將提款金鑰安全地保存在冷儲存中,但驗證者私鑰必須 24 小時全天候保持連線。如果驗證者私鑰遭到外洩,攻擊者就能控制該驗證者,可能導致罰沒或質押者的 ETH 遺失。DVT 可以幫助減輕這種風險。具體方式如下:
透過使用 DVT,質押者可以在參與質押的同時,將驗證者私鑰保存在冷儲存中。這是透過加密原始的完整驗證者金鑰,然後將其分割成多個金鑰份額來實現的。這些金鑰份額保持連線狀態,並分散到多個節點,從而實現驗證者的分散式營運。這之所以可行,是因為 以太坊 驗證者使用具有可加性的 BLS 簽章,這意味著可以透過加總其組成部分來重建完整的金鑰。這使得質押者能夠將完整、原始的「主」驗證者金鑰安全地保持離線狀態。
無單點故障
當一個驗證者被分散到多個營運者和多台機器上時,它可以承受個別的硬體和軟體故障而不會離線。透過在叢集中的節點使用多樣化的硬體和軟體配置,也可以降低故障風險。這種韌性是單節點驗證者配置所不具備的——它來自於 DVT 層。
如果叢集中某台機器的其中一個元件發生故障(例如,如果一個驗證者叢集中有四個營運者,其中一個使用的特定用戶端存在錯誤),其他營運者可以確保驗證者繼續運作。
去中心化
以太坊的理想情況是擁有盡可能多獨立營運的驗證者。然而,少數質押提供商變得非常受歡迎,並佔據了網路上總質押 ETH 的很大一部分。DVT 可以允許這些營運者存在,同時保持質押的去中心化。這是因為每個驗證者的金鑰都分散在許多機器上,驗證者若要變得惡意,將需要更大規模的共謀。
如果沒有 DVT,質押提供商更容易為其所有驗證者僅支援一兩種用戶端配置,這會增加用戶端錯誤的影響。DVT 可用於將風險分散到多種用戶端配置和不同的硬體上,透過多樣性創造韌性。
DVT 為以太坊提供以下好處:
- 以太坊權益證明 (PoS) 共識的去中心化
- 確保網路的活躍度
- 創造驗證者的容錯能力
- 信任最小化的驗證者營運
- 最小化罰沒與停機風險
- 提升多樣性(用戶端、資料中心、地理位置、法規等)
- 增強驗證者金鑰管理的安全性
DVT 是如何運作的?
一個 DVT 解決方案包含以下元件:
- Shamir 秘密共享 (Shamir's secret sharing) (opens in a new tab) - 驗證者使用 BLS 金鑰 (opens in a new tab)。個別的 BLS「金鑰份額」可以組合成單一的聚合金鑰(簽章)。在 DVT 中,驗證者的私鑰是叢集中每個營運者的 BLS 簽章組合。
- 門檻簽章方案 (Threshold signature scheme) (opens in a new tab) - 決定執行簽署職責所需的個別金鑰份額數量,例如 4 個中的 3 個。
- 分散式金鑰生成 (DKG) (opens in a new tab) - 產生金鑰份額的密碼學過程,用於將現有或新驗證者金鑰的份額分配給叢集中的節點。
- 多方安全計算 (MPC) (opens in a new tab) - 完整的驗證者金鑰是使用多方安全計算秘密生成的。任何個別營運者都永遠不會知道完整的金鑰——他們只會知道屬於自己的那一部分(他們的「份額」)。
- 共識協定 - 共識協定會選擇一個節點作為區塊提案者。他們與叢集中的其他節點共享該區塊,其他節點將其金鑰份額加入到聚合簽章中。當聚合了足夠的金鑰份額時,該區塊就會在以太坊上被提案。
分散式驗證者具有內建的容錯能力,即使部分個別節點離線也能繼續運作。這意味著即使叢集中的某些節點被發現是惡意或怠惰的,叢集仍然具有韌性。
DVT 使用案例
DVT 對更廣泛的質押產業具有重大影響:
獨立質押者
DVT 也支援非託管質押,允許你將驗證者金鑰分散到遠端節點,同時將完整的金鑰完全保持離線。這意味著家庭質押者不一定需要花費購買硬體,而分散金鑰份額有助於增強他們抵禦潛在駭客攻擊的能力。
質押即服務 (SaaS)
管理許多驗證者的營運者(例如質押池和機構質押者)可以使用 DVT 來降低風險。透過分散其基礎設施,他們可以為營運增加備援,並多樣化他們使用的硬體類型。
DVT 將金鑰管理的責任分攤到多個節點上,這意味著部分營運成本也可以被分攤。DVT 還可以降低質押提供商的營運風險和保險成本。
質押池
由於標準的驗證者設定,質押池和流動性質押提供商被迫承擔不同程度的單一營運者信任風險,因為收益和損失會在整個池中社會化。他們也依賴營運者來保護簽署金鑰,因為直到現在,他們還沒有其他選擇。
儘管傳統上會努力透過將質押分散給多個營運者來分散風險,但每個營運者仍然獨立管理著大量的質押。如果單一營運者表現不佳、遇到停機、遭到入侵或表現出惡意行為,依賴單一營運者將帶來巨大的風險。
透過利用 DVT,對營運者所需的信任大幅降低。質押池可以讓營運者持有質押,而無需託管驗證者金鑰(因為只使用金鑰份額)。它還允許將管理的質押分散給更多營運者(例如,DVT 允許這些驗證者由多個營運者共同運行,而不是由單一營運者管理 1000 個驗證者)。多樣化的營運者配置將確保如果一個營運者發生故障,其他營運者仍然能夠進行證明。這帶來了備援和多樣化,從而帶來更好的效能和韌性,同時最大化獎勵。
最小化單一營運者信任的另一個好處是,質押池可以允許更開放和無需許可的營運者參與。透過這樣做,服務可以降低風險,並透過使用精選和無需許可的營運者集合來支持以太坊去中心化,例如,將家庭或較小的質押者與較大的質押者配對。
使用 DVT 的潛在缺點
- 額外的元件 - 引入 DVT 節點增加了一個可能發生故障或存在漏洞的部分。減輕這種情況的一種方法是努力實現 DVT 節點的多種實作,這意味著多個 DVT 用戶端(就像共識層和執行層有多個用戶端一樣)。
- 營運成本 - 由於 DVT 將驗證者分散在多方之間,因此營運需要更多節點而不是單一節點,這會增加營運成本。
- 潛在的延遲增加 - 由於 DVT 利用共識協定在營運驗證者的多個節點之間達成共識,因此可能會導致延遲增加。
