當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 前言 以太坊針對 PoS 共識模型的研究最早始于2014年,這些研究后來演變成目前廣為人知的 Casper the Fridenly Finality Gadget(FFG) / Cor

前言

以太坊針對 PoS 共識模型的研究最早始于2014年,這些研究后來演變成目前廣為人知的 Casper the Fridenly Finality Gadget(FFG) / Correct by Construction(CBC)兩種共識模型,它們分別由兩個不同的團隊開發(fā)且存有不少差異。Vitalik 用一系列推文簡述了從 2014 以來 Casper 的開發(fā)脈絡(luò),由于中文社群仍缺乏針對 Casper 開發(fā)路線相關(guān)的總結(jié),因此譯者特將此系列推文翻譯成中文并且補上一些注解,希望可以成為開發(fā)者或研究員在學(xué)習(xí) Casper 時的重要文獻,并期望讀者對 Casper 設(shè)計理念有更直覺的理解。

為了避免讀來生硬,建議讀者先大略掌握 PBFT / Casper FFG / GHOST 的重要概念,PBFT 的部分可以參考譯者的這篇文章:若想搞懂區(qū)塊鏈就不能忽視的經(jīng)典:PBFT。最后要特別感謝以太坊基金會研究員梁智程(Chih-Cheng Liang)提供諸多素材與協(xié)助校閱。

以下正文開始。

無利害關(guān)系問題與遠程攻擊

以太坊的權(quán)益證明研究始于 2014 年 1 月的 Slasher 協(xié)定。雖然 Slasher 演算法并不是非常理想,但它引入了一些重要觀念,特別是利用罰金來解決「無利害關(guān)系問題(Nothing-at-Stake Problem)」。然而,我所使用的罰金相當少,單只取消投票獎勵。Vlad Zamfir 于 2014 年中加入了,他迅速引入驗證者必須押金的方法。押金是比獎勵還大的數(shù)字,做出錯誤的行為將會使押金被取走(這里是 Vlad 的覆述)。

我們花了 2014 下半年的大部分時間試著解決「遠程攻擊(Long-Range Attack)」,攻擊者可以將他們的押金從主鏈提領(lǐng)出來,并且形成另一條具有更多簽名的攻擊鏈,如此欺騙新加入的節(jié)點,讓他們以為攻擊鏈是一條主鏈。如果攻擊鏈與主鏈分叉的時間點距離當前相當近,攻擊鏈不會造成問題,因為驗證者若在兩條鏈上同時對兩個互相抵觸的訊息簽名,則這個簽名可以當成懲罰驗證者的證據(jù)來沒收押金;但是若分叉發(fā)生在很久之前(因此被稱為遠程攻擊),攻擊者可以取出押金以避免被沒收。

我們最后得出:遠程攻擊是無法避免的,原因大致跟 PoW 擁護者所說的差不多。然而,我們沒有接受他們的結(jié)論。因為我們發(fā)現(xiàn):我們可以引入兩個額外的安全假設(shè)來解決遠程攻擊:1.節(jié)點至少每 4 個月要登入一次(押金要花 4 個月提領(lǐng));2.節(jié)點直接拒絕 4 個月以上的回溯。

這對 PoW 擁護者來說是個令人厭惡的肉中刺,因為這感覺是一個「信任假設(shè)」:每一次同步區(qū)塊時,你必須先信任某個來源以取得區(qū)塊鏈。但是對我們這些齷齪的主觀主義者來說,這不是大問題:不管在哪一種情況,你都需要某個可信來源告訴你區(qū)塊鏈所使用的共識規(guī)則(也別忘了軟件更新),所以 PoS 所需的額外信任并不大(這里是 Vlad 的覆述)。

確立了押金及罰金的使用后,我們接下來要決定它們「是什么」。我們知道我們希望的是「經(jīng)濟敲定性」,驗證者將會基于以下方式對區(qū)塊簽名:一旦一個區(qū)塊被敲定,如果要敲定一個沖突的區(qū)塊,則必須要有大部分的驗證者簽出與自己先前訊息沖突的訊息。但對于這樣的訊息,可以被鏈偵測并懲罰。

