Gasper
最後編輯: @Joe-Chen(opens in a new tab), 2023年8月15日
Gasper 是由 Casper 友善最終確定性組件 (Casper-FFG) 及 LMD-GHOST 分叉選擇演算法組成的。 這些部分共同構成了保護權益證明以太坊的共識機制。 Casper 是將特定區塊升級至「最終確定」的機制,這樣新加入網路的節點就可以確定它們正在同步的是規範鏈。 分叉選擇演算法使用累積的投票,以確保節點能在區塊鏈發生分叉時很容易地選擇正確的鏈。
注意:由於 Casper-FFG 包含在 Gasper 中,因此其原始定義有小幅更新。 此頁面中的定義為更新後的版本。
前置要求
要瞭解本頁的內容,推薦先閱讀權益證明的介紹頁面。
Gasper 扮演的角色
Gasper 建立於權益證明區塊鏈之上,節點會提供以太幣作為保證金,若其在提議或驗證區塊時懶惰或不誠實,該保證金可能會被銷毀。 Gasper 是定義如何獎勵及處罰驗證者,決定應接受和拒絕哪個區塊,以及在區塊鏈的哪個分叉上建構的機制。
最終確定性是什麼?
最終確定性是某些區塊的屬性,指的是除非在共識嚴重失效或攻擊者已銷毀了至少 1/3 的總質押以太幣,否則該區塊無法被還原。 最終確定的區塊可以視為已經被區塊鏈確定的資訊。 區塊需要經過一個 2 步驟升級程序才能被最終確定:
- 三分之二的總質押以太幣必須投票支持將該區塊納入規範連。 此條件將區塊升級至「合理化」狀態。 合理區塊不太可能被還原,但在某些情況下也有可能。
- 當另一個區塊在一個合理區塊上被合理化時,該區塊將被升級至「最終確定」狀態。 最終確定一個區塊是將其納入規範鏈的承諾。 除非攻擊者銷毀了數百萬枚以太幣(數十億 $USD),否則該區塊無法被還原。
並非每個時隙都會發生這種區塊升級。 相反,只有時期邊界的區塊可以被合理化並最終確定。 這些區塊被稱爲「檢查點」。 升級需要考慮成對的檢查點。 兩個連續的檢查點中間必須存在一個「絕對多數連結」(即三分之二的縂質押以太幣投票支持檢查點 B 是檢查點 A 的正確子代),才能將較早的檢查點升級至最終確定狀態,並將較新的區塊升級至合理化狀態。
由於最終性需要三分之二的縂質押以太幣同意某個區塊是規範區塊,因此攻擊者無法在缺少下列條件的情況下建立另一條最終確定鏈:
- 擁有或操縱三分之二的縂質押以太幣。
- 銷毀至少三分之一的縂質押以太幣。
第一個條件出現的原因是需要三分之二的質押以太幣來最終確定一條鏈。 之所以有第二個條件,是因爲如果三分之二的質押總量投票支持了兩個分叉,則必然有三分之一的質押總量同時投票支持了兩個分叉。 雙重投票符合罰沒條件,會受到最大程度的懲罰,銷毀三分之一的質押縂量。 截至 2022 年 5 月,這需要攻擊者銷毀價值約 100 億美元的以太幣。 Gasper 中用於合理化並最終確定區塊的演算法是友善最終確定性組件 (Casper-FFG)(opens in a new tab) 的輕微改動版本。
激勵與罰沒
誠實地提議和驗證區塊的驗證者會獲得獎勵。 以太幣將作爲獎勵新增到他們的質押中。 另一方面,缺席或在被呼叫時未能響應的驗證者將錯過這些獎勵,有時還會損失他們現有質押的一小部分。 然而,離綫的處罰是較小的,在多數情況下,僅為錯失獎勵的機會成本。 但是,有些驗證者的行爲很難是無意爲之,並且表現出某種惡意企圖,例如在同一個時隙提議多個區塊、在同一個時隙證明多個區塊,或與先前的檢查點投票自相矛盾。 這些「可罰沒」行爲將受到更嚴厲的懲罰 - 罰沒將導致驗證者的部分質押被銷毀,並將驗證者移出驗證者網路。 這個過程需要 36 天。 在第 1 天,會有最高 1 個以太幣的初始懲罰。 之後,被罰沒驗證者的以太幣將在退出期間緩慢耗盡,但在第 18 天,他們會受到「相關性懲罰」,當更多的驗證者在大致同一時間被罰沒時,該懲罰的力度也會更大。 懲罰的上限是全部質押。 這些獎勵和懲罰旨在激勵誠實的驗證者,並抑制對網路的攻擊。
怠惰逐減懲罰
除了安全性外,Gasper 也提供「合理的活躍性」。 條件是只要三分之二的縂質押以太幣誠實地投票並遵循協定,無論是否有任何其他活動產生(例如攻擊、延遲問題或罰沒),鏈都能被最終確定。 換言之,想要阻止區塊鏈被最終確定,必須以某種方式損毀三分之一的縂質押以太幣。 在 Gasper 中,還有另一道防綫來防範活躍性失效,它就是「怠惰逐減懲罰」。 如果鏈未能在 4 個時期内最終確定,該機制就會啓動。 未能積極證明主鏈的驗證者的質押將會逐漸被消耗,直到主鏈重新獲得三分之二的縂質押投票,確保活躍性失效只是暫時的。
分叉選擇
Casper-FFG 的原始定義包含一種分叉選擇演算法,該演算法規定:遵循包含具有最大高度的合理化檢查點的鏈
,其中高度被定義爲距離創世區塊的最遠距離。 在 Gasper 中,原始的分叉選擇規則已被棄用,轉而采用一種名為 LMD-GHOST 的更精密演算法。 請注意,在正常情況下,分叉選擇規則是不必要的 - 每個時隙只有一個區塊提議者,并有誠實的驗證者進行證明。 只有當網路非同步性過大或不誠實的區塊提議者模棱兩可的情況下,才需要分叉選擇演算法。 然而,當這些情況真的發生時,分叉選擇演算法是確保正確鏈的重要防禦措施。
LMD-GHOST 代表「最新訊息驅動的最貪婪、最重的可觀察子樹 (latest message-driven greedy heaviest observed sub-tree)」。 這是一個行話味很重的術語,用來定義這樣一種演算法:選擇具有最大累積證明權重的分叉作爲規範分叉(貪婪最重子樹),並且如果收到來自驗證者的多條訊息,則只考慮最新的訊息(最新訊息驅動)。 在將最重區塊新增到其規範鏈之前,每名驗證者都會使用此規則來評估每個區塊。