以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

Casper FFG:以實現權益證明為目標的共識協議_CAS

Author:

Time:1900/1/1 0:00:00

編者按:本文來自以太坊愛好者,作者:JuinChiu,Odaily星球日報經授權轉載。前言

2017年,VitalikButerin與VirgilGriffith共同發表了CaspertheFriendlyFinalityGadget。CasperFFG是受PBFT啟發并經過改良的共識協議,它雖然被設計得很簡潔,但其對安全性的證明卻不簡單。筆者將于本文解析CasperFFG的原理,讀者可以一窺權益證明共識所嘗試解決的問題及其設計理念。此外,CasperFFG是以太坊2.0的共識機制,理解其運作也能幫助研究員與開發者進一步理解以太坊2.0的設計。最后要特別感謝以太坊研究員Chih-ChengLiang提供重要素材并與筆者共同大量討論及給予回饋,沒有他的協助便不會有這篇文章的誕生。CasperFFG是怎么開始的?

以太坊對權益證明的研究最早可追溯至2014年的這篇文章。從此之后,以太坊研究員們便一直朝「實現基于PoS的共識協議」此一目標前進。PoS共識的設計是一個跨領域且相當復雜的問題,其包含計算機科學/經濟學/密碼學等方面。以太坊擁有區塊鏈生態系中最跨領域的團隊,對PoS的研究可以說是相當透徹。筆者于日前翻譯了一篇關于CasperFFG發展脈絡的重要文獻:CasperFFG與CasperCBC的瑜亮情結CasperFFG受到PBFT的啟發,并可以被視為改良后的PBFT——它繼承了PBFT的重要設計,同時添加新的機制與簡化若干規則。若讀者對PBFT感到陌生,可以參考筆者日前針對PBFT的解析文:若想搞懂區塊鏈就不能忽視的經典:PBFT簡而言之,PBFT是一個具有二輪投票機制的共識協議,且具有下列特性:許可制的:只有被「允許」的節點能參與共識。基于領袖的:只由主導節點負責「提案」,其他節點只負責投票,因此需要視域變換機制來節制不誠實的主導節點。基于通訊的:使用決定性的多數決來形成共識,而不是非決定性的算力解謎賽局。安全性重于活躍性的:無論網絡是否延遲,協議都能保證共識的安全性,這賦予協議即時敲定的特性。其中PBFT所具備的即時敲定性,或許是其受到Vitalik青睞的主要原因。Vitalik在熟讀PBFT后也特撰文總結,并于其中提出日后演變成CasperFFG的重要想法。CasperFFG的前身:砍押金的4條規則

安全團隊:“Fake_Phishing7945”地址將20枚ETH轉移至Tornado Cash:金色財經報道,據CertiK監測,在Etherscan上被標記為“Fake_Phishing7945”的0x649bE2b開頭地址已將資金存入0xA1625F9開頭的錢包地址,該錢包剛剛向Tornado Cash轉移了20枚ETH(約3.1萬美元)。

目前,0xA1625F9開頭地址仍然持有46.6枚ETH(約7.26萬美元)。[2023/1/17 11:16:21]

