
我忘記提到的一個重要技術項目,是建議將最終性工具從 Casper FFG 切換為 Minimmit。 總結來說,Casper FFG 提供兩輪最終性:它要求每位驗證者簽署一次以「證明」區塊,再簽署一次以「最終確認」該區塊。而 Minimmit 僅需一輪。作為交換,Minimmit 的容錯能力(在我們的參數設定下)降至 17%,而 Casper FFG 則為 33%。 在以太坊共識討論中,我一直都是安全假設的堅守者:我堅持追求同步狀態下 49% 容錯的理論極限,持續推動 51% 攻擊恢復機制,並提出 DAS 來使資料可用性檢查對惡意多數具有抵抗力等。但我對 Minimmit 的特性完全接受,甚至在某些方面感到熱情。在這篇貼文中,我將解釋原因。 讓我們明確列出 3SF(不是當前過於薄弱的信標鏈,而是理想的 3SF)與 Minimmit 的精確安全特性。 「同步網路」指「網路延遲小於約 1/4 時槽」,「非同步網路」指「延遲可能極高,甚至部分節點可能離線數小時」。百分比(「攻擊者擁有 <33%」)指的是活躍質押的 ETH 百分比。 ## 3SF 的特性 同步網路情況: * 攻擊者擁有 p < 33%:不會發生任何不良狀況 * 33% < p < 50%:攻擊者可阻止最終性(需承擔因不活動洩漏而損失巨額資金的代價),但區塊鏈仍正常推進 * 50% < p 67%:攻擊者可隨意最終確認,正派參與者難以進行少數分叉 非同步網路情況: * 攻擊者擁有 p 33%:可回滾最終性,但需承擔因罰沒而損失巨額資金的代價 ## Minimmit 的特性 同步網路情況: * 攻擊者擁有 p < 17%:不會發生任何不良狀況 * 17% < p < 50%:攻擊者可阻止最終性(需承擔因不活動洩漏而損失巨額資金的代價),但區塊鏈仍正常推進 * 50% < p 83%:攻擊者可隨意最終確認,正派參與者難以進行少數分叉 非同步網路情況: * 攻擊者擁有 p 17%:可回滾最終性,但需承擔因罰沒而損失巨額資金的代價 我實際上認為後者是更好的權衡。以下是我的理由: * 最糟糕的攻擊其實並非最終性回滾,而是審查。原因是最終性回滾會產生大量公開可用的證據,可用來立即讓攻擊者損失數百萬 ETH(即數十億美元),而審查則需要社會協調才能應對。 * 在上述兩種情況中,審查攻擊都需要 50%。 * 當審查攻擊者能單方面最終確認時(即在 3SF 中 >67%,在 Minimmit 中 >83%),這種審查攻擊更難被協調應對。如果他們無法做到,則當正派參與者反向協調時,會出現兩條非最終性鏈對抗數日,使用者可自行選擇;但如果他們能單方面最終確認,則沒有自然的沙林點來協調分叉。 * 在客戶端錯誤的情況下,最壞的情況是最終確認了有缺陷的內容。在 3SF 中,僅需 67% 的客戶端存在錯誤即可最終確認;而在 Minimmit 中,則需要 83%。 基本上,Minimmit 最大化了「預設為兩條鏈相互對抗」的情境,這實際上比「錯誤的事物被最終確認」更健康、更容易恢復。 我們希望最終性意味著真正不可逆。因此,在不確定的情況下(無論是攻擊還是軟體錯誤),我們應更願意接受區塊鏈在數小時或數天內不進行最終確認,而是根據分叉選擇規則繼續推進。這給了我們時間思考並確認哪條鏈是正確的。 此外,我認為 3SF 中「罰沒 33% 才能回滾最終性」的設計過度了。假設有 1500 萬 ETH 質押,那意味著僅一次回滾就需罰沒 500 萬 ETH(100 億美元)。如果你擁有 100 億美元,且願意從事違反多國電腦駭客法律的破壞性行為,你有遠比攻擊區塊鏈更好的花費方式。即使你的目標是摧毀以太坊,也有更優的攻擊向量。 因此,若我們已有至少 17% 罰沒才能回滾最終性的基本保障(Minimmit 提供此保障),我們應基於此基礎來評估兩個系統的其他特性——而基於上述原因,我認為 Minimmit 表現更佳。
