當前位置:首頁 > 物聯(lián)網 > 區(qū)塊鏈
[導讀] 前言:本文簡單明了地闡述了達成共識的兩個主要流程:區(qū)塊的提議和區(qū)塊的共識達成。區(qū)塊的提議主要涉及到PoW和PoS機制,也就是工作量證明和權益證明的機制,用以抵抗女巫攻擊,安全地選出可靠的區(qū)塊提議

前言:本文簡單明了地闡述了達成共識的兩個主要流程:區(qū)塊的提議和區(qū)塊的共識達成。區(qū)塊的提議主要涉及到PoW和PoS機制,也就是工作量證明和權益證明的機制,用以抵抗女巫攻擊,安全地選出可靠的區(qū)塊提議者。區(qū)塊的共識達成則涉及到共識算法,主要包括中本聰共識和經典共識。中本聰共識采用最長鏈規(guī)則,經典共識則可實現(xiàn)最終性。每種共識算法都有自己的權衡取舍。

區(qū)塊鏈共識是2017年和2018年最廣為討論的區(qū)塊鏈子領域之一??梢钥吹?,很多公司試圖從零開始構建新的智能合約平臺,并與以太坊競爭,而其中的一個差異化或創(chuàng)新點就在區(qū)塊鏈的共識算法方面。試圖理解這些算法,并能對它們進行批判性比較,這對很多加密投資者來說,都是一項全職工作,毫無疑問,要掌握它們并不簡單。

為揭開這些“共識算法”的神秘面紗,不少人做了很多工作。但是,對于普通人來說,它們太過于技術化。一些概念,例如同步、安全/活性證明、不可能結果,這些有助于人們通局了解。不過,在我看來,對于大多數人來說,完全理解并不特別重要。

本文重點是區(qū)塊鏈的共識算法,而沒有提及更大的也是超級復雜的分布式系統(tǒng)領域。為了簡單易懂,還會放棄一些技術概念。

本文結束時,你應該理解PoW和PoS的區(qū)別,了解BFT的意思,最重要的是,當考慮在哪個區(qū)塊鏈上構建你的應用時,你應該知道它們的權衡是什么。

什么是共識?為什么很重要?

簡單來說,區(qū)塊鏈是一種公共數據庫,其中用戶就什么是正確的達成一致。比特幣是記錄所有交易的公共數據庫,保留了貨幣系統(tǒng)的完整性。有兩個主要問題需要理解:

1.就什么達成共識?

2.如何達成共識?

我們需要有人提議,然后讓其他人選擇,直到達成某種形式的共識。就區(qū)塊鏈的情況,我們需要有人提議區(qū)塊,然后需要剩余節(jié)點接受區(qū)塊。

一個簡單的例子如下:

4個人嘗試并安排共同的時間來做事。每個人提出其可用時間(空白格)??梢钥吹?,有兩個共同可用的時間段,下午2點和6點。他們如何達成共識?在他們提出可用時間前,他們同意一個特定規(guī)則:每個人必須選擇最早的共同可用時間。在這種規(guī)則下,這意味著,他們將會在下午2點而不是下午6點見面。由此,他們達成了共識。

按照這種框架,我們將它類比擴展到比特幣區(qū)塊鏈:

人們就什么達成共識?

人們就區(qū)塊數據達成共識。區(qū)塊中包含有效的比特幣交易。在比特幣中,任何人都可以提議區(qū)塊,只要他們率先解決一個計算謎題(PoW)。

人們如何達成共識?

人們同意接受最長鏈上的區(qū)塊。例如,如果鏈A的高度為100,而鏈B的高度為200,如果你收到鏈A上的區(qū)塊101和鏈B上的區(qū)塊201,你必須接受區(qū)塊201。有人在更短的鏈上添加區(qū)塊,可能是因為他們沒有意識到更長的鏈,但“最長鏈規(guī)則”確保一旦區(qū)塊在整個網絡中傳播,每個人最終就相同的事情達成共識。

該框架支持所有共識算法。不同算法可以采用不同的方法來提議區(qū)塊,也可以使用不同的方式來對區(qū)塊達成共識。

提議區(qū)塊

