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

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