我寫了一篇又臭又長又離題的「賭注共識」文章。賭注共識是一個有趣的提案:驗證者下注哪一個區(qū)塊會被敲定,而賭注決定了哪一個鏈會形成共識。PoW 也具有這樣的性質(zhì),因為挖礦是一種賭注。如果你賭注在對的鏈上,你會獲得獎勵;如果你賭注在錯的鏈上,你失去挖礦成本。但在 PoS 我們可以有更高的賠率:驗證者的賠率一開始很低,但是隨著驗證者看到彼此對于某個區(qū)塊的信心逐漸增加,所有人的賠率都會平行地指數(shù)上升,直到所有人都賭注同一個區(qū)塊,這就是敲定。

Casper CBC

同時,Vlad 開始大量研究機制設(shè)計,特別是讓 Casper 更能抵抗寡占。我們也開始研究受到古典拜占庭容錯(BFT)啟發(fā)的共識,例如 Tendermint。Vlad 認為古典 BFT 并沒有說服力(他特別不喜歡 BFT 當中的硬門檻,例如 2/3 的 PBFT 節(jié)點必須為誠實節(jié)點),他想透過一個他稱為「正確建構(gòu)(Correct by ConstrucTIon, CBC)」的方法嘗試重新發(fā)明 BFT( Vlad 的原話:連結(jié) 1 / 連結(jié) 2 / 連結(jié) 3)。

正確建構(gòu)的哲學(xué)與傳統(tǒng) BFT 相當不同的點在于「敲定」是完全主觀的。CBC 的哲學(xué)是,驗證節(jié)點對訊息簽名,且若他們簽了與他們先前的訊息相抵觸的訊息,則他們必須提交一個「辯護(JustificaTIon)」以證明他們投票的新訊息與舊訊息相比之下有較多的支持,以取得「轉(zhuǎn)換」的權(quán)利。

為了偵測敲定性,節(jié)點尋求訊息的模式。這些訊息可以證明,多數(shù)驗證節(jié)點以一種方式可靠地對某區(qū)塊 B 投票,且偏離 B 必須大部分驗證者非法轉(zhuǎn)換投票。例如,若所有節(jié)點投給 B,則所有節(jié)點都投給「包含所有人對 B 的投票的區(qū)塊」,這證明了他們支持 B 且知道其他所有人都支持 B,因此他們不會有轉(zhuǎn)換的合法理由。

最后我放棄了賭注共識,因為這個方法似乎有根本上的風(fēng)險。我也回頭試著理解 PBFT 是怎么運作的。雖然這花了一點時間,但過了幾個月后我搞懂了。

Casper FFG

我試著簡化了 PBFT,將其放入?yún)^(qū)塊鏈的脈絡(luò),并把它描述為 4 個「砍押金條件(Slashing CondiTIon)」,這些規(guī)則闡述哪些訊息的組合是自我抵觸因此違反規(guī)則的。我定義了決定區(qū)塊是否敲定的規(guī)則并且證明了最關(guān)鍵的「安全性(Safety)」與「可行活躍性(Plausible Liveness)」:1.若某區(qū)塊被敲定了,則無法在不少于 1/3 驗證者違反砍押金條件下敲定另一個抵觸的區(qū)塊;2.若某區(qū)塊被敲定了,2/3 誠實的驗證者總是可以合作以敲定新的區(qū)塊。因此只要有 2/3 誠實的驗證者,演算法就不會推翻之前的決定(安全性)或卡?。ɑ钴S性)。最后我將砍押金條件從 4 條簡化成 2 條,并發(fā)展成 Casper FFG —— 被設(shè)計成為任何 PoW/PoS/ 其他類型區(qū)塊鏈提供敲定性的覆蓋層。

敲定性是一個非常重要的進展:一旦區(qū)塊被敲定,無論網(wǎng)絡(luò)怎么延遲都能保證安全(不像 PoW 需要多個區(qū)塊確認),而且回溯區(qū)塊需要超過 1/3 驗證者作弊,且可被檢測出來且并銷毀押金。因此,回溯敲定性的成本可能會高達數(shù)億美元。透過不同的方式,Casper CBC 以及 FFG 都達到了這個特性。

要注意的是:Casper CBC 和 FFG 都是抽象的覆蓋層,他們都需要建立在某個現(xiàn)有的分叉選擇規(guī)則之上。用大白話講,Casper CBC 是敲定覆蓋層(上層)適應(yīng)分叉選擇規(guī)則(下層);而 Casper FFG 是分叉選擇規(guī)則(下層)適應(yīng)敲定覆蓋層(上層)。

FFG vs CBC