PBFT雖然具有即時敲定性,但并不具有抵抗共謀的能力,因此需要一個懲罰機制來遏止作惡的行為,只要節點做出逾越規則的行為,便必須承受經濟損失——透過經濟學法則來調節節點的行為正是PoS的設計理念。任何支付押金的節點,都可以加入網絡參與共識,無需任何人的許可,因此基于PoS模型的共識都是非許可制的。在這里要澄清一下「許可」這件事。我們會說他「非許可制」,是因為任何驗證節點可以加入和退出。但如果在他加入的時候,鏈要維持一個驗證節點清單,從這個角度看又有點是「許可制」。從PBFT的角度看,投票的驗證節點也必須從許可的清單中挑選。那么下一個問題是:哪些行為該被懲罰?Vitalik仔細推敲PBFT后發現,PBFT只需4條規則便能確保共識運作良好:最少的砍押金條件Vitalik在這篇文章中總結了這4條規則,并把它們稱為PBFT的「最少的砍押金條件」,任何違反此4條規則的行為都要被取走押金。這4條規則如下:1.提交:收到2/3節點的預備訊息后才能提交。2.預備:每個預備訊息只能指向某個也具有2/3節點預備訊息的高度,且這些預備訊息也必須都指向同一個高度。3.預備提交一致性:任何新的預備訊息只能指向最后一個已提交的或其他比其更新的高度。4.不重復預備:不能在同一個高度送出兩次預備這4條規則可以進一步簡化為2條:某驗證節點v必不可發出兩個相異的投票:<ν,s1,t1,h(s1),h(t1)>及<ν,s2,t2,h(s2),h(t2)>,且使下列任一條件成立:1.h(t1)=h(t2)驗證節點必不可對某高度發出兩個相異投票。2.h(s1)<h(s2)<h(t2)<h(t1)驗證節點必不可投出高度圍繞/被圍繞于另一投票高度的投票。這2條規則便是CasperFFG的最少砍押金條件。CasperFFG如何運作?-CasperFFG:檢查點樹-CasperFFG是一個將出塊機制抽象化的覆蓋鏈,只負責形成共識。出塊機制由底層鏈實現,而來自底層鏈的出塊稱為檢查點。檢查點組成檢查點樹,例如:把高度為0、50、100、150的區塊哈希值取出,形成一棵新的樹,如上圖所示。最底部的檢查點則稱為根檢查點。每個節點都必須對檢查點送出投票,投票的內容是由兩個不同高度的檢查點組成的連結,連結的起點高度較低,稱為源頭;連結的終點高度較高,稱為目標。節點會將投票廣播到網絡中,并同時收集來自其他節點的投票。其中若投票給某連結L的節點押金總和超過全部押金的2/3,則稱L為絕對多數連結,以s→t表示。例如上圖中,b1/b2/b3之間都形成了絕對多數連結,分別以b1→b2、b2→b3表示。由根檢查點開始,若兩個檢查點之間形成絕對多數連結,則該連結的目標進入「已證成」狀態;而在連結建立當下已處于「已證成」狀態的源頭,則進入「已敲定」狀態;根檢查點則預設為「已證成」及「已敲定」狀態。由此可知,每個檢查點在經過兩次投票后,會先「證成」而后「敲定」,幾乎等同于PBFT的「預備」與「提交」。例如在上圖右邊的分支中,r/b1/b2皆為「已敲定」狀態,只有b3為「已證成」狀態。那么驗證節點該對哪些檢查點建立連結?每個節點都必須遵循分叉選擇規則來選擇下一個要連接的檢查點,CasperFFG的規則是:選擇最高的「已證成」狀態的檢查點。-CasperFFG:驗證節點集合的大幅變化引起的分叉-由于CasperFFG能讓任何存入押金的節點成為驗證節點,因此驗證節點集合會動態地隨著時間變化。節點從退出網絡至取出押金需要等待一段期間,該等待期間稱為提領延遲。每個檢查點C都有其對應的朝代數,其定義為:從根檢查點開始至C為止的已敲定檢查點數量,例如上圖中,b3的朝代數為3。每一代檢查點都對應兩種驗證節點集合:前端驗證節點集合以及后端驗證節點集合。理論上每代檢查點的前端/后端集合會高度重復,但難保節點共謀造成前端/后端集合的大幅變化,若此情形發生,則出錯時可能會砍不到壞節點的押金導致安全性受到威脅。例如上圖中,驗證節點A可以退出,代表對C'分叉來說A退出了,可是對C分叉來說,A卻從來沒退出過。因此A有辦法繼續投舊鏈C,但新鏈C'砍不到A的押金。為了讓每代檢查點在出錯時都能確實歸責,因此需要縫合機制將檢查點的前端/后端集合「縫」起來,確保每個錯誤都必定能歸責。綜合以上,CasperFFG幾乎針對PBFT的所有方面都做出改進:經濟上的制約:PBFT是許可制的,它仰賴原本就存在信任基礎的組織共同運行協議;CasperFFG則是非許可制的,它引入最少砍押金條件,利用經濟損失的風險來制約節點的行為,節點之間不需要任何信任基礎也能共同運行協議,實現真正的去中心化。抽象的出塊機制:PBFT仰賴誠實的主導節點產生區塊并需要視域變換機制節制拜占庭節點;CasperFFG無需理會底層的出塊機制,只需負責形成共識。出塊抽象的好處是:底層鏈的出塊頻率不必與覆蓋鏈的共識頻率一致,如此可以增加效率并降低網絡的負擔。例如:每100個底層區塊只產生1個檢查點。流水線化的投票:PBFT具有<Prepare>、<Commit>、<View-change>等數種投票訊息;CasperFFG僅有<Vote>一種,且投票的內容并不是單一的區塊/請求,而是兩個形成連結的檢查點,這使CasperFFG能夠在不犧牲太多表達力的前提下變得簡潔許多。這些形成鏈式結構的檢查點,會于兩個不同高度分別經歷兩輪投票,由于每一輪投票都會敲定源頭與證成目標,因此共識能如流水線般不斷推進。相似的設計理念也出現于Hot-Stuff,有趣的是,該論文作者DahliaMalkhi還撰文比較Hot-Stuff與CasperFFG,其相似程度可見一斑。強健的抗攻擊性:PBFT不具備對遠程攻擊以及災難性崩潰的抗性;CasperFFG則具有特別的機制來防御這兩種攻擊:針對遠程攻擊,節點必須定期同步區塊及禁止回朔已敲定的區塊;針對災難性崩潰,CasperFFG則引入「離線溢金」機制來應對。關于這兩種攻擊的說明,筆者將于日后另撰文論述。由于CasperFFG相當簡潔,以太坊研究員一度實現了合約版本的CasperFFG:ethereum/casper然而,這個合約版的CasperFFG后來被棄用了!在合約版中原本假設投票能夠被并行處理,但在計算投票報酬有很多中間狀態,不同投票處理的先后順序將會影響最后得到的狀態,這代表并行化將無法達成共識。而要修正這個問題則必須要在合約與客戶端做大量修改,失去了「邏輯用合約實現,避免修改客戶端」的精神。因此,為了能夠更好地整合CasperFFG與其他優化提案,全新的以太坊2.0磅礴登場了。以太坊2.0中的CasperFFG

