區塊鏈

從POW開始,區塊鏈共識機制創新知多少

從POW開始,區塊鏈共識機制創新知多少

“共識機制”的概念因區塊鍊網絡而久負盛名。如果說共識是區塊鏈的基礎,那共識機制就是區塊鏈的靈魂。它就像一個國家的法律,維繫著區塊鏈世界的正常運轉。

眾所周知,區塊鏈需要在維護它的節點之間達成共識,從而確保網絡的正常運行。共識機制,就是區塊鏈中的節點,其中包括誠實節點和惡意的節點,就如何寫入一個區塊達成共識。

共識機制在一套區塊鏈系統裡面起到的作用,非常類似於CPU架構在電子設備中的核心“組件”,一個升級版的架構往往能使電腦的流暢度提升質的飛越。

比特幣是第一個提出“共識算法”這一術語的加密貨幣,因為我們都知道,它使用的是工作量證明算法(Proof of Work algorithm, PoW),由於其能量消耗過多而成為今天討論的熱點。

區塊鏈發展到今天,大家對共識機制已不那麼陌生了。區塊鏈作為一個新興產物,它們的“共識機制”也在不停的更迭。從POW,POS,DPOS開始,到如今各種創新的共識機制,正在推動著整個區塊鏈行業的發展。

工作量證明機制(PoW)

正如我們之前提到的,PoW(Proof-of-Work)是區塊鏈第一個共識算法,它首先被比特幣使用。比特幣是當今市場上領先的加密貨幣。在PoW採礦中,礦工要解決複雜的數學難題,這需要大量的計算能力。

第一個解決這個難題的人會創建一個塊並獲得獎勵。解決這一問題的方法基本上是一個“謎語”,因為除了試錯法之外,別無選擇。

PoW算法確保挖掘者只能驗證一個新的事務塊並將其添加到鏈中,前提是網絡的分佈式節點達成共識,並接受挖掘者發現的哈希值為有效。

PoW具有完全去中心化的優點,在以PoW為共識的區塊鏈中,節點可以自由進出。然而,由於PoW在比特幣網絡中的應用已經吸引了全球計算機大部分的算力,其他想嘗試使用該機制的區塊鏈應用很難獲得同樣規模的算力來維持自身的安全。

同時,基於PoW的挖礦行為還造成了大量的資源浪費,達成共識所需要的周期也較長,因此該機制並不適合商業應用。

使用POW的加密貨幣:

根據CryptoSlate統計,目前生態系統中3000多種貨幣中,共有522種貨幣使用POW作為共識機制。甚至有些算法經過PoW衍生或改進而來,例如使用DPOW(延遲工作證明)生成共識的Komodo平台,這是POW的基本方案,但經過了修改。

比特幣使用SHA 256算法來簽署其交易,因此比特幣現金、比特幣SV和Syscoin等加密貨幣基本上都採用了相同的比特幣方法,但區塊的大小有所改進,允許增加生成和驗證時間。

一般來說,比特幣(BTC)、以太坊( ETH)、萊特幣(LTC)、莫奈羅(Monero)、Dash、比特幣現金、比特幣SV、以太坊Classic、Zcash等都使用了工作證明算法。

這些平台被稱為第一代區塊鏈平台,由於它們與主流貨幣的相似性,絕大多數都位於加密市場的前20名,擁有83.71%的市場份額,約2206.9億美元。

股權證明(PoS)

PoS(Proof-of-Stake ),這種共識算法是作為PoW的一種替代方案而誕生的,其目標是實現分佈式共識。它最初由Peercoin使用,並於2011年在一個Bitcointalk論壇上討論後創造了這個詞。

它的操作與以前的算法有很大的不同。與讓礦商證明每一筆交易都是合法的不同,股權益證明要求每一個人下注、持有或對加密貨幣進行鎖倉,並驗證其所有權。簡而言之,該算法用一種機制代替了PoW的密集挖掘,在這種機制下,將根據相關參與者的“參與”來驗證區塊。

雖然可以通過多種方式選擇新的區塊創建者來避免通過可以鎖定或處於「下注"https://www.bilingling.com/"狀態的硬幣數量進行集中化,但通常來說,區塊鍊是通過考慮了區塊鏈豐富性的偽隨機選擇過程來保護的,並考慮到節點的豐富性和加密貨幣的年齡以及隨機因子。

這種共識機制可以縮短達成共識所需的時間,但本質上仍然需要網絡中的節點進行挖礦運算。因此,PoS機制並沒有從根本上解決PoW機制難以應用於商業領域的問題。

