以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > 狗狗幣 > Info

金色觀察|共識算法的進步方式_BFT

Author:

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

近兩年,隨著以太坊等公鏈的生態發展,應用已經非常之多了,Defi、NFT這些應用雖然比較“簡易”,但鏈上整體操作量之大,讓用戶和開發者還是很相信以太坊的處理能力和其他公鏈的處理能力的。

不過,其他公鏈目前和以太坊相比,一個重要的優勢就是以太坊gas費太高,其他公鏈的gas費極低。

主要原因在于共識算法,以太坊仍是在用1.0鏈做交易驗證,也就是使用PoW算法,而其他公鏈大部分都使用了PoS或者改進的PoS、PoW。

本文中我們將分析幾種共識算法,來展現不同算法的區別。

一個分布式系統是由多個節點組成,節點之間需要網絡發送消息通信,根據它們遵循的協議在某個任務消息達成共識并一致執行。這個過程中會出現很多類型的錯誤,

第一類錯誤是節點崩潰、網絡故障、丟包等,這種錯誤類型的節點是沒有惡意的,屬于非拜占庭錯誤。

第二類錯誤是節點可能是惡意的,不遵守協議規則。例如驗證者節點可以延遲或拒絕網絡中的消息、可以提出無效塊、可以向不同的對等體發送不同的消息。在最壞的情況下,惡意節點可能會相互協作。這些被稱為拜占庭錯誤。

考慮到這兩種錯誤,系統始終徐亞保持兩個屬性:安全性(safety)和活躍性(liveness)。

金色晨訊 | 6月20日隔夜重要動態一覽:21:00-7:00關鍵詞:DeFi、詹克團、港交所、錢包漏洞

1. DeFi代幣總市值突破50億美元。

2. 詹克團:作廢公章不能代表比特大陸,非法使用需承擔法律責任。

3. 港交所總裁:港交所從來沒有要進軍數字貨幣領域。

4. 非洲已成為第二大比特幣P2P交易市場。

5. 歐科云鏈信托注冊為信托公司申請獲批。

6. 研究人員發現以太坊錢包Argent出現高危漏洞。

7. 青島工業樓宇重點發展區塊鏈等新興產業。[2020/6/20]

安全性:在以上兩類錯誤發生時,共識系統不能產生錯誤的結果。在區塊鏈的語義下,指的是不會產生雙重花費和分叉。

活躍性:系統一直能持續產生提交,在區塊鏈的語義下,指的是共識會持續進行,不會卡住。假如一個區塊鏈系統的共識卡在了某個高度,那么新的交易是沒有回應的,也就是不滿足liveness。

BFT

BFT(拜占庭容錯協議)是一種即使系統中存在惡意節點也能保證分布式系統的安全性和活躍性的協議。根據Lamport論文,所有BFT協議都有一個基本假設:節點總數大于 3f 時,惡意節點最大為 f ,誠實節點可以達成一致的正確結果。

PBFT

金色晨訊 | 芬蘭議會已投票通過虛擬貨幣服務提供商相關提案:1.CoinMarketCap計劃解決交易量造假現象。

2.比特幣每日交易區間為近兩年來最低點。

3.CME董事長:比特幣缺乏能夠吸引政府的基本功能。

4.芬蘭議會已投票通過虛擬貨幣服務提供商相關提案。

5.金融行動特別工作組尋求減輕虛擬資產服務提供商的相關風險。

6.VanEck數字資產總監:比特幣ETF截止日期無關緊要。

7.俄羅斯已從延遲的數字資產法案中刪除了有關加密貨幣的內容。

8.印度交易所發起社交活動,推動解除央行加密貨幣禁令。

9.日本金融廳批準了樂天旗下的“樂天錢包”等兩家交易所的注冊登記。[2019/3/26]

實用拜占庭容錯算法(PBFT)是現實世界里首批能夠同時處理第一類和第二類錯誤的拜占庭容錯協議之一,基于部分同步模型,解決了之前BFT類算法效率不高的問題,將算法復雜度由節點數的指數級降低到節點數的平方級,使得拜占庭容錯算法在實際系統應用中變得可行。

PBFT正常流程為3階段協議:

pre-prepare:主節點(Primary)廣播預準備消息(Preprepare)到各副本節點(Replica)

prepare:該階段是各個節點告訴其他節點我已經知道了這個消息,一旦某個節點收到了包含n-f 個prepare消息(我們將使用QC也就是Quorum Certificate來指代,下同)則進入prepared狀態

金色晨訊 | Coinbase確認上市 CBOE比特幣期貨凈空頭合約縮減至歷史新低:1.美國國家銀行監管協會起訴貨幣監理署向區塊鏈公司發放銀行執照

2.CBOE比特幣期貨凈空頭合約縮減至歷史新低

3.CFTC專員表示,必須尊重區塊鏈在金融市場中的作用

4.美國聯邦通信委員會主席稱:將研究區塊鏈對電信行業潛在影響

5.比利時FSMA將21個加密欺詐網站列入黑名單

6.美國國稅局呼吁為加密征稅提供更多指導