BW.io 將于5月11日聯合首發上線CSPR(Casper):據官方消息,BW將于香港時間5月11日上線CSPR(Casper),并于18:00開放CSPR充值;5月11日19:00開放CSPR/USDT交易對。Casper網絡是首個建立在Casper CBC區塊鏈上的實時權益證明區塊鏈。其設計目的是為了加速當今企業和開發人員對區塊鏈技術的應用,并通過不斷演化來滿足未來的用戶需求。

BW即將上線CSPR(Casper)充值&轉發曬圖,贏取50,000Cspr+10,000USDT獎勵活動。登陸BW.io,查看更多幣種上新信息。[2021/5/8 21:37:55]

-以太坊2.0:分片-以太坊2.0是一個基于EVM并整合CasperFFG與眾多優化提案的分布式帳本。以太坊2.0除了想實現PoS,還試圖將每秒交易數擴展到10000筆的量級,使區塊鏈成為如網際網絡一般的基礎設施,并且讓任何存入32個以太幣的押金的節點都能成為驗證節點。分片即是為了增加可擴展性的重要設計,也是以太坊2.0最重要的目標。分片就是分工合作,我們可以用一個簡單的例子來說明分片的概念:2人寫2題作業,2人各寫不同的1題再合起來一定比2人都各寫完2題來得更有效率。目前的以太坊只有1條區塊鏈,所有節點必須各自處理所有交易;在以太坊2.0中,網絡會分成1024個片,每片分別運行1條分片鏈,它們將各自處理一部分的交易后再將結果交由1條信標鏈統整。因此,以太坊2.0預計會有1條信標鏈以及1024條分片鏈。值得注意的是:片是一個抽象層,并不特指某一群節點。為了更了解這個概念,筆者擴充一下上文的例子:假設寫作業有找答案及抄答案兩個步驟,那么A/B2人寫2題作業,由讀速快的A找第1題答案,讀速慢的B找第2題答案;由手速快的B抄第1題答案,手速慢的A抄第2題答案。如此,A/B便可以依照讀/寫的快/慢來分別負責不同題目的不同步驟。同樣地,在以太坊2.0中,除了有1024個片,還會有1024個持續委員會與1024個交聯委員會:每個片都會對應1個持續委員會與1個交聯委員會,如同上例中每個題目可以依照讀/寫的步驟來對應不同的個體。使用鏈上隨機數決定各委員會的分派,如同上例中依照讀/寫的快/慢來分派題目。持續委員會負責維護分片鏈與產生分片區塊、交聯委員會負責維護信標鏈與產生信標區塊,如同上例中讀速快的負責找答案、手速快的負責抄答案。各區塊的出塊節點也交由鏈上隨機數決定。換句話說,每個驗證節點都需維護1條唯一的信標鏈及1條所屬片的分片鏈,也都會隸屬于與該分片對應之1個交聯委員會與1個持續委員會。CasperFFG是運行于以太坊2.0之上的覆蓋鏈,這個覆蓋鏈同樣由檢查點構成,各檢查點之間的跨度稱為時期,1個時期切成64個時段,每個時段對應16個片,因此每片在每時期中都有對應的時段,并只能在輪到自己時才廣播其對檢查點的投票,且每分片只能1個時段中投出1票——也就是說,各分片需要先對投票內容形成共識,不過各片內部形成共識的方法仍尚未定論,近期最新的提案是使用聚合簽名。另外,CasperFFG在以太坊2.0中的分叉選擇規則是最新消息驅動GHOST。理論上,CasperFFG于每個檢查點的投票應該要與底層出塊機制的投票分開;實際上,以太坊2.0的底層投票內容會同時包含頂層投票內容,如同頂層投票搭了底層投票的便車,借此優化效能。如此在每個時期結束時,每個片都會收到所有其他片在該時期的投票,CasperFFG活躍性得以維持。結語

