pos機制的本質(zhì)
1、區(qū)塊鏈的共識機制
一、區(qū)塊鏈共識機制的目標(biāo)
區(qū)塊鏈?zhǔn)鞘裁矗亢唵味裕瑓^(qū)塊鏈?zhǔn)且环N去中心化的數(shù)據(jù)庫,或可以叫作分布式賬本(distributed ledger)。傳統(tǒng)上所有的數(shù)據(jù)庫都是中心化的,例如一間銀行的賬本就儲存在銀行的中心服務(wù)器里。中心化數(shù)據(jù)庫的弊端是數(shù)據(jù)的安全及正確性全系于數(shù)據(jù)庫運營方(即銀行),因為任何能夠訪問中心化數(shù)據(jù)庫的人(如銀行職員或黑客)都可以破壞或修改其中的數(shù)據(jù)。
而區(qū)塊鏈技術(shù)則容許數(shù)據(jù)庫存放在全球成千上萬的電腦上,每個人的賬本通過點對點網(wǎng)絡(luò)進行同步,網(wǎng)絡(luò)中任何用戶一旦增加一筆交易,交易信息將通過網(wǎng)絡(luò)通知其他用戶驗證,記錄到各自的賬本中。區(qū)塊鏈之所以得其名是因為它是由一個個包含交易信息的區(qū)塊(block)從后向前有序鏈接起來的數(shù)據(jù)結(jié)構(gòu)。
很多人對區(qū)塊鏈的疑問是,如果每一個用戶都擁有一個獨立的賬本,那么是否意味著可以在自己的賬本上添加任意的交易信息,而成千上萬個賬本又如何保證記賬的一致性? 解決記賬一致性問題正是區(qū)塊鏈共識機制的目標(biāo) 。區(qū)塊鏈共識機制旨在保證分布式系統(tǒng)里所有節(jié)點中的數(shù)據(jù)完全相同并且能夠?qū)δ硞€提案(proposal)(例如是一項交易紀(jì)錄)達成一致。然而分布式系統(tǒng)由于引入了多個節(jié)點,所以系統(tǒng)中會出現(xiàn)各種非常復(fù)雜的情況;隨著節(jié)點數(shù)量的增加,節(jié)點失效或故障、節(jié)點之間的網(wǎng)絡(luò)通信受到干擾甚至阻斷等就變成了常見的問題,解決分布式系統(tǒng)中的各種邊界條件和意外情況也增加了解決分布式一致性問題的難度。
區(qū)塊鏈又可分為三種:
公有鏈:全世界任何人都可以隨時進入系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認(rèn)交易、競爭記賬的區(qū)塊鏈。公有鏈通常被認(rèn)為是“完全去中心化“的,因為沒有任何人或機構(gòu)可以控制或篡改其中數(shù)據(jù)的讀寫。公有鏈一般會通過代幣機制鼓勵參與者競爭記賬,來確保數(shù)據(jù)的安全性。
聯(lián)盟鏈:聯(lián)盟鏈?zhǔn)侵赣腥舾蓚€機構(gòu)共同參與管理的區(qū)塊鏈。每個機構(gòu)都運行著一個或多個節(jié)點,其中的數(shù)據(jù)只允許系統(tǒng)內(nèi)不同的機構(gòu)進行讀寫和發(fā)送交易,并且共同來記錄交易數(shù)據(jù)。這類區(qū)塊鏈被認(rèn)為是“部分去中心化”。
私有鏈:指其寫入權(quán)限是由某個組織和機構(gòu)控制的區(qū)塊鏈。參與節(jié)點的資格會被嚴(yán)格的限制,由于參與的節(jié)點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊、并且能夠做到身份認(rèn)證等金融行業(yè)必須的要求。相比中心化數(shù)據(jù)庫,私有鏈能夠防止機構(gòu)內(nèi)單節(jié)點故意隱瞞或篡改數(shù)據(jù)。即使發(fā)生錯誤,也能夠迅速發(fā)現(xiàn)來源,因此許多大型金融機構(gòu)在目前更加傾向于使用私有鏈技術(shù)。
二、區(qū)塊鏈共識機制的分類
解決分布式一致性問題的難度催生了數(shù)種共識機制,它們各有其優(yōu)缺點,亦適用于不同的環(huán)境及問題。被眾人常識的共識機制有:
l PoW(Proof of Work)工作量證明機制
l PoS(Proof of Stake)股權(quán)/權(quán)益證明機制
l DPoS(Delegated Proof of Stake)股份授權(quán)證明機制
l PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯算法
l DBFT(Delegated Byzantine Fault Tolerance)授權(quán)拜占庭容錯算法
l SCP (Stellar Consensus Protocol ) 恒星共識協(xié)議
l RPCA(Ripple Protocol Consensus Algorithm)Ripple共識算法
l Pool驗證池共識機制
(一)PoW(Proof of Work)工作量證明機制
1. 基本介紹
在該機制中,網(wǎng)絡(luò)上的每一個節(jié)點都在使用SHA256哈希函數(shù)(hash function) 運算一個不斷變化的區(qū)塊頭的哈希值 (hash sum)。 共識要求算出的值必須等于或小于某個給定的值。 在分布式網(wǎng)絡(luò)中,所有的參與者都需要使用不同的隨機數(shù)來持續(xù)計算該哈希值,直至達到目標(biāo)為止。當(dāng)一個節(jié)點的算出確切的值,其他所有的節(jié)點必須相互確認(rèn)該值的正確性。之后新區(qū)塊中的交易將被驗證以防欺詐。
在比特幣中,以上運算哈希值的節(jié)點被稱作“礦工”,而PoW的過程被稱為“挖礦”。挖礦是一個耗時的過程,所以也提出了相應(yīng)的激勵機制(例如向礦工授予一小部分比特幣)。PoW的優(yōu)點是完全的去中心化,其缺點是消耗大量算力造成了的資源浪費,達成共識的周期也比較長,共識效率低下,因此其不是很適合商業(yè)使用。
2. 加密貨幣的應(yīng)用實例
比特幣(Bitcoin) 及萊特幣(Litecoin)。以太坊(Ethereum) 的前三個階段(Frontier前沿、Homestead家園、Metropolis大都會)皆采用PoW機制,其第四個階段 (Serenity寧靜) 將采用權(quán)益證明機制。PoW適用于公有鏈。
PoW機制雖然已經(jīng)成功證明了其長期穩(wěn)定和相對公平,但在現(xiàn)有框架下,采用PoW的“挖礦”形式,將消耗大量的能源。其消耗的能源只是不停的去做SHA256的運算來保證工作量公平,并沒有其他的存在意義。而目前BTC所能達到的交易效率為約5TPS(5筆/秒),以太坊目前受到單區(qū)塊GAS總額的上限,所能達到的交易頻率大約是25TPS,與平均千次每秒、峰值能達到萬次每秒處理效率的VISA和MASTERCARD相差甚遠。
3. 簡圖理解模式
(ps:其中A、B、C、D計算哈希值的過程即為“挖礦”,為了犒勞時間成本的付出,機制會以一定數(shù)量的比特幣作為激勵。)
(Ps:PoS模式下,你的“挖礦”收益正比于你的幣齡(幣的數(shù)量*天數(shù)),而與電腦的計算性能無關(guān)。我們可以認(rèn)為任何具有概率性事件的累計都是工作量證明,如淘金。假設(shè)礦石含金量為p% 質(zhì)量, 當(dāng)你得到一定量黃金時,我們可以認(rèn)為你一定挖掘了1/p 質(zhì)量的礦石。而且得到的黃金數(shù)量越多,這個證明越可靠。)
(二)PoS(Proof of Stake)股權(quán)/權(quán)益證明機制
1.基本介紹
PoS要求人們證明貨幣數(shù)量的所有權(quán),其相信擁有貨幣數(shù)量多的人攻擊網(wǎng)絡(luò)的可能性低。基于賬戶余額的選擇是非常不公平的,因為單一最富有的人勢必在網(wǎng)絡(luò)中占主導(dǎo)地位,所以提出了許多解決方案。
在股權(quán)證明機制中,每當(dāng)創(chuàng)建一個區(qū)塊時,礦工需要創(chuàng)建一個稱為“幣權(quán)”的交易,這個交易會按照一定比例預(yù)先將一些幣發(fā)給礦工。然后股權(quán)證明機制根據(jù)每個節(jié)點持有代幣的比例和時間(幣齡), 依據(jù)算法等比例地降低節(jié)點的挖礦難度,以加快節(jié)點尋找隨機數(shù)的速度,縮短達成共識所需的時間。
與PoW相比,PoS可以節(jié)省更多的能源,更有效率。但是由于挖礦成本接近于0,因此可能會遭受攻擊。且PoS在本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點進行挖礦運算,所以它同樣難以應(yīng)用于商業(yè)領(lǐng)域。
2.數(shù)字貨幣的應(yīng)用實例
PoS機制下較為成熟的數(shù)字貨幣是點點幣(Peercoin)和未來幣(NXT),相比于PoW,PoS機制節(jié)省了能源,引入了" 幣天 "這個概念來參與隨機運算。PoS機制能夠讓更多的持幣人參與到記賬這個工作中去,而不需要額外購買設(shè)備(礦機、顯卡等)。每個單位代幣的運算能力與其持有的時間長成正相關(guān),即持有人持有的代幣數(shù)量越多、時間越長,其所能簽署、生產(chǎn)下一個區(qū)塊的概率越大。一旦其簽署了下一個區(qū)塊,持幣人持有的幣天即清零,重新進入新的循環(huán)。
PoS適用于公有鏈。
3.區(qū)塊簽署人的產(chǎn)生方式
在PoS機制下,因為區(qū)塊的簽署人由隨機產(chǎn)生,則一些持幣人會長期、大額持有代幣以獲得更大概率地產(chǎn)生區(qū)塊,盡可能多的去清零他的"幣天"。因此整個網(wǎng)絡(luò)中的流通代幣會減少,從而不利于代幣在鏈上的流通,價格也更容易受到波動。由于可能會存在少量大戶持有整個網(wǎng)絡(luò)中大多數(shù)代幣的情況,整個網(wǎng)絡(luò)有可能會隨著運行時間的增長而越來越趨向于中心化。相對于PoW而言,PoS機制下作惡的成本很低,因此對于分叉或是雙重支付的攻擊,需要更多的機制來保證共識。穩(wěn)定情況下,每秒大約能產(chǎn)生12筆交易,但因為網(wǎng)絡(luò)延遲及共識問題,需要約60秒才能完整廣播共識區(qū)塊。長期來看,生成區(qū)塊(即清零"幣天")的速度遠低于網(wǎng)絡(luò)傳播和廣播的速度,因此在PoS機制下需要對生成區(qū)塊進行"限速",來保證主網(wǎng)的穩(wěn)定運行。
4.簡圖理解模式
(PS:擁有越多“股份”權(quán)益的人越容易獲取賬權(quán)。是指獲得多少貨幣,取決于你挖礦貢獻的工作量,電腦性能越好,分給你的礦就會越多。)
(在純POS體系中,如NXT,沒有挖礦過程,初始的股權(quán)分配已經(jīng)固定,之后只是股權(quán)在交易者之中流轉(zhuǎn),非常類似于現(xiàn)實世界的股票。)
(三)DPoS(Delegated Proof of Stake)股份授權(quán)證明機制
1.基本介紹
由于PoS的種種弊端,由此比特股首創(chuàng)的權(quán)益代表證明機制 DPoS(Delegated Proof of Stake)應(yīng)運而生。DPoS 機制中的核心的要素是選舉,每個系統(tǒng)原生代幣的持有者在區(qū)塊鏈里面都可以參與選舉,所持有的代幣余額即為投票權(quán)重。通過投票,股東可以選舉出理事會成員,也可以就關(guān)系平臺發(fā)展方向的議題表明態(tài)度,這一切構(gòu)成了社區(qū)自治的基礎(chǔ)。股東除了自己投票參與選舉外,還可以通過將自己的選舉票數(shù)授權(quán)給自己信任的其它賬戶來代表自己投票。
具體來說, DPoS由比特股(Bitshares)項目組發(fā)明。股權(quán)擁有著選舉他們的代表來進行區(qū)塊的生成和驗證。DPoS類似于現(xiàn)代企業(yè)董事會制度,比特股系統(tǒng)將代幣持有者稱為股東,由股東投票選出101名代表, 然后由這些代表負(fù)責(zé)生成和驗證區(qū)塊。 持幣者若想稱為一名代表,需先用自己的公鑰去區(qū)塊鏈注冊,獲得一個長度為32位的特有身份標(biāo)識符,股東可以對這個標(biāo)識符以交易的形式進行投票,得票數(shù)前101位被選為代表。
代表們輪流產(chǎn)生區(qū)塊,收益(交易手續(xù)費)平分。DPoS的優(yōu)點在于大幅減少了參與區(qū)塊驗證和記賬的節(jié)點數(shù)量,從而縮短了共識驗證所需要的時間,大幅提高了交易效率。從某種角度來說,DPoS可以理解為多中心系統(tǒng),兼具去中心化和中心化優(yōu)勢。優(yōu)點:大幅縮小參與驗證和記賬節(jié)點的數(shù)量,可以達到秒級的共識驗證。缺點:投票積極性不高,絕大部分代幣持有者未參與投票;另整個共識機制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的。
DPoS機制要求在產(chǎn)生下一個區(qū)塊之前,必須驗證上一個區(qū)塊已經(jīng)被受信任節(jié)點所簽署。相比于PoS的" 全民挖礦 ",DPoS則是利用類似" 代表大會 "的制度來直接選取可信任節(jié)點,由這些可信任節(jié)點(即見證人)來代替其他持幣人行使權(quán)力,見證人節(jié)點要求長期在線,從而解決了因為PoS簽署區(qū)塊人不是經(jīng)常在線而可能導(dǎo)致的產(chǎn)塊延誤等一系列問題。 DPoS機制通常能達到萬次每秒的交易速度,在網(wǎng)絡(luò)延遲低的情況下可以達到十萬秒級別,非常適合企業(yè)級的應(yīng)用。 因為公信寶數(shù)據(jù)交易所對于數(shù)據(jù)交易頻率要求高,更要求長期穩(wěn)定性,因此DPoS是非常不錯的選擇。
2. 股份授權(quán)證明機制下的機構(gòu)與系統(tǒng)
理事會是區(qū)塊鏈網(wǎng)絡(luò)的權(quán)力機構(gòu),理事會的人選由系統(tǒng)股東(即持幣人)選舉產(chǎn)生,理事會成員有權(quán)發(fā)起議案和對議案進行投票表決。
理事會的重要職責(zé)之一是根據(jù)需要調(diào)整系統(tǒng)的可變參數(shù),這些參數(shù)包括:
l 費用相關(guān):各種交易類型的費率。
l 授權(quán)相關(guān):對接入網(wǎng)絡(luò)的第三方平臺收費及補貼相關(guān)參數(shù)。
l 區(qū)塊生產(chǎn)相關(guān):區(qū)塊生產(chǎn)間隔時間,區(qū)塊獎勵。
l 身份審核相關(guān):審核驗證異常機構(gòu)賬戶的信息情況。
l 同時,關(guān)系到理事會利益的事項將不通過理事會設(shè)定。
在Finchain系統(tǒng)中,見證人負(fù)責(zé)收集網(wǎng)絡(luò)運行時廣播出來的各種交易并打包到區(qū)塊中,其工作類似于比特幣網(wǎng)絡(luò)中的礦工,在采用 PoW(工作量證明)的比特幣網(wǎng)絡(luò)中,由一種獲獎概率取決于哈希算力的抽彩票方式來決定哪個礦工節(jié)點產(chǎn)生下一個區(qū)塊。而在采用 DPoS 機制的金融鏈網(wǎng)絡(luò)中,通過理事會投票決定見證人的數(shù)量,由持幣人投票來決定見證人人選。入選的活躍見證人按順序打包交易并生產(chǎn)區(qū)塊,在每一輪區(qū)塊生產(chǎn)之后,見證人會在隨機洗牌決定新的順序后進入下一輪的區(qū)塊生產(chǎn)。
3. DPoS的應(yīng)用實例
比特股(bitshares) 采用DPoS。DPoS主要適用于聯(lián)盟鏈。
4.簡圖理解模式
(四)PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯算法
1. 基本介紹
PBFT是一種基于嚴(yán)格數(shù)學(xué)證明的算法,需要經(jīng)過三個階段的信息交互和局部共識來達成最終的一致輸出。三個階段分別為預(yù)備 (pre-prepare)、準(zhǔn)備 (prepare)、落實 (commit)。PBFT算法證明系統(tǒng)中只要有2/3比例以上的正常節(jié)點,就能保證最終一定可以輸出一致的共識結(jié)果。換言之,在使用PBFT算法的系統(tǒng)中,至多可以容忍不超過系統(tǒng)全部節(jié)點數(shù)量1/3的失效節(jié)點 (包括有意誤導(dǎo)、故意破壞系統(tǒng)、超時、重復(fù)發(fā)送消息、偽造簽名等的節(jié)點,又稱為”拜占庭”節(jié)點)。
2. PBFT的應(yīng)用實例
著名聯(lián)盟鏈Hyperledger Fabric v0.6采用的是PBFT,v1.0又推出PBFT的改進版本SBFT。PBFT主要適用于私有鏈和聯(lián)盟鏈。
3. 簡圖理解模式
上圖顯示了一個簡化的PBFT的協(xié)議通信模式,其中C為客戶端,0 – 3表示服務(wù)節(jié)點,其中0為主節(jié)點,3為故障節(jié)點。整個協(xié)議的基本過程如下:
(1) 客戶端發(fā)送請求,激活主節(jié)點的服務(wù)操作;
(2) 當(dāng)主節(jié)點接收請求后,啟動三階段的協(xié)議以向各從節(jié)點廣播請求;
(a) 序號分配階段,主節(jié)點給請求賦值一個序號n,廣播序號分配消息和客戶端的請求消息m,并將構(gòu)造pre-prepare消息給各從節(jié)點;
(b) 交互階段,從節(jié)點接收pre-prepare消息,向其他服務(wù)節(jié)點廣播prepare消息;
(c) 序號確認(rèn)階段,各節(jié)點對視圖內(nèi)的請求和次序進行驗證后,廣播commit消息,執(zhí)行收到的客戶端的請求并給客戶端響應(yīng)。
(3) 客戶端等待來自不同節(jié)點的響應(yīng),若有m+1個響應(yīng)相同,則該響應(yīng)即為運算的結(jié)果;
(五)DBFT(Delegated Byzantine Fault Tolerance)授權(quán)拜占庭容錯算法
1. 基本介紹
DBFT建基于PBFT的基礎(chǔ)上,在這個機制當(dāng)中,存在兩種參與者,一種是專業(yè)記賬的“超級節(jié)點”,一種是系統(tǒng)當(dāng)中不參與記賬的普通用戶。普通用戶基于持有權(quán)益的比例來投票選出超級節(jié)點,當(dāng)需要通過一項共識(記賬)時,在這些超級節(jié)點中隨機推選出一名發(fā)言人擬定方案,然后由其他超級節(jié)點根據(jù)拜占庭容錯算法(見上文),即少數(shù)服從多數(shù)的原則進行表態(tài)。如果超過2/3的超級節(jié)點表示同意發(fā)言人方案,則共識達成。這個提案就成為最終發(fā)布的區(qū)塊,并且該區(qū)塊是不可逆的,所有里面的交易都是百分之百確認(rèn)的。如果在一定時間內(nèi)還未達成一致的提案,或者發(fā)現(xiàn)有非法交易的話,可以由其他超級節(jié)點重新發(fā)起提案,重復(fù)投票過程,直至達成共識。
2. DBFT的應(yīng)用實例
國內(nèi)加密貨幣及區(qū)塊鏈平臺NEO是 DBFT算法的研發(fā)者及采用者。
3. 簡圖理解模式
假設(shè)系統(tǒng)中只有四個由普通用戶投票選出的超級節(jié)點,當(dāng)需要通過一項共識時,系統(tǒng)就會從代表中隨機選出一名發(fā)言人擬定方案。發(fā)言人會將擬好的方案交給每位代表,每位代表先判斷發(fā)言人的計算結(jié)果與它們自身紀(jì)錄的是否一致,再與其它代表商討驗證計算結(jié)果是否正確。如果2/3的代表一致表示發(fā)言人方案的計算結(jié)果是正確的,那么方案就此通過。
如果只有不到2/3的代表達成共識,將隨機選出一名新的發(fā)言人,再重復(fù)上述流程。這個體系旨在保護系統(tǒng)不受無法行使職能的領(lǐng)袖影響。
上圖假設(shè)全體節(jié)點都是誠實的,達成100%共識,將對方案A(區(qū)塊)進行驗證。
鑒于發(fā)言人是隨機選出的一名代表,因此他可能會不誠實或出現(xiàn)故障。上圖假設(shè)發(fā)言人給3名代表中的2名發(fā)送了惡意信息(方案B),同時給1名代表發(fā)送了正確信息(方案A)。
在這種情況下該惡意信息(方案B)無法通過。中間與右邊的代表自身的計算結(jié)果與發(fā)言人發(fā)送的不一致,因此就不能驗證發(fā)言人擬定的方案,導(dǎo)致2人拒絕通過方案。左邊的代表因接收了正確信息,與自身的計算結(jié)果相符,因此能確認(rèn)方案,繼而成功完成1次驗證。但本方案仍無法通過,因為不足2/3的代表達成共識。接著將隨機選出一名新發(fā)言人,重新開始共識流程。
上圖假設(shè)發(fā)言人是誠實的,但其中1名代表出現(xiàn)了異常;右邊的代表向其他代表發(fā)送了不正確的信息(B)。
在這種情況下發(fā)言人擬定的正確信息(A)依然可以獲得驗證,因為左邊與中間誠實的代表都可以驗證由誠實的發(fā)言人擬定的方案,達成2/3的共識。代表也可以判斷到底是發(fā)言人向右邊的節(jié)點說謊還是右邊的節(jié)點不誠實。
(六)SCP (Stellar Consensus Protocol ) 恒星共識協(xié)議
1. 基本介紹
SCP 是 Stellar (一種基于互聯(lián)網(wǎng)的去中心化全球支付協(xié)議) 研發(fā)及使用的共識算法,其建基于聯(lián)邦拜占庭協(xié)議 (Federated Byzantine Agreement) 。傳統(tǒng)的非聯(lián)邦拜占庭協(xié)議(如上文的PBFT和DBFT)雖然確保可以通過分布式的方法達成共識,并達到拜占庭容錯 (至多可以容忍不超過系統(tǒng)全部節(jié)點數(shù)量1/3的失效節(jié)點),它是一個中心化的系統(tǒng) — 網(wǎng)絡(luò)中節(jié)點的數(shù)量和身份必須提前知曉且驗證過。而聯(lián)邦拜占庭協(xié)議的不同之處在于它能夠去中心化的同時,又可以做到拜占庭容錯。
[…]
(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共識算法
1. 基本介紹
RPCA是Ripple(一種基于互聯(lián)網(wǎng)的開源支付協(xié)議,可以實現(xiàn)去中心化的貨幣兌換、支付與清算功能)研發(fā)及使用的共識算法。在 Ripple 的網(wǎng)絡(luò)中,交易由客戶端(應(yīng)用)發(fā)起,經(jīng)過追蹤節(jié)點(tracking node)或驗證節(jié)點(validating node)把交易廣播到整個網(wǎng)絡(luò)中。追蹤節(jié)點的主要功能是分發(fā)交易信息以及響應(yīng)客戶端的賬本請求。驗證節(jié)點除包含追蹤節(jié)點的所有功能外,還能夠通過共識協(xié)議,在賬本中增加新的賬本實例數(shù)據(jù)。
Ripple 的共識達成發(fā)生在驗證節(jié)點之間,每個驗證節(jié)點都預(yù)先配置了一份可信任節(jié)點名單,稱為 UNL(Unique Node List)。在名單上的節(jié)點可對交易達成進行投票。共識過程如下:
(1) 每個驗證節(jié)點會不斷收到從網(wǎng)絡(luò)發(fā)送過來的交易,通過與本地賬本數(shù)據(jù)驗證后,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidate set)。交易候選集里面還包括之前共識過程無法確認(rèn)而遺留下來的交易。
(2) 每個驗證節(jié)點把自己的交易候選集作為提案發(fā)送給其他驗證節(jié)點。
(3) 驗證節(jié)點在收到其他節(jié)點發(fā)來的提案后,如果不是來自UNL上的節(jié)點,則忽略該提案;如果是來自UNL上的節(jié)點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內(nèi),當(dāng)交易獲得超過50%的票數(shù)時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認(rèn)。
(4) 驗證節(jié)點把超過50%票數(shù)的交易作為提案發(fā)給其他節(jié)點,同時提高所需票數(shù)的閾值到60%,重復(fù)步驟(3)、步驟(4),直到閾值達到80%。
(5) 驗證節(jié)點把經(jīng)過80%UNL節(jié)點確認(rèn)的交易正式寫入本地的賬本數(shù)據(jù)中,稱為最后關(guān)閉賬本(last closed ledger),即賬本最后(最新)的狀態(tài)。
在Ripple的共識算法中,參與投票節(jié)點的身份是事先知道的,因此,算法的效率比PoW等匿名共識算法要高效,交易的確認(rèn)時間只需幾秒鐘。這點也決定了該共識算法只適合于聯(lián)盟鏈或私有鏈。Ripple共識算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網(wǎng)絡(luò)中20%的節(jié)點出現(xiàn)拜占庭錯誤而不影響正確的共識。
2. 簡圖理解模式
共識過程節(jié)點交互示意圖:
共識算法流程:
(八)POOL驗證池共識機制
Pool驗證池共識機制是基于傳統(tǒng)的分布式一致性算法(Paxos和Raft)的基礎(chǔ)上開發(fā)的機制。Paxos算法是1990年提出的一種基于消息傳遞且具有高度容錯特性的一致性算法。過去, Paxos一直是分布式協(xié)議的標(biāo)準(zhǔn),但是Paxos難于理解,更難以實現(xiàn)。Raft則是在2013年發(fā)布的一個比Paxos簡單又能實現(xiàn)Paxos所解決問題的一致性算法。Paxos和Raft達成共識的過程皆如同選舉一樣,參選者需要說服大多數(shù)選民(服務(wù)器)投票給他,一旦選定后就跟隨其操作。Paxos和Raft的區(qū)別在于選舉的具體過程不同。而Pool驗證池共識機制即是在這兩種成熟的分布式一致性算法的基礎(chǔ)上,輔之以數(shù)據(jù)驗證的機制。
2、區(qū)塊鏈常見的三大共識機制
區(qū)塊鏈?zhǔn)墙⒃赑2P網(wǎng)絡(luò),由節(jié)點參與的分布式賬本系統(tǒng),最大的特點是“去中心化”。也就是說在區(qū)塊鏈系統(tǒng)中,用戶與用戶之間、用戶與機構(gòu)之間、機構(gòu)與機構(gòu)之間,無需建立彼此之間的信任,只需依靠區(qū)塊鏈協(xié)議系統(tǒng)就能實現(xiàn)交易。可是,要如何保證賬本的準(zhǔn)確性,權(quán)威性,以及可靠性?區(qū)塊鏈網(wǎng)絡(luò)上的節(jié)點為什么要參與記賬?節(jié)點如果造假怎么辦?如何防止賬本被篡改?如何保證節(jié)點間的數(shù)據(jù)一致性?……這些都是區(qū)塊鏈在建立“去中心化”交易時需要解決的問題,由此產(chǎn)生了共識機制。
所謂“共識機制”,就是通過特殊節(jié)點的投票,在很短的時間內(nèi)完成對交易的驗證和確認(rèn);當(dāng)出現(xiàn)意見不一致時,在沒有中心控制的情況下,若干個節(jié)點參與決策達成共識,即在互相沒有信任基礎(chǔ)的個體之間如何建立信任關(guān)系。
區(qū)塊鏈技術(shù)正是運用一套基于共識的數(shù)學(xué)算法,在機器之間建立“信任”網(wǎng)絡(luò),從而通過技術(shù)背書而非中心化信用機構(gòu)來進行全新的信用創(chuàng)造。
不同的區(qū)塊鏈種類需要不同的共識算法來確保區(qū)塊鏈上最后的區(qū)塊能夠在任何時候都反應(yīng)出全網(wǎng)的狀態(tài)。
目前為止,區(qū)塊鏈共識機制主要有以下幾種:POW工作量證明、POS股權(quán)證明、DPOS授權(quán)股權(quán)證明、Paxos、PBFT(實用拜占庭容錯算法)、dBFT、DAG(有向無環(huán)圖)
接下來我們主要說說常見的POW、POS、DPOS共識機制的原理及應(yīng)用場景
概念:
工作量證明機制(Proof of work ),最早是一個經(jīng)濟學(xué)名詞,指系統(tǒng)為達到某一目標(biāo)而設(shè)置的度量方法。簡單理解就是一份證明,用來確認(rèn)你做過一定量的工作,通過對工作的結(jié)果進行認(rèn)證來證明完成了相應(yīng)的工作量。
工作量證明機制具有完全去中心化的優(yōu)點,在以工作量證明機制為共識的區(qū)塊鏈中,節(jié)點可以自由進出,并通過計算隨機哈希散列的數(shù)值解爭奪記賬權(quán),求得正確的數(shù)值解以生成區(qū)塊的能力是節(jié)點算力的具體表現(xiàn)。
應(yīng)用:
POW最著名的應(yīng)用當(dāng)屬比特幣。在比特幣網(wǎng)絡(luò)中,在Block的生成過程中,礦工需要解決復(fù)雜的密碼數(shù)學(xué)難題,尋找到一個符合要求的Block Hash由N個前導(dǎo)零構(gòu)成,零的個數(shù)取決于網(wǎng)絡(luò)的難度值。這期間需要經(jīng)過大量嘗試計算(工作量),計算時間取決于機器的哈希運算速度。
而尋找合理hash是一個概率事件,當(dāng)節(jié)點擁有占全網(wǎng)n%的算力時,該節(jié)點即有n/100的概率找到Block Hash。在節(jié)點成功找到滿足的Hash值之后,會馬上對全網(wǎng)進行廣播打包區(qū)塊,網(wǎng)絡(luò)的節(jié)點收到廣播打包區(qū)塊,會立刻對其進行驗證。
如果驗證通過,則表明已經(jīng)有節(jié)點成功解迷,自己就不再競爭當(dāng)前區(qū)塊,而是選擇接受這個區(qū)塊,記錄到自己的賬本中,然后進行下一個區(qū)塊的競爭猜謎。網(wǎng)絡(luò)中只有最快解謎的區(qū)塊,才會添加的賬本中,其他的節(jié)點進行復(fù)制,以此保證了整個賬本的唯一性。
假如節(jié)點有任何的作弊行為,都會導(dǎo)致網(wǎng)絡(luò)的節(jié)點驗證不通過,直接丟棄其打包的區(qū)塊,這個區(qū)塊就無法記錄到總賬本中,作弊的節(jié)點耗費的成本就白費了,因此在巨大的挖礦成本下,也使得礦工自覺自愿的遵守比特幣系統(tǒng)的共識協(xié)議,也就確保了整個系統(tǒng)的安全。
優(yōu)缺點
優(yōu)點:結(jié)果能被快速驗證,系統(tǒng)承擔(dān)的節(jié)點量大,作惡成本高進而保證礦工的自覺遵守性。
缺點:需要消耗大量的算法,達成共識的周期較長
概念:
權(quán)益證明機制(Proof of Stake),要求證明人提供一定數(shù)量加密貨幣的所有權(quán)。
權(quán)益證明機制的運作方式是,當(dāng)創(chuàng)造一個新區(qū)塊時,礦工需要創(chuàng)建一個“幣權(quán)”交易,交易會按照預(yù)先設(shè)定的比例把一些幣發(fā)送給礦工本身。權(quán)益證明機制根據(jù)每個節(jié)點擁有代幣的比例和時間,依據(jù)算法等比例地降低節(jié)點的挖礦難度,從而加快了尋找隨機數(shù)的速度。
應(yīng)用:
2012年,化名Sunny King的網(wǎng)友推出了Peercoin(點點幣),是權(quán)益證明機制在加密電子貨幣中的首次應(yīng)用。PPC最大創(chuàng)新是其采礦方式混合了POW及POS兩種方式,采用工作量證明機制發(fā)行新幣,采用權(quán)益證明機制維護網(wǎng)絡(luò)安全。
為了實現(xiàn)POS,Sunny King借鑒于中本聰?shù)腃oinbase,專門設(shè)計了一種特殊類型交易,叫Coinstake。
上圖為Coinstake工作原理,其中幣齡指的是貨幣的持有時間段,假如你擁有10個幣,并且持有10天,那你就收集到了100天的幣齡。如果你使用了這10個幣,幣齡被消耗(銷毀)了。
優(yōu)缺點:
優(yōu)點:縮短達成共識所需的時間,比工作量證明更加節(jié)約能源。
缺點:本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點進行挖礦運算,轉(zhuǎn)賬真實性較難保證
概念:
授權(quán)股權(quán)證明機制(Delegated Proof of Stake),與董事會投票類似,該機制擁有一個內(nèi)置的實時股權(quán)人投票系統(tǒng),就像系統(tǒng)隨時都在召開一個永不散場的股東大會,所有股東都在這里投票決定公司決策。
授權(quán)股權(quán)證明在嘗試解決傳統(tǒng)的PoW機制和PoS機制問題的同時,還能通過實施科技式的民主抵消中心化所帶來的負(fù)面效應(yīng)。基于DPoS機制建立的區(qū)塊鏈的去中心化依賴于一定數(shù)量的代表,而非全體用戶。在這樣的區(qū)塊鏈中,全體節(jié)點投票選舉出一定數(shù)量的節(jié)點代表,由他們來代理全體節(jié)點確認(rèn)區(qū)塊、維持系統(tǒng)有序運行。
同時,區(qū)塊鏈中的全體節(jié)點具有隨時罷免和任命代表的權(quán)力。如果必要,全體節(jié)點可以通過投票讓現(xiàn)任節(jié)點代表失去代表資格,重新選舉新的代表,實現(xiàn)實時的民主。
應(yīng)用:
比特股(Bitshare)是一類采用DPOS機制的密碼貨幣。通過引入了見證人這個概念,見證人可以生成區(qū)塊,每一個持有比特股的人都可以投票選舉見證人。得到總同意票數(shù)中的前N個(N通常定義為101)候選者可以當(dāng)選為見證人,當(dāng)選見證人的個數(shù)(N)需滿足:至少一半的參與投票者相信N已經(jīng)充分地去中心化。
見證人的候選名單每個維護周期(1天)更新一次。見證人然后隨機排列,每個見證人按序有2秒的權(quán)限時間生成區(qū)塊,若見證人在給定的時間片不能生成區(qū)塊,區(qū)塊生成權(quán)限交給下一個時間片對應(yīng)的見證人。DPoS的這種設(shè)計使得區(qū)塊的生成更為快速,也更加節(jié)能。
DPOS充分利用了持股人的投票,以公平民主的方式達成共識,他們投票選出的N個見證人,可以視為N個礦池,而這N個礦池彼此的權(quán)利是完全相等的。持股人可以隨時通過投票更換這些見證人(礦池),只要他們提供的算力不穩(wěn)定,計算機宕機,或者試圖利用手中的權(quán)力作惡。
優(yōu)缺點:
優(yōu)點:縮小參與驗證和記賬節(jié)點的數(shù)量,從而達到秒級的共識驗證
缺點:中心程度較弱,安全性相比POW較弱,同時節(jié)點代理是人為選出的,公平性相比POS較低,同時整個共識機制還是依賴于代幣的增發(fā)來維持代理節(jié)點的穩(wěn)定性。
3、兩種共識機制對比(PoW vs PoS)
區(qū)塊鏈中最核心的架構(gòu)就是共識機制,可以說是區(qū)塊鏈的驅(qū)動引擎,發(fā)展這么多年,目前主流比較明確經(jīng)得住考驗的就只剩下PoW(Proof of Work)與PoS(Proof of Stake)兩種機制。簡單概述下,PoW系統(tǒng)的特點是通過消耗大量算力來計算特定算法的解(典型如哈希),第一個算出結(jié)果的有權(quán)生成區(qū)塊,同時也會得到coin作為獎勵(這也是coin的生產(chǎn)與分發(fā)過程,形象地稱為Mining),采用PoW的典型區(qū)塊鏈有Bitcoin和Ethereum,目前PoW也是運行時間最長,被公認(rèn)為是最可靠安全的共識機制; 其本質(zhì)是通過消耗大量算力來實現(xiàn)系統(tǒng)內(nèi)的逆熵過程,保證系統(tǒng)的長期安全與穩(wěn)定 。但PoW被廣為詬病的也是其消耗太多的能源資源,這方面PoS就被認(rèn)為是更為綠色的解決方案,顧名思義PoS是通過質(zhì)押系統(tǒng)中的資產(chǎn)即coin來成為一個質(zhì)押者(staker),這樣就有權(quán)產(chǎn)出區(qū)塊,質(zhì)押份額越多,獲得產(chǎn)出區(qū)塊權(quán)的概率就越高,也代表著獎勵越多。
在分布式系統(tǒng)中有一個 CAP 定理,是指一個分布式系統(tǒng)中存在著三元悖論,即不可能同時滿足這三個特性:一致性(Consistency)、可用性(Availability)和分區(qū)容錯性 (Partition tolerance),而只能滿足其中兩個。區(qū)塊鏈作為一種分布式網(wǎng)絡(luò),這個定理也逐漸演變成了區(qū)塊鏈的三元悖論,即 安全性(Security) 、 去中心化(Decentralization) 和 可擴展性 (Scalability) ,也是同時只能滿足兩個特性。
整體上看PoW系統(tǒng)更注重的是 安全性(Security) 與 去中心化(Decentralization) ,放棄 可擴展性 (Scalability) ,這也是Bitcoin網(wǎng)絡(luò)的吞吐量非常慢的原因。而PoS系統(tǒng)更關(guān)注的是 可擴展性 (Scalability) 與 去中心化(Decentralization) ,但就PoS能否真的 實現(xiàn) 去中心化(Decentralization) ,我是比較持懷疑態(tài)度的。從保守主義與系統(tǒng)的更長期穩(wěn)定的角度出發(fā),我個人是堅定地站在PoW這邊的,可能跟自身保守的性格有關(guān),并不是特別看好PoS作為基礎(chǔ)層能比較穩(wěn)定。特別是像這次 5月份的Luna事件 ,事件大概的過程是Luna鏈上的算法穩(wěn)定幣UST缺乏價值支撐最終脫錨,其核心問題在于UST的錨定設(shè)計試圖用一個PoS股權(quán)系統(tǒng)去支撐其錨定美元,而且還超發(fā)了太多UST,再加上UST與Luna的兌換設(shè)計缺陷最終導(dǎo)致Luna自身的死亡螺旋。但這個事件更大的意義應(yīng)該是敲響了一個警鐘,PoS機制在面對空頭資本砸盤時真的還能維持穩(wěn)定、維持所謂的去中心化嗎?可能到時節(jié)點數(shù)量萎縮的速度會很快,逐漸趨于中心化。
所有系統(tǒng)設(shè)計都需要根據(jù)自身定位來折中,以下從價值錨定的角度,簡單分析下為什么長期來看PoW會更有優(yōu)勢。
在PoW系統(tǒng)中三股主要的參與者分別是研發(fā)人員,投資者(或者叫用戶)與Miner,這三者的相互制衡,使得這個系統(tǒng)達到一個穩(wěn)定平衡的狀態(tài)。而PoS系統(tǒng)中,將Miner這個重要的制衡力量移除了,投資者和Miner變成了同一群體 質(zhì)押者(stakers) ,因此該群體濫用權(quán)力的行為會變得相對不受限制,并且該鏈隨后的發(fā)展方向也可能會更加不平衡,更容易傾向有利于 質(zhì)押者(stakers) 群體的方向。
PoW系統(tǒng)很好的闡述了什么是被普遍認(rèn)可的價值,抽象上來看就是高代價的稀缺性 ,高代價與稀缺性兩者缺一不可。PoS最多只能實現(xiàn)其中一個稀缺性。
Miner為了在鏈上生產(chǎn)區(qū)塊賺取coin,不僅需要持續(xù)支付高額電力成本,還必須不斷投入研發(fā)、升級硬件、優(yōu)化基礎(chǔ)設(shè)施和運營規(guī)模來保持其競爭力。最終結(jié)果是,能夠長期持續(xù)盈利的Miner并不會是一個一層不變的群體,而是總在競爭中淘汰掉效率太低的Miner,使高效率的Miner能存活下來。這也更有利于 去中心化(Decentralization) ,因為不斷變化的Miner群體意味著沒有一個Miner可以在相當(dāng)長的時間內(nèi)保持網(wǎng)絡(luò)的大部分算力,除非他們通過嚴(yán)酷的競爭考驗,不斷優(yōu)化自身來提供更多的算力。
而PoS系統(tǒng)中的質(zhì)押者實際上并多少真正的風(fēng)險投入,也沒有優(yōu)勝劣汰的嚴(yán)酷競爭機制,他們只需要簡單地運行一個staker節(jié)點就可以躺著賺利息,本質(zhì)上只是將自己在銀行系統(tǒng)里的錢簡單的轉(zhuǎn)化為鏈上資本,就可以坐地收割后進入這個系統(tǒng)的新人。這種行為并沒有太多難度,只是簡單地賺取“無風(fēng)險”利息,他們并沒有將資本轉(zhuǎn)化為任何形式的需要面臨風(fēng)險考驗的投資。
而且當(dāng)發(fā)生硬分叉時,PoW的Miner選擇支持哪條鏈時會更為謹(jǐn)慎,因為他們需要投入高昂的電力成本來為他們的選擇背書,一旦選錯了將損失所有投入成本。PoS系統(tǒng)如果發(fā)生硬分叉,質(zhì)押的coin作為系統(tǒng)內(nèi)部狀態(tài)的一部分,硬分叉后質(zhì)押者將在兩條不同鏈上都擁有相同數(shù)量的資產(chǎn),由于沒有什么沉默成本,導(dǎo)致質(zhì)押者更愿意兩邊都支持,從而使硬分叉更容易且更頻繁地出現(xiàn),這被稱為 nothing at stake 問題。
PoW是真正能做到無準(zhǔn)入限制的(Permissionless),就是說已經(jīng)在這個系統(tǒng)中的老人無法限制新人加入,只要你有能力提供算力,就能直接接入網(wǎng)絡(luò)中產(chǎn)出coin。而PoS系統(tǒng)中,新人要進入,都不得不先從老人手中買coin。
而且PoW中Miner為了支付各種高昂成本(電力,設(shè)備,基礎(chǔ)設(shè)施等),產(chǎn)出coin后也不得不賣出一些以彌補成本,這同時也是一種把coin分發(fā)給更多人的過程; 特別是在熊市,Miner為了維持開銷也不得不低價賤賣coin,這樣新人才有機會以相對低的成本獲得籌碼入場,這才是一個健康的生態(tài)擴張過程 。而PoS中由于質(zhì)押者并沒有什么運行成本,也不需要面對太多競爭,質(zhì)押者出塊得到coin后不需要急著賣出,更容易哄抬價格,其實會變相激勵場內(nèi)老人剝削新入場者,不給后來人更多機會;整個系統(tǒng)會趨向于更封閉,逐漸演變成一個有限游戲,長期運行下去只會越來越中心化;系統(tǒng)中財富越來越集中,富者更富,窮者更窮,從而更不可能實現(xiàn) 去中心化(Decentralization) 。
由于PoW系統(tǒng)中是以提供工作量的方式產(chǎn)出區(qū)塊的,隨著時間的推移這些工作量都會被累積起來并使鏈不斷向前延伸,這也是為什么叫區(qū)塊鏈;這些累積的工作量也給攻擊者造成了巨大障礙,如果想要反轉(zhuǎn)整條鏈,不僅需要非常高的算力,還需要相當(dāng)長的時間,這也為應(yīng)對攻擊提供了足夠長的時間緩沖。
而PoS系統(tǒng)其實只是維護一個分布式賬本, 并沒有工作量累積的概念,一旦攻擊成功,要反轉(zhuǎn)整條鏈就是相當(dāng)容易的,幾分鐘就可以搞定。
嚴(yán)格來說由PoW算力支撐的BTC不應(yīng)歸為高科技類,由于它整個系統(tǒng)架構(gòu)更保守更穩(wěn)定,提供的更多的是一種 物化價值(objective costliness) ,更能作為價值之錨,所以數(shù)字黃金這個稱號很貼切。而像ETH(目前還是PoW,2.0升級后為PoS)這些更接近科技類創(chuàng)新平臺,PoS本質(zhì)上更像是一種股權(quán)系統(tǒng),其實PoS系統(tǒng)反而是需要中心化,偏向更依靠整個社區(qū)的生命力,需要依靠核心團隊的創(chuàng)新與開拓能力往前走;而PoW則需要去中心化,更偏向穩(wěn)定與提供 物化價值(objective costliness) 。
區(qū)塊鏈作為一個價值分配系統(tǒng), 算力是它的價值之錨,如果沒有算力,就會退化為一個股權(quán)系統(tǒng) 。算力在哪,資金就會跟去哪。目前的發(fā)展趨勢也是逐漸往多層網(wǎng)絡(luò)的方向發(fā)展,類似TCP/IP的多層協(xié)議棧。從作為基礎(chǔ)層(Base Layer)的角度看,更需要的是長期穩(wěn)定與提供價值支撐,因此PoW系統(tǒng)更合適;而PoS可能更多的是可以作為Layer2以實現(xiàn) 可擴展性 (Scalability) ,彌補PoW基礎(chǔ)層的吞吐量不足,并通過錨定在PoW基礎(chǔ)層上來獲取算力安全性與價值支撐。
最后順帶說下最近市場行情,5,6月份以來的瀑布令很多人很恐慌,恐慌指數(shù)一度長時間停留在個位數(shù);其實我覺得也沒必要那么恐慌,要在這個圈子長期活下去,面對這種大波動的心理預(yù)期還是要有的。想起之前紅杉資本的沈南鵬經(jīng)常提到一個詞Grit,沙礫,它是礫石在千萬次打磨后留下來的細(xì)小顆粒;Grit代表了勇氣和持之以恒的一種堅持,有種經(jīng)常被按地上摩擦但依然勇往直前的感覺。這個和塔勒布講的反脆弱性有異曲同工之妙,承載價值的東西就應(yīng)該具有這種品質(zhì),PoW系統(tǒng)肯定是有反脆弱性的。
回望2017年入圈后經(jīng)歷過的各種事件,其實像這樣的大波動近乎每年都有(除了2019年一年比較順利外);像2017年國內(nèi)的94事件,2018年一整年的大熊市,2020的312事件,2021的519事件,再到2022今年的5,6月份市場轉(zhuǎn)熊,每次經(jīng)歷大波動后,市場都會淘汰掉該淘汰的,出清掉該出清的風(fēng)險,對整個行業(yè)發(fā)展也是好事。眼光還是應(yīng)該放遠一點,至少看5到10年后的變化,科技發(fā)展過程中所帶來的波動和風(fēng)險是不可避免的,日光之下無新鮮事,每次科技革命過程中總會夾雜著眾多的反對、質(zhì)疑,還有眾多的投機、騙局;這個過程也總是通過各種暴雷、回歸,清除泡沫后價值重估,夯實了基礎(chǔ)后積蓄能量再次進入躍升到新的發(fā)展階段。 價值互聯(lián)網(wǎng)的到來是一件無法回避的事情 ,當(dāng)理解和看清了這種趨勢后,規(guī)避掉各種坑和市場噪音,遠離合約杠桿和各種山寨的誘惑,握住核心資產(chǎn),時間本身就會帶來回報。
4、區(qū)塊鏈共識機制之POS和DPOS
工作量證明算法作為區(qū)塊鏈第一個也是目前經(jīng)受住足夠?qū)嵺`檢驗的一個共識機制,解決的是分布式系統(tǒng)交易信息一致性的問題,在一個去中心化的網(wǎng)絡(luò)中構(gòu)建了彼此不信任節(jié)點的信任機制,也是比特幣成功應(yīng)用的關(guān)鍵技術(shù)環(huán)節(jié)。
經(jīng)過幾年的實際運轉(zhuǎn),這一算法的弊端也顯露出來,比特幣網(wǎng)絡(luò)每秒完成600萬億次SHA256運算,消耗了大量的電力資源,而最終這些計算沒有任何實際或科學(xué)價值。這些運算存在的唯一目的是用來解決工作量證明問題,另外一個現(xiàn)實的威脅便是算力集中,工作量證明本質(zhì)上是利用窮舉法找出符合規(guī)定條件的哈希值的過程,算力越強,獲得記賬權(quán)(即挖到礦)的可能性便越高,一開始是最早利用顯卡挖礦的人,后來是利用FPGA礦機的人,再后來是利用ASIC專用芯片挖礦的人,現(xiàn)在就是不斷制造出更好的ASIC的人,另外還有“礦工”節(jié)點聯(lián)合起來組成礦池,如Ghash,Ghash 2014年曾經(jīng)發(fā)表聲明,將在今后確保不超過40%的全網(wǎng)算力,這類自律聲明是對比特幣去信任機制的莫大諷刺。
比特幣自誕生以來,人們便開始嘗試其他除了工作量證明算法之外的其他共識機制,如具有代表性的權(quán)益證明POS、委托權(quán)益證明DPOS、拜占庭容錯機制(BFT)及實用拜占庭容錯機制(PBFT)等,下面將主要介紹POS和DPOS,BFT和PBFT留待下一篇。
權(quán)益證明POS
POS是一類共識算法,或者說是一類共識算法的設(shè)計思想,而不是一個,最早采用POS的是Peercoin。Peercoin是2012年8月,一個化名Sunny King的極客推出的一類加密貨幣,采用工作量證明機制+權(quán)益證明機制,首次將權(quán)益證明機制引入了加密貨幣。Peercoin引入了“幣齡”的概念,每個幣每天產(chǎn)生1幣齡,比如你持有100個幣,總共持有了30天,那么,此時你的幣齡就為3000。當(dāng)一個新的區(qū)塊產(chǎn)生時,其他想獲得記賬權(quán)的節(jié)點同比特幣也需要計算哈希值,得出滿足條件哈希值的難易與難度值有關(guān),這個難度值這里與幣齡成反比,即你的幣齡越大,得出符合條件的哈希值的概率就越大,同時你的幣齡被清空,記賬后系統(tǒng)會給予你相應(yīng)“利息”,你每被清空365幣齡,獲得利息為:3000 * 利率 / 365,Peercoin的利率為1%,即0.08個幣。
可以看出,在POS機制下,持有幣越多,越容易獲得記賬權(quán),接近于贏家通吃的感覺,但持有的幣越多,越接近于一個誠實的節(jié)點,因為破壞整個網(wǎng)絡(luò)帶來的損失也越大。Peercoin的POS機制有一個漏洞,對于不持有幣的人而言,他們本來就沒什么收益,所以一些惡意攻擊對于他們則是無損失的,這就是Nothing-at-stake attack(無利益攻擊)。后續(xù)的比較成功的POS都引入了對付這種攻擊的機制。
以太坊系統(tǒng)的目標(biāo)是在今年引入權(quán)益證明,即Casper。在權(quán)益證明共識機制之下,用戶將能夠在以太坊網(wǎng)絡(luò)擁有“幣權(quán)”。用戶如果誠實行事并確認(rèn)了合法交易,將獲得與其股權(quán)成比的利息;如果惡意行事并試圖網(wǎng)絡(luò)中作弊,就會失去其權(quán)益。
委托權(quán)益證明DPOS
委托權(quán)益證明DPOS是POS的變種,運用DPOS的典型如比特股等,其基本原理在于全網(wǎng)投票選出101個節(jié)點代行記賬權(quán)限,這些代表節(jié)點的權(quán)限完全一致。代表節(jié)點輪流記賬,可以選擇創(chuàng)造區(qū)塊或不創(chuàng)造區(qū)塊。但他們無法改變交易的詳情,惡意或者遲到的代表節(jié)點的行為也會被公之于眾,那么網(wǎng)絡(luò)可能將他們簡單快速地投票驅(qū)逐出去。被驅(qū)逐出去的代表節(jié)點將會失去他們記賬權(quán)限,以及對應(yīng)的收入。
DPOS作為是一種弱中心化的共識機制,保留了一些中心化系統(tǒng)的關(guān)鍵優(yōu)勢,如交易速度等(每個塊的時間為10秒,一筆交易在得到6-10個確認(rèn)后大概1分鐘,一個完整的101個塊的周期大概僅僅需要16分鐘),但每個持幣者都有能力決定哪些節(jié)點可以被信任,并且事實上,代表節(jié)點會主動降低自己的收入來贏得更多投票,剩下的收入會作為股息,支付給所有的比特股持有人。DPOS有點類似于代議制民主及股份公司董事會制度,都是一種精英制度,但其身份受制于下面的民眾,在DPOS中,幣的持有者至少有權(quán)決定代表節(jié)點—或者說礦工的身份。
5、區(qū)塊鏈目前用到哪些共識機制?它們各自的優(yōu)缺點和適用范圍是什么_百度知 ...
目前主要有四大類共識機制:Pow、Pos、DPos、Pool1、Pow工作量證明,就是大家熟悉的挖礦,通過與或運算,計算出一個滿足規(guī)則的隨機數(shù),即獲得本次記賬權(quán),發(fā)出本輪需要記錄的數(shù)據(jù),全網(wǎng)其它節(jié)點驗證后一起存儲;
優(yōu)點:完全去中心化,節(jié)點自由進出;
缺點:目前bitcoin已經(jīng)吸引全球大部分的算力,其它再用Pow共識機制的區(qū)塊鏈應(yīng)用很難獲得相同的算力來保障自身的安全;挖礦造成大量的資源浪費;共識達成的周期較長,不適合商業(yè)應(yīng)用
2、Pos權(quán)益證明,Pow的一種升級共識機制;根據(jù)每個節(jié)點所占代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數(shù)的速度。
優(yōu)點:在一定程度上縮短了共識達成的時間
缺點:還是需要挖礦,本質(zhì)上沒有解決商業(yè)應(yīng)用的痛點
3、DPos股份授權(quán)證明機制,類似于董事會投票,持幣者投出一定數(shù)量的節(jié)點,代理他們進行驗證和記賬。
優(yōu)點:大幅縮小參與驗證和記賬節(jié)點的數(shù)量,可以達到秒級的共識驗證
缺點:整個共識機制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的
4、Pool驗證池,基于傳統(tǒng)的分布式一致性技術(shù),加上數(shù)據(jù)驗證機制;是目前行業(yè)鏈大范圍在使用的共識機制
優(yōu)點:不需要代幣也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基礎(chǔ)上,實現(xiàn)秒級共識驗證;
缺點:去中心化程度不如bictoin;更適合多方參與的多中心商業(yè)模式
在使用共識機制,保證數(shù)據(jù)一致性時的巨大優(yōu)勢(共識機制則是Ripple首先提出的,數(shù)據(jù)正確性優(yōu)先的網(wǎng)絡(luò)交易同步機制,在共識網(wǎng)絡(luò)中,無論軟件代碼怎么變動,無法取得共識就無法進入網(wǎng)絡(luò),更不要提分叉了)。
——————————————————
PS:稍微自黑下,雖然共識機制絕對能確保任何時候都不會產(chǎn)生硬分叉。但是,這種機制的缺點也比較明顯,那就是要取得與其他節(jié)點的共識,明顯要比當(dāng)前Bitcoin網(wǎng)絡(luò)漫長的多。極端情況下,在Ripple共識機制網(wǎng)絡(luò)中掉線的后果也是很恐怖的。
有可能你家停電一天,第二天整個系統(tǒng)就再也無法與其它Rippled節(jié)點取得共識了(共識機制事實上需要超過80%的節(jié)點承認(rèn)了你的數(shù)據(jù),你的提交才會被其它節(jié)點接受,否則就會被排它的拒絕連接),甚至只能清空自己全部500多GB數(shù)據(jù)重新同步才能連上其它Ripple節(jié)點。
所以目前來說,現(xiàn)有的Rippled端并不適合民用(商用的話影響就比較小,比如RL自己的Rippled節(jié)點托管在亞馬遜云數(shù)據(jù)中心,長時間無響應(yīng)是可以高額索賠的,而且那種地方除了大型災(zāi)害幾乎不會斷),這也是RL一直想改進的方面之一。
目前區(qū)塊鏈的共識機制大致可以分為三類:pow,pos,dpos,pow即Proof of Work,工作量證明機制,在POW機制下為了獲取記賬權(quán)和激勵,礦工必須通過一定量的工作量進行數(shù)學(xué)運算,誰最快最準(zhǔn)計算出了答案,就獲取到了記賬權(quán)和獎勵,這是以時間、資源為擔(dān)保,確保記賬工作的真實和有效性,POW是一種按勞分配的模式,算力越高、挖礦時間越長,獲得的數(shù)字貨幣就越多了,比較典型的就是btc,btm,pos,Proof of Stake,權(quán)益證明機制,POS也稱股權(quán)證明機制,是通過持幣產(chǎn)生利息,從而對于驗證人以及節(jié)點進行獎勵,這里我們大家首先要了解一個概念,就是幣齡.幣齡等于幣的數(shù)量乘以幣持有的天數(shù),因而你持有的幣數(shù)量越多,持有天數(shù)越長,你獲到的記賬權(quán)和激勵的概率就會越大啦!當(dāng)你獲得激勵之后,你的持幣天數(shù)就會清零,幣齡也回被清空這樣周而復(fù)始,比較有代表性的是量子鏈,關(guān)于dpos是什么,以及這些主要共識機制的利弊是什么,字太多了,可以看看這個視頻,里面講的比較清楚:喵懂區(qū)塊鏈11期 | 不了解共識機制,何以談區(qū)塊鏈?

轉(zhuǎn)載請帶上網(wǎng)址:http://www.yadikedp.com/posji/22315.html
- 上一篇:pos機0.58高嗎
- 下一篇:易刷pos機價格