原文作者:@LuozhuZhang
原文作者:@LuozhuZhang
原文編譯:0x711,BlockBeats眾所周知,PoS 以太坊的共識協議是「Gasper」

,它是在LMD-GHOST(分叉選擇規則)之上應用Casper FFG(最終性確定工具)構建的。所以要想搞清楚完整的以太坊共識協議,就必須了解這兩個部分(Casper + Ghost)。此外,這些設計真的很有趣。我打算梳理一下這兩個協議的背景和演進,以及它們簡單的工作流程。
1.Nakamoto-inspired(Peercoin)
2.PBFT-inspired(Tendermint、Casper FFG)
3.CBC Casper
PoS 共識算法的三大流派如下:Nakamoto-inspired PoS 是一種基於鏈的算法,模擬在PoW 中挖礦。它通過偽隨機選擇驗證者來創建新區塊。其在2012 年的「Peercoin」論文
中首次提出,peercoin 是基於權益證明共識的第一個加密貨幣。PBFT-inspired(即BFT-style)PoS 基於多年對拜占庭容錯(尤其是pBFT)的研究。在2014 年的「Tendermint」論文
中首次提出。一般來說,這些算法會選擇一個代表賬本規範交易的唯一鏈。
Casper 直接繼承了BFT 算法(更精確的是pBFT),做了一些修改。 CBC Casper 是由@VladZamfir 提出的,有一些很好的資料可以更充分地解釋它。
CBC Casper 介紹視頻雖然以太坊最終選擇了Casper FFG 而不是CBC Casper,但對CBC Casper 的研究也很有價值,比如滿足以太坊需求的分叉選擇規則「LMD-GHOST」。 Casper FFG 由V 神和Virgil Griffith在2017 年提出
,引入了justification 和finalization 的概念,並引入了slashing conditions 和動態驗證者機制,這些都是非常重要的特性。

Casper FFG 用於保證「最終性」(也就是安全性),這在PoW 中是不存在的。簡單來說,每個驗證者都會對檢查點進行投票,經過兩輪投票後,檢查點將被「最終確定」(第一輪為驗證,第二輪為最終確定)。

所有最終確定的檢查點都成為規範鏈(區塊鏈歷史的一部分),所有忠誠節點都同意他們永遠不會逆轉這條鏈。 「最終檢查點」之後的區塊可以隨意分叉,但之前的區塊不允許分叉。
Casper FFG 除了通過「最終性」來保證區塊鏈安全外,還引入了slashing 條件來懲罰所有違反規則的驗證者(這在傳統BFT 算法中是做不到的),所有違反規則的驗證者都將被跟踪和懲罰。
除此之外,Casper FFG 是無需許可的(傳統的BFT 算法是需要許可認證的),pBFT 通過一個列表來維護共識,只有列表中的人才能成為參與者。 Casper FFG 構建了動態驗證者機制,所有驗證者可以自由進出。 Casper FFG 用於保證「最終性」和「安全性」,負責確認區塊的最終狀態,但不負責創建新區塊,所以它需要底層區塊鍊和分叉選擇規則。以太坊使用的分叉選擇規則是基於GHOST,該規則最早在2013 年的一篇論文
中提出。 2017 年,@VladZamfir 在CBC Casper 工作時,他嘗試將GHOST 與Casper 結合,產生了一個變種「LMD-GHOST」。

區塊鏈允許分叉,當出現不同的分支時,應該選擇哪條鏈繼續添加後續新區塊,需要分叉選擇規則。 PoW 使用的是最長鏈規則。思路是鍛造最長的鏈需要最多的算力,所以這條鍊是最可信的。所以當所有礦工添加新區塊時,他們會默認在最長的鏈上添加。

GHOST 的思路與此類似,其選擇票數最多的鏈而不是高度最長的鏈,LMD-GHOST 做了一些修改,只考慮最近的投票(即所謂的「Least Message Driven」,LMD)。LMD-GHOST 的規則
很簡單:
- 從創世區塊開始;
- 每次有分叉,選擇票數多的分支;
- 重複,直至找到block leaf;

- 返回鏈的頭部;

這是Casper FFG 和LMD-GHOST 的演變以及它們如何工作,它們共同保證「安全」+「活性」。 LMD-GHOST 允許提議者隨時創建新區塊,新區塊將按照分叉選擇規則(即活躍度)添加到權重最大的鏈上。雖然Casper FFG 將根據所有驗證者的投票(兩輪,超過2/3,按存款)最終確定一個規範鏈。所有忠誠節點默認接受規範鏈,從而獲得安全。原文鏈接原文鏈接