以太坊混幣平臺Tornado.cash已完成信任設置儀式:金色財經報道,以太坊混幣平臺Tornado.cash已完成了其信任設置儀式,邁出了邁向“完全去信任(trustless)”的關鍵一步。加密領域中最著名的信任設置儀式來自Zcash。 2016年10月,Zcash通過涉及六名參與者的儀式,產生了其第一套“公共參數”。[2020/5/14]

CasperFFG是一個實現權益證明的大膽嘗試,它在以太坊2.0的表現值得期待。然而以太坊2.0還有許多難題留待解決,例如輕節點/鏈上隨機數生成器/跨片交易等等。與此同時,許多以太坊2.0的競爭者也提出新的共識協議與分片技術,例如RapidChain/Harmony/Chainspace等等。CasperFFG以及以太坊2.0是經過眾多研究員/開發者不斷激蕩與迭代的重要結晶,但一直以來都缺乏提供系統性論述的中文材料,希望此文可以幫助中文世界的研究員/開發者快速理解CasperFFG與以太坊2.0的精要。

動態 | Zcash社區決定打破210萬ZEC獎勵規定 將繼續資助ZEC的開發:根據Zcash基金會近日宣布最新的投票結果,Zcash社區已經同意新的挖礦獎勵分配方法,將繼續資助其隱私加密資產ZEC的開發。此前根據Zcash原有計劃,礦工會拿出部分出塊獎勵捐贈給開發者,以支持他們繼續對ZEC進行開發,而支持資金的上限為210萬ZEC。原本該資助計劃應已達到規定上限,但社區發起最新投票,考慮是否繼續這一資助計劃。根據投票結果顯示,該資助計劃將會繼續,Zcash的挖礦獎勵中20%給基金會,礦工獲得剩余的80%。而Zcash的開發公司ECC獲得基金會中7%的挖礦獎勵,基金會實際拿5%,其余8%挖礦獎勵用于捐贈給開發人員。

