在區塊鏈的交流和學習中,「共識演算法」是一個很頻繁被提起的辭彙,正是因為共識演算法的存在,區塊鏈的可信性才能被保證。

常見的共識演算法有很多,例如PoW(Proof of Work,工作量證明)、PoS(Proof of Stake,權益證明)、DPoS(Delegate Proof of Stake,委託權益證明)、PBFT(Practical Byzantine Fault Tolerance,實用拜占庭容錯演算法)等。

通俗的講,不同的演算法其實就是不同的遊戲玩法。在區塊鏈世界,共識一般都是通過特定的數學演算法實現。本文將對POW,POS,DPOW,DPOS,DBFT,POA以及POET等七種共識機制進行較為詳細的介紹。

1. 主流共識機制簡介

工作量證明(POW):

工作量證明(Proof Of Work,簡稱POW)應該算是最常見的共識演算法之一,簡單理解就是一份用來確認你做過一定量的工作的證明。監測工作的整個過程通常是極為低效的,而通過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現實生活中的畢業證、駕駛證等等,也是通過檢驗結果的方式(通過相關的考試)所取得的證明。

工作量證明系統(或者說協議、函數),是一種應對拒絕服務攻擊和其他服務濫用的經濟對策。它要求發起者進行一定量的運算,也就意味著需要消耗計算機一定的時間。這個概念由Cynthia Dwork 和Moni Naor 1993年在學術論文中首次提出。而工作量證明(POW)這個名詞,則是在1999年 Markus Jakobsson 和Ari Juels的文章中才被真正提出。

PoW 並非一個新理念,但是中本聰將 Pow 與加密簽名、Merkle 鏈和 P2P 網路等已有理念結合,形成一種可用的分散式共識系統。加密貨幣是這樣系統的首個基礎和應用,因而獨具創新性。

在 PoW 的工作方式中,區塊鏈參與者(稱為「礦工」)要在區塊鏈中添加一塊交易,必須解決某種「複雜但是無用」的計算問題。

本質上,這種做法可確保礦工花費了一些金錢或資源(礦機)完成工作,這表示了它們將不會損害區塊鏈系統,因為對系統的損害也將會導致投資的損失,進而損害他們自身。

為保證運行區塊時間不變,問題的複雜性會發生變化。有時,會存在多名礦工同時解決了問題。在這種情況下,每位礦工從中選取一個區塊鏈,並以選取最長鏈者為獲勝者。

因此,如果假定大多數礦工工作在同一個鏈上,那麼成長最快的鏈將成為最長和最值得信任的鏈。這樣,只要由礦工提交的工作有超過一半是值得信任的,那麼加密貨幣就是安全的。

權益證明(POS):

POS也稱股權證明,類似於財產儲存在銀行,這種模式會根據你持有數字貨幣的量和時間,分配給你相應的利息。鑒於POW主要依賴於計算機硬體的稀缺性來防止女巫攻擊,POS則主要依賴於區塊鏈自身裏的代幣。在POW中,一個用戶可能拿1000美元來買計算機,加入網路來挖礦產生新區塊,從而得到獎勵。

簡單來說,就是一個根據你持有貨幣的量和時間,給你發利息的一個制度,在股權證明POS模式下,有一個名詞叫幣齡,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000,這個時候,如果你發現了一個POS區塊,你的幣齡就會被清空為0。

然而,一旦幣的權益被用於簽名一個區塊,則幣齡將清為零,這樣必須等待至少30日才能簽署另一區塊。同時,為防止非常老或非常大的權益控制區塊鏈,尋找下一區塊的最大概率在90天後達到最大值,這一過程保護了網路,並隨著時間逐漸生成新的幣而無需消耗大量的計算能力。

權益證明必須採用某種方法定義任意區塊鏈中的下一合法區塊,依據賬戶結餘來選擇將導致中心化,例如單個首富成員可能會擁有長久的優勢。為此,人們還設計了其他不同的方法來選擇下一合法區塊。

延遲工作量證明(DPoW):

DPoW是建立在PoB與DPoS基礎上的新一代共識機制,借鑒了前輩共識機制的設計理念和運行的經驗。DPoW是建立在PoB與DPoS基礎上的新一代共識機制,借鑒了前輩共識機制的設計理念和運行的經驗。在基於DPoW的區塊鏈中,礦工挖礦所獲得的不再是獎勵的代幣,而是可以焚燒的「wood」——燃木。礦工使用自己的算力,通過哈希演算法,最終證明自己的工作量之後,獲取對應的wood,wood不可交易。當wood積攢到一定量之後,可以前往燃燒場地燃燒wood。這樣可以讓算力和出礦權利達到一個平衡。不一定非要龐大算力的礦工、礦池才能成為區塊生產者。小礦工也有春天,只要辛勤勞動,積攢一定數量的wood,也能出塊。保證效率,人人參與,最平民化的參與方式保證了去中心化的理念,避免擁有算力的組織或者持幣大戶把持網路。