Vlad 最初對分叉選擇規(guī)則的偏好是「最新訊息驅(qū)動 GHOST(Latest Message-Driven GHOST, LMD GHOST)」 ——一種針對 PoS 的改版 GHOST;而我最初的偏好是先采取「混合式 PoS(Hybrid PoS) 」,使用 PoW 作為基底的分叉選擇規(guī)則。

在最初版的 FFG 當中,PoW 將會逐個區(qū)塊地運作一條鏈,而 PoS 將會緊隨在后敲定區(qū)塊;Casper CBC 從一開始就是完整的 PoS。同時,Vlad 跟我各自提出了共識誘因的理論。

這里有一個非常重要的區(qū)別是「唯一可歸責(zé)錯誤(Uniquely Attributable Faults)」——你可以知道出錯時誰應(yīng)該負責(zé)而被懲罰,以及「非唯一可歸責(zé)錯誤(Non-uniquely Attributable Faults)」——一個錯誤可能是多方中的一方造成的。一個非唯一可歸責(zé)錯誤的經(jīng)典案例是離線 vs 屏蔽(Censorship),也稱為「言者-聽者錯誤等效性」(譯按:到底是言者沒講,還是聽者沒聽到,無法判定是誰的錯)。

懲罰唯一可歸責(zé)錯誤(Casper FFG 砍押金條件)是容易的;懲罰非唯一可歸責(zé)錯誤則是困難的。如果你無法分辨區(qū)塊停止敲定是因為少數(shù)的節(jié)點離線或是因為多數(shù)的節(jié)點正在屏蔽少數(shù)會怎么樣?針對這個議題目前有三種解法:1.輕微地懲罰兩邊;2.嚴厲地懲罰兩邊(Vlad 的偏好);3.將鏈一分為二,各自懲罰兩條鏈的其中一邊,且讓市場決定哪條鏈較有價值(我的偏好)?;蛘呖梢詤⒖嘉覍懙倪@篇。

2017 年 11 月,我把 Casper FFG 砍押金條件以及對由于「平方溢金(QuadraTIc Leak)」(譯按:隨著離線時間增加,對押金的少量扣減會平方增加)導(dǎo)致的 1/3 節(jié)點離線的問題的解法寫成論文。

當然,我非常清楚訴諸社交層面來解決 51% 攻擊并不是很好,因此我開始尋求至少能讓鏈上節(jié)點能自動偵測「合法鏈」與「攻擊鏈」的方法。這是一個早期的想法。這想法還不錯,但是仍不是最理想的,除非網(wǎng)絡(luò)毫無延遲,否則它只能保證節(jié)點之間嫌疑分數(shù)差異的上限,而并非所有節(jié)點完全同意。

同時,我對 Vlad 的模型的主要批判與「泄氣攻擊(Discouragement Attacks)」有關(guān),攻擊者可以有效威脅要制造 51% 攻擊來造成所有人損失金錢,因而驅(qū)使所有其他人退出,因此只用極低的成本便能主導(dǎo)鏈。Vlad(以及 Georgios Piliouras)開始建立經(jīng)濟模型以評估在他的模型之下進行上述攻擊的實際成本。

值得一提的是,上述所有的議題并非為 PoS 獨有。事實上在 PoW 中,人們傾向直接放棄且假設(shè)預(yù)防 51% 攻擊幾乎不可能,且 51% 攻擊是必須不計代價避免的末日。但是,如同以太坊的傳統(tǒng),Vlad 與我誤把「有野心的」這個詞當成贊美,而繼續(xù)研究減緩以及恢復(fù) 51% 攻擊的不同方法。

2018 年初,Vlad 在 CBC 的研究開始快速推進,包括安全性證明的進展。—看這個史詩般的 2 小時簡報以跟上 2018 年 3 月為止的研究進度同時,Casper FFG 也有了重大進展,以合約的方式實現(xiàn)的決定使開發(fā)工作變得容易。2017 年 12 月 31 日,我們發(fā)布了 Python 版的測試網(wǎng)。

Casper 與分片開發(fā)路線的整合

不幸的是,F(xiàn)FG 的開發(fā)慢了下來。以合約實現(xiàn) FFG 雖然把一些事情變得更容易,卻讓未來要從 EVM 轉(zhuǎn)到 EWASM 以及從單鏈 Casper 轉(zhuǎn)到分片 Casper 的工作變得更困難。此外,團隊的研發(fā)工作被分成「主鏈 Casper」和「分片鏈 Casper」,可想而知在這兩個團隊之間產(chǎn)生了大量不必要的重復(fù)工作。

