Paradigm 介紹Goldfish:PoS 以太坊中LMD GHOST 分叉規則的安全替代品

合併:從工作量證明到權益證明

以太坊即將從工作量證明(PoW) 過渡到權益證明(PoS) ,這是多年研究和開發的結晶。雖然PoS 帶來了許多潛在的優勢,但這也意味著以太坊正在放棄中本聰最”長情”的協議——當然也是最簡單、最優雅的共識協議之一,並且已經過去中心化區塊鏈的實戰考驗。

以太坊PoS 共識協議中,一個眾所周知的脆弱組件已被證明是“LMD GHOST”選擇分叉規則,最近發生了多次攻擊和打補丁,其安全性仍未得到證明。

在題為“PoS 以太坊不再被攻擊?”的文章中,我們提出了Goldfish,它是PoS 以太坊中LMD GHOST 選擇分叉規則可證明的、安全的替代品。我們認為這只是朝著更嚴格的協議設計和分析邁出的第一步,目的是加強以太坊的安全性。

以太坊的權益證明協議

以太坊的權益證明(PoS) 共識協議比PoW 複雜得多。

它實際上是兩種不同共識協議的組合:一個“finality gadget”(稱為Casper FFG),在6.4 分鐘長的epoch 後最終確定區塊,以及在每個epoch 內管理鏈的選擇分叉規則fork-choice rule(稱為“Greedy Heaviest Observed Subtree”,簡稱LMD GHOST)。這兩個組件以復雜的方式相互交互,下面用框圖進行描述:

具體來說,LMD GHOST 指導區塊生產過程,並以12 秒的時間Slot和驗證者的子抽樣組合運行。因此,它可以被認為是在PoS 以太坊區塊獎勵前負責較弱的“短期共識”。一旦就交易賬本達成短期共識,它就會被移交給Casper FFG 進行額外的加固,它在包含32 個插槽(slots) = 6.4 分鐘的時間尺度上運行,並涉及完整的驗證器集。因此,Casper FFG 負責提供更強大的“長期共識”,提供最終性和負責任的安全性。

不幸的是,這種複雜性伴隨著挑戰。特別是,LMD GHOST 組件,以及LMD GHOST 和Casper FFG 之間的交互,都存在反反复复的攻擊、打補丁。目前為Merge 採用的協議既沒有公開的攻擊,也沒有正式的安全分析/證明。

缺乏安全證明是令人擔憂的原因,但並不是因為簡單學術模型中的證明必然完美地表明現實世界的安全性。相反,即使在簡化模型中,我們也無法最終解釋為什麼這個協議是安全的,這表明我們實際上並不了解協議,或者它們的後果和交互的全部範圍。

Goldfish

在題為“PoS 以太坊不再被攻擊?”的文章中,我們提供了PoS 以太坊的LMD GHOST 分叉選擇規則的替代品。該協議稱為Goldfish,類似於LMD GHOST(因此不需要對當前客戶端實現進行大修),但帶有安全證明。

為了更好地理解Goldfish,讓我們先預覽下LMD GHOST 的大致工作原理:

image.png

假設我們的簡化網絡模型中消息引起的最大延遲為已知值A(如上圖中的△)。在LMD GHOST 中,相似步驟得到的值為2A 。對於每個間隙,從完整的驗證者集中隨機選擇一個提議者和一個小的驗證者委員會。在每個slot開始時,slot的提議者運行LMD GHOST 分叉選擇規則(有兩個修改,“提議者提升”和“模棱兩可的折扣”,它們是響應兩個早期攻擊的補丁)以確定規範的區塊鏈獎勵和提出一個新的區塊。

在slot進行到一半時,slot的委員會成員還使用相同的分叉選擇規則確定規範的區塊獎勵,並投票支持該獎勵。 LMD GHOST 沒有指定確認規則,而是讓用戶來決定區塊樹的哪些區塊擁有“足夠”的票數以確信他們不會離開規範鏈。