使用PoS的加密貨幣:

大約有415個硬幣在它們的所有衍生品中使用了這個算法:Binance幣,Stellar,Dash,Neo,Cosmos,Ontology等。市值合計約92.7億美元,佔整個市場的3.52%。

委任權益證明(DPoS)

DPoS(Proof of delegated participation)是在EOS中實施的一種非常快速且眾所周知的共識機制,由於其股權加權投票系統,通常被稱為數字民主。

它的工作方式是用戶投票給“代理人”,這些代理人有權通過運行完整節點來獲利。您的投票權重取決於您是否參與或阻止硬幣。

由於代表希望獲得盡可能多的選票,因此不斷鼓勵他們為社區創造有價值的東西,因為這樣做很可能會獲得更多的選票。

這種方法應該更有效,保護用戶免受不必要的監管干擾。然而,最近幾週,其最大的支持者EOS遭到了最初開發人員的大批撤離,他們指責該系統集中且不安全。

使用DPoS的加密貨幣:

使用DPoS算法的加密貨幣中,有EOS,Tron,Cardano,Tezos,Lisk,Bitshares,Steem等,總共有24個使用此算法的區塊鏈。考慮到所涉及的項目數量不多,按市值計算,佔整個市場的2.64%,該行業的領域相當高。也就是說,大約69.7億美元。

實用拜占庭容錯算法(PBFT)

PBFT(Practical Byzantine Fault Tolerance)是由麻省理工的MiguelCastro在1999年提出,是首個實用的在異步分佈式網絡中實現拜占庭容錯的共識算法。

在公有鏈中用的最多的是PoW算法和PoS算法,這些算法都是參與者的利益直接相關,通過利益來製約節點誠實的工作,解決分佈式系統中的拜占庭問題。拜占庭容錯算法是一種狀態機副本複制算法,通過節點間的多輪消息傳遞,網絡內的所有誠實節點就可以達成一致的共識。

使用拜占庭容錯算法不需要發行加密貨幣,但是只能用於私有鍊或者聯盟鏈,需要對節點的加入進行權限控制;不能用於公有鏈,因為公有鏈中所有節點都可以隨意加入退出,無法抵擋女巫攻擊(sybil attack)

使用PBFT的平台:

PBFT共識算法目前不只是螞蟻區塊鏈平台在使用,央行所推出的區塊鏈數字票據交易平台也是使用的優化後的PBFT共識算法。

批量共識(Batch PBFT)

眾所周知,EOSIO採用的是基於流水線的PBFT。在EOSIO上一筆交易基本上需要約3分鐘 (理論最低為325個出塊時間,即162.5秒) 才能進入LIB。

從技術角度看,在EOSIO採用的DPOS BFT共識算法中,所有塊同步後的確認信息都只有輪到該節點出塊的時候才會被廣播出去,因此,在交易確認上就會產生較長的時間。

因此,正因為看到EOSIO共識機制的不足之處,BOSCore側鏈提出並採用了改進優化型的PBFT共識機制,該機制可以實現BP之間實時地對當前正在生產的區塊進行確認,從而使整個系統最終達到接近實時的共識速度,客觀上縮短了一筆交易變成不可更改狀態的時間。

同時,在保證實現拜占庭容錯的前提下,BOSCore針對LIB的加速,提出了採用批量共識(Batch PBFT)替換PBFT的方案,對每個塊進行共識的要求,通過一次廣播多個塊的相關信息,以此來逼近實時BFT的理想狀態並減輕網絡負載。

也就是說,通過Batch PBFT的實施,實現一次廣播多個塊的相關信息,讓BP之間實時地對當前正在生產的區塊進行確認,使得整個BOSCore系統最終達到接近實時的共識速度。

Batch PBFT方案能夠進一步緩解EOS主網LIB過久的問題,使確認交易不可逆的時間從現在的幾分鐘縮短到幾秒,使區塊鏈技術在某些實際場景中的應用特別是零售支付擁有更多的可能。

新共識機制的特點是多塊廣播同時進行,生產區塊的實時確認。升級後確認速度將從原有EOSIO的160秒左右提升至3秒。

使用Batch PBFT的數字貨幣:

典型代表BOS。 BOSCore採用了名為PBFT (Practical Byzantine Fault Tolerance) 來替代EOS所使用的Pipelined BFT,讓超級節點之間實時地對當前正在生產的區塊進行確認,以使整個系統最終達到接近實時的共識速度。

授權拜占庭容錯(DBFT)

DBFT(Byzantine Tolerance to Delegated Failure)是一個優雅而光輝的名字,它是在一定條件下達成最終共識的解決方案。