考慮區(qū)塊提議時,最大的問題是誰來提議區(qū)塊。如果任何人隨時都可以提議區(qū)塊,會很難達成共識,因為這類似于人們不停地相互交談。必須以某種方式選出代表,這樣剩余的人可以一次看到一個提議。

最幼稚的方式是讓協(xié)議隨機選擇一個人來提議新區(qū)塊。然而,在互聯(lián)網上,一個人可以通過運行相同程序的一百個實例來偽裝成一百個人。因此,我們需要創(chuàng)造某種形式的稀缺性,以抵抗女巫攻擊。(藍狐筆記注:女巫攻擊主要是指網絡中的少數節(jié)點控制多個虛假身份,并利用這些身份控制網絡中大量正常節(jié)點的攻擊方式。)。

因此,這個游戲必須能夠抵擋單一黑客操縱很多人的攻擊。這正是PoW和PoS給你帶來的:一種讓計算機受到某些資源限制的方式。(藍狐筆記注:也就是說,通過設立門檻,比如PoW的算力投入和PoS的代幣投入,通過競爭性的方式,解決了誰有資格提議區(qū)塊并由此獲得獎勵的問題。)

PoW如下:為獲得提議區(qū)塊的權利,你必須率先完成計算密集型的任務。模擬一個虛擬的計算機拋硬幣任務,直到它得到連續(xù)100次的虛擬硬幣的正面。這是計算密集型的,沒有人能偽裝成一百人,因為這受制于其算力。

然而,通過采用這種“抗女巫攻擊”機制,人們已經建立了數千臺計算機組成的礦場,以便在算力競爭中勝出,從而獲得提議區(qū)塊的權利。這些服務器礦場消耗巨量電力,因此它們集中于可獲得最便宜電力的國家或地區(qū)。

那么,當大多數比特幣礦工位于中國時,這對于去中心化意味著什么?這種地理上的中心化給系統(tǒng)的長久性構成了真正的威脅,因為這些挖礦公司很容易被監(jiān)管。

PoS采用了跟PoW完成不同的“抗女巫攻擊”機制。既然要花錢購買比特幣挖礦計算機和購買電力,那么,為什么不只是用錢來選擇區(qū)塊生產者并將計算密集型過程跳過呢?PoS是這樣的想法:基于人們在系統(tǒng)中質押的錢多少來選擇區(qū)塊提議者,也就是人們在系統(tǒng)中擁有的代幣的比例。

在PoW中,擁有算力越多,被選為提議下個區(qū)塊的概率就越高。在PoS中,擁有的代幣越多,成為區(qū)塊生產者的概率就越高。

請注意,還沒有開始談論如何就區(qū)塊達成共識。有一種常見的誤解,認為PoW和PoS是共識算法。其實它們不是。它們只是通過約束稀缺資源的方式來選擇區(qū)塊生產者。

區(qū)塊共識

這是事情變得有趣的地方,也是近年來大部分創(chuàng)新發(fā)生的地方。一旦有人提議區(qū)塊,我們如何達成共識?這是從上個世紀80年代以來計算機科學家們一直試圖解決的問題,以在一些計算機偶爾發(fā)生崩潰時,其計算機集群也能同步。到了上世紀90年代,這些計算機科學家開始思考一個更難的問題:如果黑客可以控制其中的一些計算機呢?(藍狐筆記注:這兩個問題的區(qū)別在于,一個只是計算機部分崩潰,另一個是計算機沒有崩潰,而被惡意控制。)

他們能否構建足夠強健的系統(tǒng),以確保所有非惡意的計算機依然能夠達成共識?這一特性被稱為“拜占庭容錯”(BFT),它是基于拜占庭將軍問題而來。BFT系統(tǒng)是一個相當小的研究課題,因為大多數系統(tǒng)并不需要這種級別的穩(wěn)健性,因為大多數計算機集群通常都屬于單一公司。直到區(qū)塊鏈的到來,才改變了這一局面。