2018 年 6 月,我們做了一個重大的決定:放棄以合約實現(xiàn)的 Casper FFG,取而代之的是追求以一條獨立鏈運作的 Casper,如此的設(shè)計將使分片變得更加容易。

完全 PoS 的轉(zhuǎn)換導(dǎo)致我開始更認真思考 PoS 的分叉選擇規(guī)則。Casper FFG 與 CBC 都需要全部的驗證節(jié)點在每個「時期(Epoch)」投票以敲定區(qū)塊,這代表每秒將會數(shù)以萬計的簽章傳向每個驗證節(jié)點。BLS 簽名聚合使其在計算成本上是可行的。但是我想試著利用這些額外的簽名以讓鏈更加穩(wěn)固,在幾秒內(nèi)取得等同于「100 個確認」的安全性。這里是我初步的想法(連結(jié) 1/ 連結(jié) 2)。

然而,所有這些分叉選擇的方法都有一個缺點:它們都將驗證節(jié)點分為「見證節(jié)點(Attesters)」與「出塊節(jié)點(Proposers)」,而這些負責(zé)產(chǎn)生區(qū)塊的出塊節(jié)點擁有過大的權(quán)力。這樣做不太好,主要是因為它需要我們有一個很安全的鏈上隨機數(shù)生成器以公平地挑選出塊節(jié)點,而鏈上隨機數(shù)生成器很困難,而且一些簡單的方法例如 RANDAO 似乎有愈來愈多問題。Justin Drake 跟我開始解決這個問題:Justin 使用 VDF,這是一個輸出具有確定性與可驗證的函數(shù),但需要大量不可平行化處理的序列時間進行運算,使提前竄改變得不可能;而我對 Vlad 教妥協(xié),使用基于 GHOST 的分叉選擇規(guī)則以大幅減少對出塊節(jié)點的依賴,允許在惡意出塊節(jié)點大于 90% 且誠實見證節(jié)點大于 50% 的狀況下,鏈仍能不受干擾地成長。Vlad 很開心,但還沒開心到極點:他偏好 LMD GHOST,而我偏好 IMD GHOST。

大約同一時間,我也試著想出一個方法來「流水線化」(Pipelining)Casper FFG,將敲定時間從 2.5 個時期減至理論上最佳的 2 個時期。我對 RPJ 分叉選擇規(guī)則(后來更名為 IMD GHOST)能夠很好地相容于 FFG 這件事感到開心。它還有一個很重要的「穩(wěn)定性」:分叉選擇是一個對未來分叉選擇的好預(yù)測。這看起來很明顯,但我們卻很容易做出不具有這種特性的分叉規(guī)則。最近的進展是:LMD GHOST 可能由于技術(shù)細節(jié)只能在 2 回合中有 25% 容錯,但是 IMD GHOST 仍可以有完整的 33% 容錯(目前沒有文件)。(譯按:在譯文完成時,以太坊 2.0 采用的是LMD GHOST)

FFG 與 CBC 之間主要的取舍是:CBC 似乎有較好的理論性質(zhì);而 FFG 似乎比較容易實現(xiàn)。同時,VDF 也取得了許多進展。

還有,我最近決定研究 Leslie Lamport 1982 年的老論文,在這邊論文中他提出了一個共識演算法:若假設(shè)所有節(jié)點,包括觀察者,皆在線上且具有很低的網(wǎng)絡(luò)延遲,則具有 99% 容錯。網(wǎng)絡(luò)延遲的假設(shè)按理來說會使其不適合作為主要的共識算法。然而,它可以在某一個情境運作相當良好:作為 51% 屏蔽偵測的嫌疑分數(shù)替代方案:基本上,如果 51% 共謀團體開始屏蔽區(qū)塊,其他驗證節(jié)點以及一般節(jié)點可以偵測到屏蔽的發(fā)生,并且使用 99% 容錯的共識演算法來達成屏蔽正在發(fā)生的共識,并協(xié)調(diào)少數(shù)分叉。關(guān)于這個研究的長期目標就是要盡可能減少對社交層的依賴,并將破壞鏈穩(wěn)定的成本最大化,使其利用社交層回溯的可能性最小化。

還有什么?FFG 的部分還有形式化證明,規(guī)格的完善,以及實現(xiàn)的持續(xù)進展(已經(jīng)有超過 3 個團隊開始著手了?。⒅塾诎踩把杆俚拈_發(fā)。CBC 的部分也差不多。接下來讓我們勇往直前吧!
來源;以太坊愛好者

?
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