DBFT算法的大致原理是這樣的。參與記賬的是超級節點,普通節點可以看到共識過程並同步賬本信息,但是不參與記賬。 N個超級節點分為1個議長和n-1個議員,議長會輪流當選,每次記賬時,先由議長發起區塊提案,也就是擬賬的區塊內容。一旦有2/3以上的記賬節點同意了這個提案,那麼這個提案就會成為最終發布的區塊,並且這個區塊是不可逆的,裡面所有的交易都是百分之百確認的。

DBFT保證,如果您達成了共識,以後就無法達成其他的共識。只要不良行為者少於核算節點的三分之一,那麼一切都沒問題。

使用DBFT的加密貨幣:

該算法是NEO提出的,此後在這種機制下開發了分散式應用程序。

瑞波共識機制(RPCA)

RPCA(Ripple Protocol consensus algorithm)2013年2月Vitalik Buterin曾詳細介紹了RPCA,但RPCA真正應用到算法共識是在2014年。 RPCA是一個類似PBFT的共識機制,屬於節點投票的共識機制。

RPCA每隔幾秒能應用到所用節點,這是十分高效的,可以以此來維護整個網絡的有效性和一致性。在整個社區中,一旦達成共識,當前的賬本將會保存記錄在此之前的所有交易信息,然後關閉成為最後的賬本。在這個關閉的賬本中所有網絡節點維護都是相同的。在瑞波幣共識證明算法中,節點能夠人為的干涉投票和維持trust not list 。 RPCA的缺點就是易於遭受攻擊,黑客可以偽造node,甚至可以大量擴散潛伏,並在某個時間突然攻擊所有網絡。當然RPCA優勢就是產生區塊,Ripple 也不需要大量計算的。它的維護成本高,可以人工維護節點,但也有改動節點的風險。自然它可以採用手工干預,剔除網絡中不安全節點。這樣網絡就分成兩部分。犧牲了自動化的優勢,保證可信的節點不被攻擊。

使用RPCA的加密貨幣:

最典型的是Ripple。

PoW+PoS混合共識機制

Hcash創新性的採用了PoW+PoS共識機制,持有Hcash的用戶與礦工均可以參與到投票中,共同參與Hcash社區的重大決定,持幣者與礦工都可以影響預先編制好的更新,如隔離見證(SegWit)、增大區塊等等。如果這些更新被廣泛認可,無需開發者乾預,鏈就會自動分叉以配合更新。而這才是真正的去中心化。

Hcash的PoS機制使持幣者與礦工能夠對Hcash區塊鏈上的具體提案/議程進行投票。議程可包括決定開發團隊是否花時間實現特定功能,激活已提交的功能的代碼以供執行,或作出其他決定,如開發者補貼應該如何花費。

Hcash的PoS還為不合格的礦工提供了一個制衡機制。如果與網絡的共識規則不匹配,則多數持幣者可以投票阻止無效。

Hcash通過PoS+PoW公平的按持幣數量與工作量分配投票權重,可以實現社區自治。在社區裡,開發者與愛好者可以提出改進或者增加現有功能。通過社區投票來決定執行與否,即聚集群體智慧,進行決策與執行。

使用PoW+PoS混合共識機制的加密貨幣:

Hcash採用了PoW+PoS的混合共識機制,能夠將受眾群體最大化。

有向無環圖(DAG)

DAG(Directed acyclic graph)最初出現就是為了解決區塊鏈的效率問題。其通過改變區塊的鍊式存儲結構,通過DAG的拓撲結構來存儲區塊。在區塊打包時間不變的情況下,網絡中可以並行的打包N個區塊,網絡中的交易就可以容納N倍。之後DAG發展成為脫離區塊鏈,提出了blockless無區塊的概念。新交易發起時,只需要選擇網絡中已經存在的並且比較新的交易作為鏈接確認,這一做法解決了網絡寬度問題,大大加快了交易速度。

DAG具有交易速度快,無需挖礦,極低的手續費等優點,但網絡規模不大,導致極易成為中心化,安全性低於PoW機制等缺點也不容忽視。

使用DAG的加密貨幣:

目前採用這個技術有IOTA、byteball兩個幣,項目ITC萬物鍊是國內首個基於DAG的物聯網區塊鏈。

PooI驗證池機制

Pool驗證池基於傳統的分佈式一致性技術建立,並輔之以數據驗證機制,是目前區塊鏈中廣泛使用的一種共識機制。