在區(qū)塊鏈中,任何人都可以運行節(jié)點(集群中的計算機),并且可以向其他節(jié)點發(fā)送信息或數據。這是一個真正對抗性的環(huán)境,因為惡意行為者可以假裝為誠實節(jié)點。例如,如果集群中的10個惡意計算機向其他9個計算機發(fā)送沖突信息,該怎么辦?

由于誠實計算機無法區(qū)分惡意和非惡意的計算機,這個問題變得非常棘手。解決這個問題有兩種主要方法:中本聰共識和經典共識。

中本聰共識

中本聰共識用于比特幣和大多數PoW系統(tǒng)中,由中本聰開創(chuàng)。它有一條單一規(guī)則:“當你看到提議的區(qū)塊擁有最多工作量證明,就接受它?!蓖ǔ碚f,具有最高編號的區(qū)塊擁有最多工作量證明。(藍狐筆記注:也就是比特幣的最長鏈規(guī)則,這是一種概率性的確認,確認的區(qū)塊深度越長,交易越難被逆轉。)

這意味著,對于你看到的區(qū)塊是否“正確”,你永遠沒有100%的確定。例如,如果你看到的最高區(qū)塊編號是99,你可以在區(qū)塊編號100接收到區(qū)塊A,因此你接受了。

突然,你在區(qū)塊編號103收到區(qū)塊B,而它在區(qū)塊編號100有不同的區(qū)塊。根據共識規(guī)則,你需要“反轉”之前接受的區(qū)塊A,轉而接受新的區(qū)塊歷史。

在這個系統(tǒng)中,超過系統(tǒng)算力50%的攻擊者將能夠持續(xù)構建最長鏈,因此,可以創(chuàng)建他們想要的任何區(qū)塊。通過這個例子,我們可以看到這些規(guī)則有助于人們就哪一條鏈是可接受的鏈達成一致。

經典共識

在中本聰共識2009年發(fā)明之前,計算機科學家對此問題有不同的解決方案,這問題有不同的特性。第一個拜占庭容錯共識算法稱為實用拜占庭容錯算法(PBFT)。它的工作原理是:讓一組參與者進行多輪投票,直到一定比例的投票者達成共識。

基于PoS之類的機制,選擇某人提議區(qū)塊。他將區(qū)塊發(fā)送給其他已知的參與者。由其他參與者進行投票。

由于大多數參與者都對區(qū)塊投贊成票,系統(tǒng)中的每個人都將接受該區(qū)塊作為正確區(qū)塊。使用這種類型的共識,須有一組已知的投票者,但一旦他們投票通過,區(qū)塊就有了最終性。因此,就不存在區(qū)塊回滾的事情。如果存在爭議,那么系統(tǒng)會停止。(藍狐筆記注:經典共識的最終確定性,與中本聰共識的概率性形成鮮明對比。)

PBFT算法已經被用在區(qū)塊鏈上,區(qū)塊鏈中迄今為止,最突出的BFT算法是Tendermint Core。Tendermint Core是區(qū)塊鏈上第一個不使用中本聰共識的共識算法,而是基于20多年的計算機科學研究基礎上。

BFT算法的主要局限是它們通常僅限于一小部分投票者,因為所有投票者都需要事先知道。讓10萬人不斷地與其他人溝通以達成共識是極其困難的事情。到目前為止,Cosmos已經運行了可能是最大的公共BFT系統(tǒng)之一,他們的Game of Stakes測試網有超過200+的驗證者參與。(藍狐筆記注:Harmony的驗證者已經超過了200+。)

中本聰共識有其他變種,例如GHOST(新評分算法,不僅僅是最長鏈),也有其他BFT共識的變種,例如Casper-BFT和Thunderella。

這些共識算法變種的主要區(qū)別實際上只是其區(qū)塊提議方式的不同或參與共識的溝通人數不同而已。大多數情況下,在一個算法系列中,它們之間有類似的權衡。還有一些新的共識形式,例如Avalanche,它們不屬于任何一個系列。

如何選擇共識算法?

根據你想構建的應用類型,下面是選擇哪種共識算法的指南問題,由此也會涉及到選擇何種智能合約平臺。

1.你要構建的應用對最終性的急需程度?

