1. 程式人生 > >區塊鏈共識機制常見的有哪幾種

區塊鏈共識機制常見的有哪幾種

hello 大家好,今天繼續給大家區塊鏈知識。

1. PoW( Proof of Work)工作量證明機制——多勞多得

PoW機制中根據礦工的工作量來執行貨幣的分配和記賬權的確定。算力競爭的勝者將獲得相應區塊記賬權和比特幣獎勵。因此,礦機晶片的算力越高,挖礦的時間更長,就可以獲得更多的數字貨幣。這種演算法簡單,容易實現;節點間無需交換額外的資訊即可達成共識;破壞系統需要投入極大的成本。但是非常浪費能源;區塊的確認時間難以縮短;礦機礦池等專業計算機的出現使得區塊鏈去中心化變弱。

基於PoW共識機制的數字貨幣有比特幣、萊特幣、狗狗幣等,但大都是第一代區塊鏈產物。

2.PoS(Proof of Stake)權益證明機制——持有越多,獲得越多

POS 機制採用類似股權證明與投票的機制,選出記帳人,由它來建立區塊。持有股權愈多則有較大的特權,且需負擔更多的責任來產生區塊,同時也獲得更多收益的權力。POS 機制中一般用幣齡來計算記賬權,每個幣持有一天算一個幣齡,比如 持有100個幣,總共持有了30天,那麼此時的幣齡就為3000。在 POS 機制下,如果記賬人發現一個 POS 區塊, 他的幣齡就會被清空為0,每被清空365幣齡,將會從區塊中獲得0.05個幣的利息(可理解為年利率5%)。POS在一定程度上縮短了共識達成的時間,不再需要大量消耗能源挖礦。但本質上沒有解決商業應用的痛點;所有的確認都只是一個概率上的表達,而不是一個確定性的事情,理論上有可能存在其他攻擊影響。

第二代區塊鏈以太坊前三階段均採用PoW共識機制,在第四階段開始以太坊將採用權益證明機制。

3. DPOS(Delegated Proof-of-Stake)股份授權證明機制

DPOS 是在 POS 基礎之上發展起來的。與PoS的主要區別在於持幣者投出一定數量的節點,代理他們進行驗證和記賬。其合規監管、效能、資源消耗和容錯性與PoS相似。DPoS的工作原理為:每個股東按其持股比例擁有影響力,51%股東投票的結果將是不可逆且有約束力的。其挑戰是通過及時而高效的方法達到51%批准。為達到這個目標,每個股東可以將其投票權授予一名代表。獲票數最多的前100位代表按既定時間表輪流產生區塊。每名代表分配到一個時間段來生產區塊。所有的代表將收到等同於一個平均水平的區塊所含交易費的10%作為報酬。如果一個平均水平的區塊含有100股作為交易費,一名代表將獲得1股作為報酬。DPoS的投票模式可以每30秒產生一個新區塊。DPoS的支持者眾多,影響力廣泛,後來者居上。

4. DAG(Directed acyclic graph)有向無環圖——無區塊鏈概念

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

雖然這種共識機制交易速度快,無需挖礦,極低的手續費。但是由於其網路規模不大,導致極易成為中心化,安全性低於其他共識機制,有違區塊鏈思想。

5. PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯——分散式一致性演算法

實用拜占庭容錯在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。在分散式計算上,不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上協調計算機(Coordinator / Commander)或成員計算機 (Member /Lieutanent)可能因系統錯誤並交換錯的訊息,導致影響最終的系統一致性。拜占庭將軍問題就根據錯誤計算機的數量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。而拜占庭問題的可能解決方法為:在 N ≥ 3F+1的情況下一致性是可能解決。其中,N為計算機總數,F為有問題計算機總數。資訊在計算機間互相交換後,各計算機列出所有得到的資訊,以大多數的結果作為解決辦法。

優點是系統運轉可以脫離幣的存在,pbft演算法共識各節點由業務的參與方或者監管方組成,安全性與穩定性由業務相關方保證;共識的時延大約在2~5秒鐘,基本達到商用實時處理的要求;共識效率高,可滿足高頻交易量的需求。缺點是當有1/3或以上記賬人停止工作後,系統將無法提供服務;當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;去中心化程度不如公有鏈上的共識機制,因此更適合多方參與的多中心商業模式。實用拜占庭容錯主要應用於央行的數字貨幣。

8. PoA(Proof-of-Authority)機制

PoA共識機制,這種共識機制能達到的TPS,相較於目前任何其他共識機制,在TPS上都要高出很多。從理論上這種共識機制能達到10000TPS,10000TPS完全足夠正常商業活動的效能要求。PoA與PoS類似,但是POS是基於持幣加時間的模式,所以同樣會造成利益分配的不均衡和大節點的產生,在PoA中,驗證者不需要在網路中持有股份,但是必須具有已知的和經過驗證的身份,這意味著驗證者不會有動機為自己的利益行事,由這些驗證者來驗證和治理DAPP的投票。如此,讓PoA的網路變得更加安全和便宜。

如果引入PoW機制進行混改,則可以實現記賬權和監督權的分離,行使監督權的節點將不再消耗算力挖礦,節約能源成本,同時也防止了礦池中心化的現象;PoW+PoA的機制不僅僅縮短了交易確認時間同時可以投票取消GAS費用,大幅降低交易成本;Gongga就是採用的這種混合共識機制,有GGA的使用者與礦工均可以參與到投票中,共同參與社群的重大決定;PoA還為不合格的礦工提供了一個制衡機制;通過PoW+PoA公平的按持幣數量與工作量分配投票權重,可以實現社群自治;通過PoW,使得Gongga有挖礦的硬性成本作為幣價的保證,又制約了單獨PoA機制裡數字貨幣過於集中的問題;PoA讓中小投資者著眼於專案的中長期的發展,中小戶更傾向於把幣放在錢包裡進行PoA而不是放在交易所隨時準備交易使得社群生態更加健康,人們會將注意力更多的放在Gongga技術與落地應用上,而不是僅僅關注短期的價格波動;在安全性上,由於PoW必須通過PoA的驗證才可生效,PoW礦工不能自行決定並改變網路規則,這有效的抵擋了51%攻擊。

共識機制的發展

迄今為止,沒有任何一種共識機制完美地解決了所有問題,每個共識機制都存在各自的短板。數字貨幣市場在不斷擴大,毫無疑問共識機制也在不斷地自我更新。

從PoW到PoS,PoS到DPoS,以及DAG的無區塊鏈概念,無疑不是對效率和安全的不斷追求。但是共識越集中(參與度越低),效率越高,也越容易出現安全和獨裁腐敗現象(和去中心化的初衷背道而馳)。只有做到各方面的平衡,通過之後的發展以及不斷的更迭,數字貨幣以及區塊鏈未來可期。目前來看,這種權衡做的最為出色的就是PoW+PoA這種混合共識機制了。