dPoW 系統中有兩種類型的節點:公證人節點和正常節點。64 個公證人節點是由 dPoW 區塊鏈的權益持有者(stakeholder)選舉產生的,它們可從 dPoW 區塊鏈向所附加的 PoW 區塊鏈添加經公證確認的塊。一旦添加了一個塊,該塊的哈希值將被添加到由 33 個公證人節點簽署的 Bitcoin 交易中,並創建一個哈希到 Bitcoin 區塊鏈的 dPow 塊記錄。該記錄已被網路中的大多數公證人節點公證。為避免公證人節點間在挖礦上產生戰爭,進而降低網路的效率,Komodo 設計了一種採用輪詢機制的挖礦方法,該方法具有兩種運行模式。在「無公證人」(No Notary)模式下,支持所有網路節點參與挖礦,這類似於傳統 PoW 共識機制。而在「公證人激活」(Notaries Active)模式下,網路公證人使用一種顯著降低的網路難度率挖礦。「公證人激活」模式下,允許每位公證人使用其當前的難度挖掘一個區塊,而其它公證人節點必須採用 10 倍難度挖礦,所有正常節點使用公證人節點難度的 100 倍挖礦。

股份授權證明機制(DPoS):

DPoS機制,又叫做「股份授權證明機制」和「受託人機制」,是2014年4月由Bitshares 的首席開發者 Dan Larimer(BM)提出的。從某種角度來看,DPOS有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責(當輪到他們時,沒能生成區塊),他們會被除名,網路會選出新的超級節點來取代他們。DPOS的出現最主要還是因為礦機的產生,大量的算力在不瞭解也不關心比特幣的人身上,類似演唱會的黃牛,大量囤票而絲毫不關心演唱會的內容。

授權拜占庭容錯演算法(dBFT):

為瞭解決拜占庭將軍問題,dBFT「授權拜占庭容錯」機制,是一種在NEO區塊鏈內部實現的保證容錯的共識演算法。

在這個機制當中,存在兩個參與者,一個是專業記賬的「記賬節點」,一個是系統當中的普通用戶。

普通用戶基於持有權益的比例來投票決定記賬節點,當需要通過一項共識時,在這些記賬節點中隨機推選出一名發言人擬定方案,然後由其他記賬節點根據拜占庭容錯演算法,即少數服從多數的原則進行表態,如果超過66%的節點表示同意發言人方案,則共識達成;否則,重新推選發言人,重複投票過程。

所以說,dBFT機制實際使用了一種迭代共識的方法來保證系統達成一致決定。然而,這種機制的缺點在於,當系統中有超過三分之一的記賬節點停止工作時,整個區塊鏈網路將無法提供正常的服務;當超過三分之一的節點聯合作惡時,區塊鏈將有可能發生分叉。

權威證明(PoA):

權威證明(Proof-of-Authority)基於 PoA 的網路、事務和區塊,是由一些經認可的賬戶認證的,這些被認可的賬戶稱為「驗證者」(Validator)。驗證者運行的軟體,支持驗證者將交易(transaction)置於區塊中。該過程是自動的,無需驗證者持續監控計算機,但需要維護計算機(權威節點)不妥協(uncompromised)。

驗證者必須滿足以下三個條件:

1.其身份必須在鏈上得到正式驗證,信息可在公有可用域中交叉驗證;

2.其資格必須難以獲得,這樣所得到的驗證塊的權利才彌足珍貴(例如,潛在的驗證者需要獲得公證書);

3.建立權威的檢查和程序必須完全統一。

使用 PoA,每個個體都具有變成驗證者的權利,因此存在一旦獲取就保持驗證者位置的動機。通過對身份附加一個聲譽,可以鼓勵驗證者去維護交易的過程。因為驗證者並不希望讓自己獲得負面聲譽,這會使其失去來之不易的驗證者地位。

消逝時間量證明(PoET):

PoET 共識機制演算法通常用於許可區塊鏈網路,它可決定網路中獲得區塊者的挖礦權利。許可區塊鏈網路需要任何預期參與者在加入前驗證身份。根據公平彩票系統的原則,每個節點具有同等的可能成為勝出者。PoET 機制賦予大量可能的網路參與者以平等勝出的機會。

PoET 的工作機制如下:網路中的每位參與節點都必須等待一個隨機選取的時期,首個完成設定等待時間的節點將獲得一個新區塊。區塊鏈網路中的每個節點會生成一個隨機的等待時間,並休眠一個設定的時間。最先醒來的節點,即具有最短等待時間的節點,喚醒並向區塊鏈提交一個新區塊,然後廣播必要的信息到整個對等網路中。同一過程將會重複,以發現下一個區塊。

在 PoET 網路共識機制中,需要確保兩個重要因素:第一,參與節點在本質上會自然地選取一個隨機的時間,而非某一個參與者為勝出而刻意選取了較短的時間;第二,勝出者的確完成了等待時間。

PoET 通過控制代價實現了共識過程,該代價依然是與從過程中獲得的價值成正比。這是保證加密貨幣經濟持續繁榮的一個關鍵需求。

2. 優劣勢對比