對于一些應用來說,最終性非常重要,而另外一些應用,則不那么重要。如果你構建的是用于微支付的新型支付系統(tǒng),交易可以逆轉并不是世界的末日。類似地,如果你構建的是去中心化的社交網絡,100%保證狀態(tài)更新立即完成并非是一個特別重要的特性。相反,如果你構建的是去中心化的交易所,最終性是用戶體驗中至關重要的部分。讓交易逆轉比不發(fā)生交易還要糟糕。作為參考,比特幣的最終性大約是1小時左右(藍狐筆記注:比特幣6個區(qū)塊確認完成,基本上可以確認交易完成,但這也不是100%的最終性,不過在6個區(qū)塊確認之后,要逆轉交易的難度非常之大。)以太坊的最終性大約6分鐘左右,而Tendermint Core有1秒的最終性。

2.你要構建的應用所需的快速程度?

如果你構建的是游戲應用,每個動作前需要等待15秒鐘(甚至更長時間)是否合理?由于以太坊的區(qū)塊時間,基于以太坊區(qū)塊鏈構建的游戲用戶體驗糟糕,因為它的吞吐量太低。然而,一個轉讓房屋證書所有權的應用可能非常適合在以太坊上運行。使用Cosmos SDK構建應用,允許開發(fā)者使用現(xiàn)成的Tendermint Core,它有更短的區(qū)塊時間和高吞吐量,每秒最高可以達到10,000筆交易。你可以通過為你的應用設置更少的驗證者數來實現(xiàn)這一目的,因為可以減少通信開銷,提高應用處理速度。

3.你要構建的應用所需的“去中心化”程度?

一些應用,比如游戲,可能并不需要顯著的抗審查特性,這只是去中心化的副產品。在理論上,驗證者可以創(chuàng)建卡特爾以及在游戲中實現(xiàn)區(qū)塊/逆轉交易以獲取利潤,這些在應用中真的重要嗎?如果它不那么重要,類似于EOS的區(qū)塊鏈可能適合你的應用場景,因為它有更快的交易速度且無需費用。

然而,有的應用,比如自治銀行,它對去中心化要求很高。盡管以太坊被認為是去中心化的,但有些支持者聲稱,以太坊礦池的集中也是其中心化趨勢一個重要體現(xiàn),事實上,它只有11個驗證者(礦池)。

構建自己的區(qū)塊鏈而不是基于其他智能合約平臺來構建應用的一大好處是,你可以為自己應用定制驗證方式。然而,構建自己的區(qū)塊鏈非常困難,因此,從這方面來說,使用Cosmos SDK非常有用,可以輕松構建自己的區(qū)塊鏈,并自定義應用所需的去中心化程度。

4.如果系統(tǒng)停止是否可以接受?

如果你構建的是類似于去中心化的共享騎行應用,那么,確保服務全天候運行可能是最高優(yōu)先級的,即使出現(xiàn)一些偶然的錯誤,例如交易被逆轉。

Tendermint Core的一個屬性是,如果網絡驗證者之間存在分歧,網絡將選擇停止,而不是進行不正確的交易。一些應用,例如去中心化的交易所應用,需要不惜一切代價確保正確性。如果存在問題,可以暫停去中心化交易,而不是進行可逆轉的交易。

結論

不存在單個“最好”的共識算法。每個算法都有它自己的權衡取舍。但是,通過理解共識流程(提議和達成共識),并建立一個框架來思考你的應用可能需要何種共識算法,能有助于你在選擇區(qū)塊鏈時,做出更明智的決策。當然,還有其他因素需要考慮,例如開發(fā)者工具、社區(qū)等。

總的來說,PoW和PoS并不是共識算法。它們是“抗女巫攻擊”的機制,可以幫助挑選區(qū)塊提議者。

兩種主要的共識家庭是中本聰共識和經典共識。這些算法用于就區(qū)塊鏈中的區(qū)塊達成共識。每種共識算法都有自己的權衡取舍。根據應用的場景來選擇共識算法和智能合約平臺。要考慮的因素:

l 最終性

l 速度

l 去中心化程度

l 活性

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

關鍵字: AWS AN BSP 數字化

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

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

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

關鍵字: 通信 BSP 電信運營商 數字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