Pool驗證池不需要依賴代幣就可以工作,在成熟的分佈式一致性算法(Pasox、Raft)基礎之上,可以實現秒級共識驗證,更適合有多方參與的多中心商業模式。不過,Pool驗證池也存在一些不足,例如該共識機制能夠實現的分佈式程度不如PoW機制等。

驗證池機制是區塊鏈共識機制的四大類之一,它是基於傳統的分佈式一致性技術,加上數據驗證機制;是目前行業鏈大範圍在使用的共識機制。

活動證明(POA)

POA (Proof of Activity ),這一概念最早於2012年作為權益證明(PoS)的替代方案引入。它不是一種獨立的共識算法,而是一種POW與POS(proof of stake股權證明)混合的算法。不同數字貨幣對POS算法的實現協議差別很大,而且POS的安全性有待時間檢驗。而POW算法的安全性在比特幣和以太坊上得到了充分的證明。 POA算法可以看作是比特幣的一個擴展,而且協議簡單清晰,比較容易理解。

該機制的工作原理是從工作證明開始,礦工們基本上解決了一個密碼難題,如果他們成功了,他們就可以獲得獎勵。區別在於,開采的區塊僅是標題和挖掘的獎勵地址,而不包含交易。

使用POA的加密貨幣:

目前有唯鏈,歐鍊等採用了POA共識機制,還有最受歡迎的貨幣包括Decred(DCR)和Espers(ESP)。

燃燒證明(POB)

POB(Proof of Burn)與以下概念相似:某人不可能從區塊鏈中刪除數據。因此,概念是“燃燒”硬幣。它包括提供證據,表明在將交易發送到無法使用的地址的過程中一些硬幣已被燒毀。

此方法僅適用於從工作量證明的加密貨幣中提取的硬幣。用戶將嘗試消耗最多的硬幣來“贏得”區塊獎勵。大多數時候,已經引入了燃燒測試,以減慢其他硬幣的速度,從而破壞一個硬幣的價值。

據說選擇過程是隨機的,但同時也說,用戶燃燒的硬幣越多,被選擇提取下一個區塊的機會就越大。這有點類似於比特幣流程,在該流程中,投資取決於計算能力,需要提高計算能力以獲得更好的哈希率。

使用POB的加密貨幣:

Slimcoin(SLM)是該算法的一個很好的例子。 TGCoin或第三代硬幣也使用該算法。但是,Counterparty的輔助貨幣是通過燃燒測試過程分配的。參與者不得不將比特幣發送到一個不可靠的地址,並獲得了對方代幣。

容量證明(POC)

POC(Proof of Capacity)是一種共識機制,它使用一個稱為跟踪的過程。有了工作證明,礦工們使用計算來猜測正確的解決方案;然而,有了容量證明,這些解決方案先前存儲在數字存儲(如硬盤驅動器)中。這個過程稱為跟踪。

繪製存儲後(這意味著它已填充解決方案),可以參與塊創建過程。

誰擁有解決(新)塊難題的最快解決方案,誰就可以創建新的塊。您擁有的存儲容量越多,可以存儲的解決方案越多,則創建塊的機會就越大。

使用POC的加密貨幣:

Burstcoin是第一個引入此概念的人。其他示例是Chia和SpaceMint。

流逝時間的證明(PoET)

PoET(Proof of Elapsed time )是一種共識機制算法,通常用於授權區塊鍊網絡,以決定網絡中的採礦權或區塊贏家。授權的區塊鍊網絡是要求任何潛在參與者都可以被識別才能加入的網絡。基於公平抽獎的原則,即每個節點都有可能成為贏家,PoET機制的基礎是在盡可能多的網絡參與者中公平地分配中獎機會。

從本質上講,工作流類似於比特幣工作證明(PoW)算法所遵循的共識機制,但沒有其高功耗。

使用PoET的加密貨幣:

該協議最典型的例子是hyperledger sawtooth,一個模塊化、授權和企業級的區塊鏈平台。

方尖碑一致性共識算法(Obelisk)

Obelisk(Obelisk consensus algorithm)是一種很有前途的共識算法,其目的是消除工作量證明(PoW)和權益證明(PoS)算法的缺點,從而可以以最小的計算能力且無需參與即可維護分佈式網絡中的區塊鏈狀態。它減少了對採礦的需求,顯著提高了交易速度,並提高了安全性。

Obelisk試圖通過根據“信任網絡”的概念在網絡中分配影響力來規避PoW和PoS問題,在該概念中,節點用戶網絡的密度決定了其在鏈中的影響力。

使用Obelisk的加密貨幣:

這種共識算法的最典型案例是在名為SkyCoin的項目中。

轉讓證明(POA)

PoA(Proof of Assignment)是一種新時代的共識機制,它需要更少的動力,可以在相對低端的硬件上運行。 PoA工作機制允許將日常的物聯網(IoT)應用程序用於有限容量的基本挖掘功能。憑藉其機載處理能力,可將IoT兼容設備用於加密貨幣挖掘。

但是,由於這些設備上的可用內存和處理能力有限,因此它們對挖掘的貢獻仍然很小。 PoA算法的工作機制促進了這種“輕度”挖掘。

使用POA的加密貨幣:

最著名的例子是IOTW區塊鏈。

檢查點證明(POC)

PoC(Proof of Checkpoint)是一個混合系統,它使用任何利害關係證明系統和工作證明系統。這個概念的思想是減輕對權益證明系統的攻擊。但是,它仍然會遭受已斷開連接很長時間的節點的攻擊,進而可以用來提供有關區塊鏈的虛假信息。

權益證明系統中每x個塊都需要刪除工作量證明塊。每個工作量證明塊不包含事務,並且直接鏈接到工作量證明網絡和參與證明網絡。

證明公式配方證明(POF)

韓國FLETA平台提出的新穎共識算法稱為PoF(Proof of Formulation )試圖通過在單個共識機制中結合各自的優點來解決PoW(能源支出),PoS(安全失敗)和dPoS(集中化)的不足。

在配方證明(PoF)中,與現有區塊鏈平台相比,採礦和區塊生成的執行方式有所不同。配方設計師在FLETA平台上充當塊生成器。觀察者可以實時確認所生成的區塊,並避免重複花費。制定者充當PoF算法的骨幹。 PoF算法與PoW的不同之處在於,它不需要巨大的計算能力,也不同於DPoS,後者只有當選的代表才能參與挖掘。

由於只有0.5秒的短塊時間,因此挖掘速度很高,每個塊只有4秒。此外,在FLETA採礦生態系統中,可通過觀察者節點立即確認區塊。在五個觀測節點中,三個觀測節點在生成它們後應立即對其進行驗證,以使這些塊快速傳播。

信譽共識算法(PoR)

PoR(Prof of Reputation)信譽共識算法,是貝克鏈的獨創的共識機制。

信譽共識PoR協議算法起到提高共識效率、提高並行處理效率、實現多節點協作,建立區塊鏈世界的信譽體系Bit-R解決信譽問題;通過技術創新和製衡哲學打破區塊鏈“不可能三角”,實現了區塊鏈可擴展性,安全性,有效的去中化。

PoR信譽共識算法,通過Bit-R信譽值(Bitconch Reputation)選擇誠信節點來有效抗中心化,通過PBFT實用性拜占庭容錯提高共識效率,通過創新的BLAZE技術提高並行處理效率,通過Sharding 分片技術實現多節點協作。

在安全性方面,PoR共識算法和Bit-R信譽體系使系統擁有良好的容錯性能、抗雙花攻擊和抗女巫攻擊性能。為了有效抗擊中心化,預防少數節點聯合作惡,貝克鏈通過擴大候選池、提高作惡成本、基於交易歷史的信譽無法合併等方式,更公平的讓更多高用戶參與和獲得系統權益。

PoR共識算法還得到了現代密碼學之父、世界計算機領域最高獎圖靈獎獲得者Whitfield Diffie博士的高度認可,也因此他的實驗室與貝克鏈成為戰略合作夥伴。該實驗室還包括2007年諾貝爾經濟學獎獲得者Maskin博士和2010年諾貝爾經濟學獎獲得者Pissarides博士。

並且在福布斯創新板塊上評選了“全球10個2019年最值得關注的區塊鏈項目”,貝克鏈被福布斯評為2019年值得關注的區塊鏈項目TOP5,是唯一一個公鏈項目。在文章的推薦語對PoR共識算法進行了精準的評價:貝克鏈建立了一個智能的三維節點信譽系統,POW(工作證明)+ POS(股權證明)+ POA(活動證明),形成了一個開放的節點池和反集中化。

使用POR的加密貨幣:

貝克鏈通過不斷的創新,已經申請多項區塊鏈專利,獲得國家知識產權局頒發的專利證書。其中首創POR共識算法和BLAZE零延遲驗證技術,並獲三項國際專利。

重要性證明(POI)

POI(Proof of Importance,Proof of Importance),使用賬戶重要性評分來分配記賬權的概率。

參與度證明(POP)

POP(Proof of Participation)結合了DPOS與POI的思想。