本文來自波卡百科(Polkadot Wiki)的[基礎知識]部分。
共識是對一種共同的狀態達成一致的方法。為了使區塊鏈的狀態繼續創建并向前推進,網絡中的所有節點都必須一致并達成共識。這是去中心化網絡中的節點能夠保持彼此同步的方式。如果一個去中心化的區塊鏈中節點沒有共識,就無法確保一個節點相信的真實狀態被其他節點所共享。共識的目的是在參與者都有自己“主觀觀點”的網絡中,提供關于狀態的“客觀觀點”。它是這些節點進行通信并達成一致的過程,并且能夠生產出新的塊。
現在工作量證明(PoW)和權益證明(PoS)已經被用于表示區塊鏈機制的一種簡寫,但這并不能說明全部情況。PoW 是一種對區塊生產者達成一致的方法,也是完全的中本聰共識(Nakamoto Consensus)的一部分,該共識還包括鏈選擇算法(比特幣中的最長鏈機制)。類似地,PoS 是一組用于選擇驗證人節點的規則,它并不是特指一個鏈的選擇規則,或者一個鏈如何達到最終性(finality)。通常在節點之間,PoS 算法與拜占庭協議算法是互相結合的。例如,Tendermint 是一個實用的拜占庭容錯算法,它使用 PoS 作為其驗證人節點的選擇方法。
盡管在達成去中心化共識方面簡單而有效,但使用中本聰共識的工作量證明消耗了海量資源,而且還沒有經濟性或可證明的最終性,而且缺乏有效的措施來抵制壟斷聯盟。
波卡生態概念板塊今日平均漲幅為0.87%:金色財經行情顯示,波卡生態概念板塊今日平均漲幅為0.87%。26個幣種中14個上漲,12個下跌,其中領漲幣種為:EWT(+11.63%)、CELR(+7.24%)、KLP(+6.37%)。領跌幣種為:OCEAN(-4.54%)、DOCK(-3.69%)、DOT(-2.81%)。[2021/8/22 22:29:52]
運行 PoW 的純中本聰共識區塊鏈只能實現概率最終性的概念,然后去達成最終的共識。概率最終性是指在網絡和參與者的某些假設下,如果我們看到創建在給定區塊上的幾個區塊,就可以估計該區塊終結的概率。最終的共識意味著,在未來的某個時刻,所有節點都將同意一組數據的真實性。這一最終共識可能需要很長時間,也無法提前確定需要多長時間。然而,諸如 GRANDPA 或 Ethereum 的 Casper FFG 這樣的最終性工具的設計是為了對區塊的最終性提供更有力和更快的保證,特別是,在拜占庭協議的某些過程發生后,它們永遠無法恢復。不可逆共識的概念就被稱為可證明的最終性。
在 GRANDPA 文檔中,它被這樣表述:
如果協議中的 oracle A 在一段未指明的時間后向所有參與者返回相同的值,那么我們稱它是最終一致的。
波卡周報:Kusama Runtime已成功升級v9030,目前Shell運行穩定:波卡周報顯示,Kusama理事會已經投票通過299號motion(將Kusama的runtime升級到9030)并進入全民公投,之后技術委員會對此進行了加速投票,已經在本周五結束投票!目前Kusama的runtime已升級到v9030。這個升級為平行鏈添加了一些必要的更改。此版本升級后,Shell平行鏈運行穩定。[2021/5/31 22:57:52]
混合共識
當我們談到 Polkadot 的共識協議時,大家經常看到兩個縮略詞,GRANDPA 和 BABE。我們同時提到了這兩個詞是因為 Polkadot 使用的是混合共識。混合共識可以將最終性工具從區塊生產機制中分離出來。
這是一種在 Polkadot 中獲得概率最終性(總是可以產生新區塊的能力)和可證明最終性(在沒有逆轉機會的規范鏈上具有普遍一致性)好處的方法。它還避免了每種機制的缺點:概率最終性中不知不覺地遵循錯誤分叉的可能,以及可證明最終性中“暫停”(無法產生新的塊)的問題。通過結合這兩種機制,Polkadot 可以快速地生成區塊,而較慢的最終性機制則可以在單獨的進程中運行以完成區塊,而不必承擔交易處理較慢或暫停的風險。
波卡隱私項目Phala與Cosmos存儲項目Bluzelle達成合作:Cosmos生態分布式存儲數據項目Bluzelle宣布與波卡隱私項目Phala Network達成技術合作,Phala的數據隱私產品Web3 Analytics(獲得Web3基金會資助)將采用Bluzelle作為鏈下存儲工具之一。[2020/11/5 11:43:40]
混合共識在過去也曾被提起過。值得注意的是,在以太坊改進建議 EIP 1011 中,曾提議將混合共識作為以太坊向的 PoS 過渡的一步(現已失效),該建議指定了 Casper FFG。
BABE(Blind Assignment for Blockchain Extension)是在驗證節點之間運行并確定新塊生產者的區塊生成機制。BABE 作為一種算法可以與 Ouroboros Praos 相比較,在鏈選擇規則和 slot(驗證人插槽)時間調整方面有一些關鍵的區別。BABE 根據 stake 和使用 Polkadot 隨機循環機制將區塊生產的 slot 分配給驗證人。
Polkadot 中的驗證人將參與每個 slot 的抽簽,通過這個抽簽告訴驗證人是否是該 slot 的區塊生成候選人。Slot 是不連續的時間單位,通常為 6 秒。由于這種隨機機制,多個驗證人可能是同一個 slot 的候選者。其他時候,一個 slot 可能是空的,從而導致區塊時間不一致。
波卡生態概念板塊今日平均跌幅為 -1.55%:金色財經行情顯示,波卡生態概念板塊今日平均跌幅為 -1.55%。26個幣種中9個上漲,17個下跌,其中領漲幣種為:KLP(+14.37%)、OM(+13.78%)、MXC(+9.27%)。領跌幣種為:PHA(-17.86%)、KSM(-9.91%)、OAX(-9.84%)。[2020/10/28]
一個 slot 有多個驗證人
當在一個給定 slot 中有多個驗證人是區塊生成候選者時,所有驗證人都要生成一個區塊并將其廣播到網絡中。此時這是一場比賽。區塊最先到達大部分網絡的驗證人會獲勝。根據網絡拓撲和延遲,這兩個鏈將繼續生產區塊,直到最終確定啟動并切斷分叉。請參閱下面的“分叉選擇”了解其工作原理。
Slot 中沒有驗證人
當隨機抽簽滾到足夠低的位置,沒有驗證人獲得區塊生產的資格時,一個 slot 可能沒有區塊。我們通過在后臺運行二級循環式驗證人選擇算法來避免這種情況。通過該算法選擇生成塊的驗證人總是可以生成區塊,但如果同一 slot 也從 VRF 選擇的驗證人生成主區塊,則忽略這些副區塊。因此,一個 slot 可以有一個主區塊或一個副區塊,并且不會跳過任何 slot 。
波卡將通過Second State引入基于Ewasm的SSVM虛擬機:金色財經報道,區塊鏈基礎軟件公司Second State獲得了Web3基金會的資金支持,雙方合作將把以太坊的WebAssembly虛擬機(Ewasm)引入波卡生態。
據悉,通過Web3基金會的資金支持,Second State 將依據Ewasm規范擴展其自研的高性能 WebAssembly 虛擬機 SSVM。Second State 將開發必要的軟件在 Substrate 中加載 SSVM 模塊。最終, SSVM-Ewasm Substrate 模塊將允許應用開發者在 Polkadot 波卡生態中部署和執行以太坊智能合約。[2020/3/2]
VRF:https://wiki.polkadot.network/docs/en/learn-randomness
有關 BABE 的更多細節,請參閱研究草案文檔。
https://research.web3.foundation/en/latest/polkadot/BABE/Babe.html
GRANDPA: 最終性工具
GRANDPA (GHOST-based Recursive ANcestor Deriving Prefix Agreement) 是為 Polkadot 中繼鏈實現的最終性小工具。
它在一個部分同步的網絡模型中工作,只要 2/3 的節點是誠實的,并且能夠在異步設置中處理 1/5 的拜占庭節點。
一個顯著的區別是,GRANDPA 在鏈上而不是區塊上達成協議,大大加快了最終確定過程,即使在長期的網絡分區或其他網絡故障之后也是如此。
換句話說,只要超過 2/3 的驗證人證明一個包含某個塊的鏈,所有指向該塊的塊都將立即完成。
協議
有關協議的完整說明,請參閱論文的標題 3 部分。
https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf
實施
Rust 是 Substrate 框架的一部分。
https://github.com/paritytech/substrate/blob/master/frame/grandpa/src/lib.rs
有關更多詳細信息,請參閱 W3F 研究頁上的 GRANDPA。
https://research.web3.foundation/en/latest/polkadot/GRANDPA.html
分叉選擇
帶著 BABE 和 GRANDPA 混合機制,波卡的分叉選擇變得清晰起來。BABE 一定要建立在 GRANDPA 最終確定的鏈上。當在最終確定之后有分叉時,BABE 通過構建具有最主要區塊的鏈來提供概率最終性。
在上面的圖像中,黑色塊是已終結的。一個是主區塊,兩個是副區塊。即使最上面的鏈是最新終結塊上最長的鏈,但它不合格,因為它在評估時獲得首選的次數比下面那條少。
中本聰共識
中本聰共識由最長鏈規則組成,使用工作量證明作為其防止女巫攻擊和領導人選舉的機制。
中本聰共識只給了我們概率最終性。概率最終性表明,過去的某個區塊的安全程度,僅取決于它擁有的確認數量,或在該區塊上構建的區塊數量。隨著工作量證明鏈中構建在某特定區塊上的區塊越來越多,這條鏈也會花費更多計算資源。然而,包含了該區塊的鏈不一定總是被認可的鏈,因為某位具有無限資源的參與者可能構建競爭鏈,并花費足夠的計算資源來創建不包含特定塊的鏈。在這種情況下,比特幣和其他 PoW 鏈使用的最長鏈規則將轉移到這條新的鏈,讓新鏈成為主鏈。
PBFT / Tendermint 共識
請參閱與 Cosmos 對比文章中的相關內容。
https://wiki.polkadot.network/docs/en/learn-comparisons-cosmos#consensus
Casper FFG
GRANDPA 和 Casper FFG(友好型最終性工具 Friendly Finality Gadget)的兩個主要區別是:
在 GRANDPA 中,不同的投票者可以同時為不同高度的塊投票
GRANDPA 只依賴最終的塊來影響底層塊生產機制的分叉選擇規則
Casper CBC
Coming soon!
資源
GRANDPA 論文:GRANDP 最終性工具的學術描述。包含算法的形式化證明。
https://github.com/w3f/consensus/blob/master/pdf/grandpa.pdf
Rust 實現:一個參考文檔和附帶的 Substrate 模塊。
https://github.com/paritytech/finality-grandpa
原文:https://wiki.polkadot.network/docs/en/learn-consensus
翻譯:PolkaWorld
金色財經行情播報丨減半期間BTC劇烈震動 整體偏空:據火幣行情顯示,凌晨BTC減半期間行情劇烈震動,最低觸及8206USDT,最高8800USDT,整體偏空.
1900/1/1 0:00:006月23日,以太坊基金會發文闡述近期內以太坊2.0的進度更新,其中提及到以太坊v0.12測試網Altona有望在下周啟動.
1900/1/1 0:00:00過去我們談論NFT,總是三句離不開“稀缺性”、“不可復制性”。但隨著加密藝術的發展,人們漸漸發現,稀缺性與高價值并不能劃等號,而不可復制性也早已淪為偽命題.
1900/1/1 0:00:00金色財經訊,加密貨幣市場今日再次大幅下跌,前十幣種僅穩定幣USDT小幅上漲。截止發稿,BTC已跌破9000美元,暫報8983美元,24小時下跌4.65%.
1900/1/1 0:00:00金色財經?直播 | 萌新學院《活用這些指標,想不賺錢都難!》 6月08日~6月12日 邀請10余位幣圈KOL 純干貨! 解析買賣秘籍 一步從小白躍升為老司機 自此賺錢不求人! 直播議程: 6月0.
1900/1/1 0:00:00金色財經 區塊鏈6月6日訊 最近,美國費城聯邦儲備銀行發布了一份關于央行數字貨幣(CBDC)的分析報告,其中警告稱央行數字貨幣或將危及私人銀行.
1900/1/1 0:00:00