Goldfish 緊密遵循這個一般結構,但為驗證者引入了一個額外的階段,以同步他們對投票計數的看法,並確認區塊:

image.png

在每個slot的開始,slot的提議者根據前一個slot 的投票運行簡單的GHOST 分叉選擇規則,以確定在哪裡提議一個塊。進入slot的三分之一時,該時段的委員會成員使用相同的分叉選擇規則,該規則基於前一個時段的投票和提議者轉發的投票,來確定在哪裡投票。最後,在進入slot的三分之二時,所有驗證者都運行一個明確定義的T 深度確認規則。

Goldfish 基於兩種關鍵技術,投票緩沖和投票到期,以仔細同步誠實驗證者的觀點:

  • 投票緩衝(也稱為view merge,最早出現在新的共識協議Highway 上)。簡而言之,緩衝從網絡收到的選票,以及在每個驗證者的本地視圖中精心定時包含這些選票,保證了在具有誠實提議者的slot中,所有誠實的驗證者都投票支持提議者的提議。這導致了重組彈性:誠實的提議者的提議保證保留在規範鏈中。隨之而來的是安全性(即輸出賬本的安全性和活躍性)。

  • 投票到期(也稱為臨時投票)意味著在每個slot內,只有前一個slot的投票會影響協議的行為(類似於“健忘”的金魚,Goldfish 協議名稱源於此)。投票到期使投票集很小,這可能會影響誠實驗證者的短期未來行動。因此,在任何時間點,只有少數協議消息需要在誠實驗證者的視圖中進行緩沖和合併。因此,投票到期是投票緩衝效率/可行性的先決條件。投票到期對於支持波動的驗證者參與水平以及支持在每個slot較小的子樣本選民委員會中運行協議,而不是在整個驗證者集中運行協議也至關重要。

最後,Goldfish 的確認規則會確認區塊是否在創建後的一段時間內仍在規範鏈上。分析表明,由此產生的確認翻轉概率在出塊和區塊確認之間的延遲中呈指數級降低。

Goldfish 面臨的挑戰:異步(Asynchrony)

Goldfish 很簡單,可以接受嚴格的安全證明。這一分析立即取得了成果:請記住,我們一開始就假設我們的簡化模型中的網絡延遲上限為A (上圖中的△表示) 。在證明安全性的過程中,我們必須明確這一假設和其他假設。

如果違反了這個界限,即如果網絡暫時異步,會發生什麼?我們可以追踪安全論證的步驟,看看在沒有假設的情況下會出現什麼問題。我們看到,如果實際網絡延遲大於2A(即當前PoS 以太坊中的8 秒),那麼Goldfish 將無法及時獲得slot (t-1)的決定性選票以在slot t 的基礎上進行構建,該協議可能會受到重組的影響。

這樣的重組是不好的。但至少由於嚴格的安全論點,我們可以更好地了解我們系統的安全性關鍵依賴於哪些條件,以及為什麼以及如何。我們可以做出更明智的決定,以確保滿足這些先決條件。例如,雖然在當前的點對點網絡協議中,攻擊者可能更容易引起一些網絡延遲,但最近(也由於與網絡相關的數據可用性採樣挑戰)對強化的點對點協議重新產生了興趣,這些協議重新啟用共識層的權益分配來指導對等點的選擇。這樣的協議更加抗攻擊,並且可以合理地緩解延遲問題。此外,確定性/問責制小工具(最終可能會通過“單槽確定性”進一步加速)為任何重組提供了支持。

還需要做什麼

我們提出了Goldfish 共識協議,旨在作為PoS 以太坊信標鏈中LMD GHOST 的替代品。我們對Goldfish 本身進行了嚴格的安全分析,並結合了終局/問責制小工具(基於另一個共識協議,例如HotStuff)。其他PoS 以太坊共識安全挑戰仍然存在,例如,來自分叉選擇和finality gadget 的交互,我們期待在未來看到PoS 以太坊在這些方面的進一步共識安全改進。

來源:Paradigm、比推

編譯及整理:比推Mary Liu

Total
0
Shares
Related Posts