此前,關于是否繼續資助ZEC的開發一事社區進行了長達數月的討論,對于ECC和Zcash基金會來說,繼續開發Zcash并且為其提供開發資金可以幫助他們雇傭更多頂級人才,尤其是在它面臨國際監管機構越來越多的審查的時候。然而,對于其他人來說,投票意味著違背了在ZEC推出時的承諾,在最開始的時候,創始人的獎勵規定會被限制在210萬ZEC(總供應量的10%)。為了遵守這個要求,在2019年7月創始團隊成員還分叉了Zcash,創造了Ycash。(CoinDesk)[2020/2/2]

動態 | SoftBank、Synchronoss和TBCASoft合作開發基于區塊鏈的移動支付服務:Thefastmode消息,SoftBank,Synchronoss Technologies和TBCASoft已經合作開發了一個PoC,用于基于Rich Communication Services(RCS)全球消息傳遞標準和TBCASoft跨運營商區塊鏈平臺的新型跨運營商移動支付服務。CCPS區塊鏈API的靈活性使收件人能夠使用基于RCS的消息應用程序或傳統消息服務(如SMS或移動電子郵件),通過同一國家、地區的RCS錢包應用程序接收個人對個人(P2P)資金轉帳或海外。[2018/9/25]

Tags:CASASPSPECasperSHIBACASHBabyKaspaSPEPEMOON幣CasperLabs

萊特幣最新價格
最重鏈規則的缺陷:“公共祖先區塊”的“王儲之爭”_區塊鏈

編者按:本文來自Conflux中文社區,作者Conflux研究組,Odaily星球日報經授權轉載。上一期《最重鏈規則的優勢與隱患》,我們介紹了最重鏈規則在縮短確認時間這件事情上的強大潛力.

1900/1/1 0:00:00
周期觀察:新周期?比特幣未來的四種可能_比特幣

歷史總是驚人的相似。今年比特幣的行情與全球宏觀經濟呈現出一定的負相關性,像極了2013年的比特幣。彼時,比特幣進入大眾視野,迎來了第一次大牛市.

1900/1/1 0:00:00
加密世界的信息不對稱:也是機會所在_區塊鏈

作者|Jonathanjoseph譯者|“藍狐筆記”社群SIEN前言:由于投機和泡沫,加密世界一直被主流媒體和人群誤解,只有少數對加密領域有了解的人們才看好它的技術潛力,以及它能達到的高度.

1900/1/1 0:00:00
三大加密貨幣專有技術指標顯示:比特幣價格走勢仍在安全區間_比特幣

編者按:本文來自鏈內參,編譯:內參君,Odaily星球日報經授權轉載。技術指標一直在幫助交易員和投資者分析過去,并預測未來的價格趨勢和模式。因此它們受到傳統金融市場參與者的歡迎.

1900/1/1 0:00:00
收購JEX,幣安思危?_JEX

事件2019年9月2日,幣安宣布全資收購JEX平臺的團隊和業務,JEX平臺將以BinanceJEX的品牌成為Binance的子平臺,為幣安的用戶提供期權、期貨和其他創新衍生品的專業服務.

1900/1/1 0:00:00
蔡維德:以戰略的眼光看待穩定幣競爭_區塊鏈

原創:蔡維德\t區塊鏈產業專委會2019-08-06近日,區塊鏈產業專業委員會會長蔡維德受邀參加,針對近期區塊鏈行業熱點做出解答.

1900/1/1 0:00:00
ads