內容支持:幣小白(www.bixiaobai.com)

內容支持:幣小白(www.bixiaobai.com)

3. 主要應用項目

內容支持:幣小白(www.bixiaobai.com)

POW代表——Bitcoin

比特幣(BitCoin)的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分散式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。該貨幣系統曾在4年內只有不超過1050萬個,之後的總數量將被永久限制在2100萬個。

數據支持:幣小白(www.bixiaobai.com)

幣小白

數據支持:幣小白(www.bixiaobai.com)

POS代表——Peercoin

數據支持:幣小白(www.bixiaobai.com)

PPCoin,簡稱PPC,名字取自P2P貨幣的意思,即點對點貨幣,因此被翻譯為點點幣。PPC發佈於2012年8月,PPC的研發團隊和質數幣XPM的研發團隊為同一團隊,技術實力強勁,為業界公認。PPC採用SHA256演算法,在BTC的基礎上進行了改良和優化。PPC最大的貢獻在於它原創了POS利息體系,防止通貨緊縮,後續的很多山寨幣,都效仿了PPC的這個概念,PPC每10分鐘產生1個區塊,最初每個區塊可以產出2070個PPC

DPOW代表——Komodo

Komodo是一個以隱私為中心的加密貨幣,結合了ZCash的匿名性和比特幣的安全性。

使用由Komodo團隊開發的新的共識機制,延遲工作證明,Komodo塊可以使用比特幣區塊鏈進行公證。KMD是通過基於Equihash的PoW協議發布的,新的塊信息被發送到預先投票的公證人節點。這些節點通過創建自定義事務在BTC區塊鏈上插入Komodo塊信息。

科莫多使用零知識證明來提供100%的匿名交易,通過比特幣的算力來保證安全。

數據支持:幣小白(www.bixiaobai.com)

DPOS代表——EOS

EOS 為區塊鏈奇才 BM (Daniel Larimer)領導開發的類似操作系統的區塊鏈架構平臺,旨在實現分散式應用的性能擴展。EOS 提供帳戶,身份驗證,資料庫,非同步通信以及在數以百計的CPU或羣集上的程序調度。該技術的最終形式是一個區塊鏈體系架構,該區塊鏈每秒可以支持數百萬個交易,同時普通用戶無需支付使用費用。

數據支持:幣小白(www.bixiaobai.com)

DBFT代表——NEO

NEO是一個非盈利性的社區化的區塊鏈項目,是利用區塊鏈技術和數字身份進行資產數字化,利用智能合約對數字產進行自動化管理,實現「智能經濟」的一種分散式網路。NEO底層支持多種數字資產,用戶可在NEO上自行註冊分發資產,自由交易和流轉。支持數字證書,解決公有鏈的信任問題,利用數字證書可以合法合規地在區塊鏈上發行資產並享受法律保護。

POA代表——Vechain

Vechain平臺是一個基於區塊技術的全球賬本型信息交互協作雲平臺。通過API與應用層對接,把現實世界中的人、事或物數字化,實現信息的互通互聯。通過基於行業實際應用的智能合約,實現不同場景下的協同和價值轉移,從而將現實的商業世界映射到區塊鏈上。通過跨平臺、跨企業、跨行業、跨國界的互聯協作,創造全新的商業模式,為協作參與方提供「信任服務」。唯鏈(Vechain)項目2015年6月在上海啟動,目前已經經歷三次重大升級。

POET代表——HyperLedger Sawtooth

2015年12月,Linux基金會宣佈了Hyperleger項目的啟動。創世成員於2016年的2月被宣佈。隨後的3月29日,另外的10名成員及治理理事會被公佈.5月19日 Brian Behlendorf 被任命為項目的執行總監.

項目的目標是區塊鏈及分散式記賬系統的跨行業發展與寫作,並著重發展性能和可靠性(相對於類似的數字貨幣的設計)使之可以支持主要的技術、金融和供應鏈公司中的全球商業交易 。該項目將繼承獨立的開放協議和標準,通過框架方法和專用模塊,包括各區塊鏈的共識機制和存儲方式,以及身份服務、訪問控制和智能合約。

HyperLedger Sawtooth是由Intel貢獻的Sawtooth利用一種新型公式機制稱為時間流逝證明("Proof of Elapsed Time,")一種基於可信的執行環境的彩票設計模式的共識協議由英特爾的Software Guard Extensions (SGX)提供.

總結

通過對目前市面上比較主流的7種共識演算法進行了梳理,我們發現每一種共識機制(演算法)都有各自的優勢和劣勢,所以在實際的應用場景中,要根據具體情況進行選擇。

共識機製作為區塊鏈技術的靈魂,正在高速發展,目前已經出現基於上述共識機制的變種,同時一些結合式或者新的共識機制在逐步提出,包括區塊鏈的設計由於不可能三角的原因,也出現一些變種,比如分層設計等。相信在不遠的未來,各種流派的區塊鏈技術和共識機制,會成為影響人們日常生活的一把利器,推動社會的變革。

推薦閱讀:

相關文章