7.Coinbase確認上市 估值80億美元

8.瑞典央行呼吁推進央行數字貨幣設計并推動立法

9.南昌文化產權交易中心將推出區塊鏈數字產權交易平臺[2018/10/27]

commit:該階段是各個節點以及知道其他節點知道了這個消息,一旦某個節點收到了n-f 個commit消息(QC)則進入committed狀態

視圖切換(viewchange)是PBFT最為關鍵的設計,當主節點掛了(超時無響應)或者副本節點集體認為主節點是問題節點時,就會觸發ViewChange事件,開始viewchange階段。

通信復雜度給PBFT的共識效率帶來了嚴重的影響,極大地制約了PBFT的可擴展性。

如何把通信復雜度降低提高共識效率,是BFT共識協議在區塊鏈場景中面臨的挑戰。針對BFT共識效率的優化方法,具有以下幾類:聚合簽名、通信機制優化、view-change流程優化。

金色財經現場報道 優勢資本董事長吳克忠:區塊鏈打破金融業的信用壟斷和數據壟斷:金色財經現場報道,在2018中國區塊鏈高峰論壇上,優勢資本董事長吳克忠表示,“信息互聯網打破商業信息壟斷和渠道壟斷,互聯網共享經濟打破農業和工業的資源壟斷和產能壟斷,區塊鏈打破金融業的信用壟斷和數據壟斷。”[2018/5/19]

PBFT,SBFT等協議具有獨立的view-change流程,當主節點出問題后才觸發。而在Tendermint、HostStuff等協議中沒有顯式的view-change流程,view-change流程合入正常流程中,因此提高了view-change的效率,將view-change的通信復雜度降低。

Tendermint 將roundchange(和viewchange類似)合入正常流程中,因此roundchange和正常的區塊消息commit流程一樣,不像PBFT一樣有單獨的viewchange流程,因此通信復雜度也就降低。

HotStuff參考Tendermint,也將視圖切換流程和正常流程進行合并,即不再有單獨的視圖切換流程。通過引入二階段投票鎖定區塊,并采用leader節點集合BLS聚合簽名的方式,

Hotstuff將傳統BFT的兩輪的同步BFT改為三輪的鏈式BFT,沒有明確的prepare,commit共識階段,每個區塊只需要進行一輪QC,后一個區塊的 prepare 階段為前一個區塊的 pre-commit 階段,后一個區塊的 pre-commit 階段為前一個區塊的 commit 階段。每次出塊的時候都只需要低通信復雜度,通過兩輪的通信復雜度,達到了之前的效果。

金色財經現場報道 Distributed Business Application的創始人兼CEO黃連金:比特幣的匿名性是偽匿名:金色財經前方記者實時報道,4月12日舉辦的第二屆全球金融科技與區塊鏈中國峰會2018上,Distributed Business Application的創始人兼CEO黃連金表示,比特幣交易需要1個小時才能確認,比特幣的匿名性是偽匿名,可以通過大數據對交易地址進行推斷。[2018/4/12]

PBFT、Tendermint等協議具有即時確定(Instant Finality)的特性,幾乎不可能出現分叉。在PBFT中,每個區塊被確認后才能出下一個區塊,Tendermint還提出區塊鎖定的概念,進一步確保了區塊的即時確定性,即在某個round階段,節點對區塊消息投了pre-commit票,則在下一個round中,該節點也只能給該區塊消息投pre-commit票,除非收到新proposer的針對某個區塊消息的解鎖證明。

這類BFT共識協議本質上是一個同步系統,將區塊的生產和確認緊密耦合,一個區塊確認后才能生產下一個區塊,需要在塊與塊間等待最大的可能網絡延遲,共識效率受到很大的限制。

PlatON:CBFT

CBFT基于部分同步網狀通信模型,提出了一個三階段共識的并行拜占庭容錯協議。網狀的通信模型更適合公網的弱網環境。

CBFT 的正常流程和Hotstuff類似,分為prepare,pre-comit,commit 和 decide幾個階段。但 CBFT 還作了關鍵的改進:在一個視圖窗口內可以連續提議多個區塊,下一個區塊的產生不用等上一個區塊達到QC;而且各個節點可以在接收上一個區塊投票的同時,并行執行下個區塊的交易,以 pipeline 的方式對區塊進行投票確認, 從而極大提高了出塊速度。

CBFT 有自適配的視圖切換機制:在一個視圖窗口內,節點接收到足夠多的區塊以及贊成票(超過2/3的節點投票,也就是 QC)時,會自動進行窗口切換,切換到下一個窗口,無需進行 viewchange 投票。除此之外,節點會啟動 viewchange 流程,并且在 viewchange 階段引入了和 Hotstuff 一樣的二階段鎖定投票規則,同時使用 BLS 聚合簽名,可以在低的通信復雜度內完成視圖窗口切換。

CBFT 只在正常流程之外才會進行 viewchange,因此相比 HotStuff 會有更少的視圖切換開銷。

CBFT共識中,每430個區塊(稱為一個 Epoch)就會更新驗證人集合,更新規則如下:

新驗證人可能由于網絡連接或區塊不同步等原因不能參與共識,因此我們每次替換不超過14個節點,如果候選驗證人不足14個,替換的數量為候選驗證人的總數。使用VRF從候選驗證人中隨機選出新驗證人。

Conflux:GHAST

Conflux 可以實現與比特幣和以太坊相同水平的去中心化和安全性,但在交易吞吐量(TPS)和最終延遲方面提供了兩個數量級以上的改進。

主要優勢在于共識協議、認證存儲和交易中繼協議。在 Conflux 分類帳中,塊被組織為樹形圖,其中每個塊引用一些其他塊,其中一個是其父塊。僅查看與父邊鏈接的塊,賬本似乎是一個樹結構(父樹),而查看所有塊,它似乎是一個有向無環圖。這也是將 Conflux 的賬本結構稱為 Tree-Graph 的原因。

Conflux 的共識算法,稱為 Greedy-Heaviest-Adaptive- SubTree (GHAST),通過在賬本中的父樹上應用最重子樹規則,使區塊鏈網絡中的所有節點能夠一致地就區塊的樞軸鏈達成一致,進而基于樞軸鏈就所有區塊的總順序達成共識。GHAST 還允許 Conflux 節點檢測一些可能損害活躍性的攻擊(例如,嘗試生成兩個平衡子樹的平衡攻擊),即確認交易的能力,并通過自適應調整塊的權重來阻止這些攻擊。

Tree-Graph 賬本和 GHAST 共識算法使 Conflux 節點能夠快速生成新塊,而不必擔心賬本中存在分叉可能會損害網絡的安全性,從而使系統能夠同時實現高吞吐量以及低交易確認延遲。

其他思路

Dfinity

Dfinity更改共識算法上,將傳統的共識節點全部參與共識計算修改為通過計算隨機數選取部分節點完成共識計算,這是加快共識驗證的一個步驟。而更核心的是選中的共識節點是通過非交互式的BSL算法(節點確認數據簽名反饋是獨立進行的,不是組合進行的)確認交易,意味著不會經歷BFT類共識的節點間反復交互的過程,而達到類似“并行”加速的效果。

IOTA

IOTA對算法的修改比較徹底,對比區塊鏈,IOTA使用Tangle數據結構形成總帳本Tangle特點是每個事務都附加到兩個先前的事務里,所以要完全消除了原有區塊鏈鏈式結構對確認時間的依賴。這就形成了交易的無限關聯確認結構,可以達到并行效果。

Filecoin

Filecoin在并行上的修訂,是在對存儲任務的并行處理,因為Filecoin的存儲部分,會對存儲數據完全進行計算,這個過程極為漫長(對比來說)。所以并行和提速非常之重要,目前,其采用的是更新后的NSE算法。

拆分NSE算法可以看到的是,當處理數據時,會對數據進行分window(可以理解為一個單元)和分layer層的處理,處理完成后才會進行下一步數據存儲以及后續的Post證明打包。采用NSE后,在layer的處理部分,layer間沒有過多依賴,所以可以形成并行處理效果,可以總結為并行提速的調整。

Tags:BFTHANCHAChangeBFT價格PhaNtomXRESQ ChainHyperExchange

狗狗幣
為什么你總是賠錢?NFT投資策略_NFT

從去年8月到今年元旦,NFT經歷了一波又一波的熱度,似乎一整年都是在NFT的熱點項目中度過,最后以周杰倫的Phanta Bear完成了完美的承上啟下.

1900/1/1 0:00:00
Web3奪權運動:你不發 Token 我們就 DAO 你_WEB

即便有人已經用功能性「Read-Write-Own」區分了 Web1、Web2 和 Web3,但是說到底,我們依舊無法得知 Web3 世界究竟是何種模樣.

1900/1/1 0:00:00
GameFi經濟模型是什么?它是如何設計的?_TOK

從國際象棋到4X策略,從傳統RPG桌游到AAA開放世界,游戲從來都不是純粹的娛樂,而是玩家在有限資源上進行競爭的平臺.

1900/1/1 0:00:00
萬字長文暢聊:區塊鏈、元宇宙、Web3、數字貨幣 泡沫之下的時代大幕正在緩緩升起_區塊鏈

回望 2021,真是魔幻的一年。疫情沒有要停下來的樣子,美國的單日確診已經突破 100 萬,國內也多點爆發,病似乎要持續變異下去沒有盡頭.

1900/1/1 0:00:00
以太坊的統治地位是否可能被撼動?_以太坊

以太坊作為加密應用的主要承載平臺,在2021年有不錯的表現,但由于新應用層出不窮,以太坊不堪重負。如果以太坊的分片網絡遲遲不能上線,以太坊的市場份額就會慢慢失去.

1900/1/1 0:00:00
金色Web3.0日報 | NFT市場LooksRare近7日成交額超30億美元_NFT

1.DeFi代幣總市值:1444.9億美元 DeFi總市值 數據來源:Coingecko2.過去24小時去中心化交易所的交易量:522.

1900/1/1 0:00:00
ads