【前言】
原本本周準(zhǔn)備寫一篇關(guān)于跨鏈項(xiàng)目的評(píng)測(cè)的,結(jié)果在拜讀了諸多公鏈項(xiàng)目的白皮書后越發(fā)感覺得重新屢一下共識(shí)機(jī)制(consensus mechanisms)這個(gè)最基礎(chǔ)而又最容易忽視的問題蛇捌。加之本周各國基本都出臺(tái)了對(duì)區(qū)塊鏈的嚴(yán)厲監(jiān)管陕见,也讓我思考:有沒有一個(gè)虛擬數(shù)字貨幣既能滿足去中心化谬哀,又能符合政府的可控的需求于毙。
【共識(shí)機(jī)制綜合介紹】
1.POW:Proof of Work授段,工作證明丧荐。
多勞多得模式——體力工作(分散挖礦)
根據(jù)工作證明來執(zhí)行貨幣的分配。 算力越高翻伺、挖礦時(shí)間越長,獲得的貨幣就越多沮焕。
主要優(yōu)點(diǎn): 算法簡單吨岭,容易實(shí)現(xiàn), 安全有嚴(yán)格的數(shù)學(xué)論證峦树。
主要缺點(diǎn):
1.耗電辣辫;?
2.共識(shí)達(dá)成的周期較長旦事,不適合商業(yè)應(yīng)用;
3.一家獨(dú)大急灭,其他公鏈很難競爭姐浮;
典型代表: BTC家族以及早期貨幣代表諸如LTC,當(dāng)前的ETH也算葬馋。
中國政府之所以驅(qū)逐礦產(chǎn)卖鲤,主要問題也是從現(xiàn)有價(jià)值體系考量:礦場耗能但確創(chuàng)造不出實(shí)體價(jià)值,這些電目前看來就是白白浪費(fèi)掉了畴嘶。
而在區(qū)塊鏈的世界蛋逾,大家的信仰是神話般的“去中心化”,隨著挖礦技術(shù)的改進(jìn)窗悯,算力也出現(xiàn)集中化趨勢(shì)区匣,前5大礦池占據(jù)了算力的近80%,這直接能夠威脅到去中心化的信仰蒋院。
2. POS:Proof of Stake亏钩,股權(quán)證明。
存錢拿利息模式——腦力工作(全民投資持股)
最原始的PoS機(jī)理就是用股權(quán)代替PoW中的挖礦算力欺旧,來模擬比特幣的挖礦過程姑丑。 如果說POW主要比拼算力,算力越大切端,挖到一個(gè)塊的概率越大彻坛;POS則是比拼余額,就是誰手里的幣越多踏枣,挖到一個(gè)塊的概率越大昌屉。
主要優(yōu)點(diǎn):??不需要挖礦,同時(shí)縮短了共識(shí)達(dá)成的時(shí)間茵瀑。
主要缺點(diǎn): 安全尚未有嚴(yán)格的數(shù)學(xué)論證间驮,有通脹
典型代表:??NXT和QTUM (很多文章將PPC(Peercoin點(diǎn)點(diǎn)幣)和BLK(BlackCoin黑幣)也作為典型表達(dá),筆者不是太贊同马昨。從時(shí)間上講竞帽,的確PPC是開創(chuàng)了先河,但PPC和BLK都是POW+POS模式鸿捧,通過POS降低挖礦難度實(shí)現(xiàn)縮短工時(shí)時(shí)間屹篓,不能算純POS代表)
針對(duì)純POS模式,這個(gè)過程沒有引入外部資源匙奴,而是僅僅依靠自身的幣種股份來維護(hù)網(wǎng)絡(luò)安全堆巧,因此其不需要消耗大量能源來進(jìn)行計(jì)算;而且由于其沒有引入外部的資源,因此不會(huì)擔(dān)心外部攻擊谍肤,例如外界的算力攻擊啦租。
看起來POS是很完美的,但是它存在幾個(gè)問題:
1.Nothing-at-Stake無利害關(guān)系攻擊荒揣。
假設(shè)系統(tǒng)中出現(xiàn)了兩個(gè)分支鏈篷角,那么對(duì)于持有幣的”挖礦者“來講,最佳的操作策略就是同時(shí)在兩個(gè)分支上進(jìn)行“挖礦”系任,這樣恳蹲,無論哪個(gè)分支勝出,對(duì)幣種持有者來講赋除,都會(huì)獲得本屬于他的利益阱缓,即不會(huì)有利益損失。而且由于不需要算力消耗举农,因此POS中在兩個(gè)分支上挖礦是可行的荆针。
這導(dǎo)致的問題是,只要系統(tǒng)存在分叉颁糟,“礦工們”都會(huì)同時(shí)在這幾個(gè)分支上挖礦航背;因此在某個(gè)情況下,發(fā)起攻擊的分叉鏈?zhǔn)菢O有可能成功的棱貌,因?yàn)樗腥艘捕荚谶@個(gè)分叉鏈上達(dá)成了共識(shí)玖媚;而且甚至不用持有51%的幣量,就可以成功發(fā)起分叉攻擊婚脱。
2.重寫歷史攻擊:即攻擊者可以通過購買原始持有幣種的賬戶來從頭發(fā)起攻擊今魔,重新分叉一個(gè)區(qū)塊鏈。因?yàn)樵嫉膸欧N持有者可以將幣轉(zhuǎn)移至其它賬戶障贸,因此他是可以在沒有損失的情況下將原始賬戶出售給攻擊者的错森。攻擊者需要的就是有足夠數(shù)量幣的原始賬戶;當(dāng)然了篮洁,這也只是概率問題涩维,因?yàn)橛锌赡茉假~戶持有者不會(huì)出售他們的賬戶,但是理論上確實(shí)存在這種攻擊袁波。
3.盡管POS中的“挖礦”不用消耗算力瓦阐,運(yùn)行成本很低,但是也存在如何激勵(lì)POS礦工的問題篷牌。因?yàn)橐话愕腜OS系統(tǒng)是沒有新幣產(chǎn)生的睡蟋,礦工只能賺取交易費(fèi),而且在交易費(fèi)不高的情況下枷颊,對(duì)礦工的激勵(lì)也是很有限的戳杀。當(dāng)然了叫倍,也有很多POS幣種解決這個(gè)問題的辦法就是持續(xù)的再產(chǎn)生新幣(每年利息)來激勵(lì)挖礦者,這導(dǎo)致的問題就是通脹豺瘤。假設(shè)1%利息(利息每個(gè)幣都有自己的設(shè)定,如PPC是1%听诸,CMC是1.5%坐求,NVC和YAC是5%),相當(dāng)于每年貨幣通貨1%晌梨。按照相對(duì)概念桥嗤,持幣多的大戶們才是一直保值,而小散們是相對(duì)于每年貶值仔蝌。最終結(jié)局就是大戶淘汰小戶泛领,也有導(dǎo)致中心化的風(fēng)險(xiǎn)。而且當(dāng)貨幣總量達(dá)到上限之后敛惊,POS又如何激勵(lì)礦工呢渊鞋?
所以在這種情況下,很多幣選擇了POW+POS模式瞧挤,依據(jù)POS機(jī)制通過降低POW出塊的難度從而縮短了共識(shí)達(dá)成的時(shí)間锡宋,就連ETH也將采用這種模式,根據(jù)2018年1月2日Ethereum Team發(fā)布的第四季度總結(jié)特恬,基于POS的項(xiàng)目Casper測(cè)試網(wǎng)絡(luò)已經(jīng)發(fā)布了(Q4 Roundup)执俩。近期ETH的重心應(yīng)該是完成POS模式的增加(development roadmap)。(中文版介紹可以移步Ethereum Casper 101 | 初識(shí)以太坊 Casper
3. DPOS:Delegated Proof of Stake癌刽,委任權(quán)益證明
董事會(huì)模式——高級(jí)腦力(大股東決策)
類似于董事會(huì)投票(人民代表大會(huì)制度)役首,持幣者投出一定數(shù)量的節(jié)點(diǎn),代理他們進(jìn)行驗(yàn)證和記賬显拜。
主要優(yōu)點(diǎn):?大幅縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量衡奥,進(jìn)一步縮短了共識(shí)達(dá)成的時(shí)間 ,可以達(dá)到秒級(jí)的共識(shí)驗(yàn)證讼油。
主要缺點(diǎn):?安全尚未有嚴(yán)格的數(shù)學(xué)論證杰赛。
典型代表:??BTS,EOS
除了走POW+POS混合模式外,也有些幣走的是POS的改進(jìn)路線矮台,DPOS就是個(gè)典型代表乏屯。其他例子的思路和DPOS大同小異。
DPoS有一個(gè)內(nèi)置的實(shí)時(shí)股權(quán)人投票系統(tǒng)瘦赫,就像系統(tǒng)隨時(shí)都在召開一個(gè)永不散場的股東大會(huì)辰晕,所有股東都在這里投票決定公司決策。投票權(quán)牢牢掌握在股東手里确虱,而不是雇員含友。類似于去中心化公司(Decentralized Autonomous Company, DAC),由持股人選出的N位代表來生成N個(gè)區(qū)塊,生成順序隨機(jī)(每生成N個(gè)區(qū)塊后順序被隨機(jī)生成)窘问,每個(gè)代表在特定的時(shí)間段內(nèi)生成一個(gè)區(qū)塊庞呕,前后直接相關(guān)的代表會(huì)產(chǎn)生特殊連接,防止被攻擊或前一區(qū)塊的異常而直接拒絕修械,所有人基于最長的鏈達(dá)成共識(shí)仆潮。
成為代表:成為一名代表,你必須在網(wǎng)絡(luò)上注冊(cè)你的公鑰儿咱,然后分配到一個(gè)32位的特有標(biāo)識(shí)符庭砍。然后該標(biāo)識(shí)符會(huì)被每筆交易數(shù)據(jù)的“頭部”引用。
授權(quán)選票:每個(gè)錢包有一個(gè)參數(shù)設(shè)置窗口混埠,在該窗口里用戶可以選擇一個(gè)或更多的代表怠缸,并將其分級(jí)。一經(jīng)設(shè)定钳宪,用戶所做的每筆交易將把選票從“輸入代表”轉(zhuǎn)移至“輸出代表”揭北。一般情況下,用戶不會(huì)創(chuàng)建特別以投票為目的的交易吏颖,因?yàn)槟菍⒑馁M(fèi)他們一筆交易費(fèi)罐呼。但在緊急情況下,某些用戶可能覺得通過支付費(fèi)用這一更積極的方式來改變他們的投票是值得的侦高。
保持代表誠實(shí):每個(gè)錢包將顯示一個(gè)狀態(tài)指示器嫉柴,讓用戶知道他們的代表表現(xiàn)如何。如果他們錯(cuò)過了太多的區(qū)塊奉呛,那么系統(tǒng)將會(huì)推薦用戶去換一個(gè)新的代表计螺。如果任何代表被發(fā)現(xiàn)簽發(fā)了一個(gè)無效的區(qū)塊,那么所有標(biāo)準(zhǔn)錢包將在每個(gè)錢包進(jìn)行更多交易前要求選出一個(gè)新代表瞧壮。
4.PBFT:Practical Byzantine Fault Tolerance登馒,實(shí)用拜占庭容錯(cuò)算法。
封閉集群模式—— N ≥ 3F + 1 兩兩節(jié)點(diǎn)通信投票
?這是一種基于消息傳遞的一致性算法咆槽,算法經(jīng)過三個(gè)階段?預(yù)準(zhǔn)備(pre-prepare)陈轿、準(zhǔn)備(prepare)和確認(rèn)(commit)達(dá)成一致性,這些階段可能因?yàn)槭《貜?fù)進(jìn)行秦忿。
主要優(yōu)點(diǎn):? 算法的可靠性有嚴(yán)格的數(shù)學(xué)證明麦射,具備(n-1)/3容錯(cuò)性
主要缺點(diǎn): 當(dāng)有1/3或以上記賬人停止工作后,系統(tǒng)將無法提供服務(wù)灯谣。
典型代表:??NEO
其中C為發(fā)送請(qǐng)求端潜秋,0123為服務(wù)端,3為宕機(jī)的服務(wù)端胎许,具體步驟如下:
1. Request:請(qǐng)求端C發(fā)送請(qǐng)求到任意一節(jié)點(diǎn)峻呛,這里是0
2. Pre-Prepare:服務(wù)端0收到C的請(qǐng)求后進(jìn)行廣播罗售,擴(kuò)散至123
3. Prepare:123,收到后記錄并再次廣播,1->023钩述,2->013寨躁,3因?yàn)殄礄C(jī)無法廣播
4. Commit:0123節(jié)點(diǎn)在Prepare階段,若收到超過一定數(shù)量的相同請(qǐng)求牙勘,則進(jìn)入Commit階段朽缎,廣播Commit請(qǐng)求
5.Reply:0123節(jié)點(diǎn)在Commit階段,若收到超過一定數(shù)量的相同請(qǐng)求谜悟,則對(duì)C進(jìn)行反饋
根據(jù)上述流程,在 N ≥ 3F + 1 的情況下一致性是可能解決北秽,N為總計(jì)算機(jī)數(shù)葡幸,F(xiàn)為有問題的計(jì)算機(jī)總數(shù)。
PBFT需求節(jié)點(diǎn)數(shù)目提前確定并互相聯(lián)通(封閉性)和O(N^2)的消息量(高性能開銷)贺氓,目前在公有鏈上的應(yīng)用會(huì)顯得吃力蔚叨,NEO的應(yīng)用也是結(jié)合數(shù)字身份技術(shù),使得記賬人是實(shí)名的個(gè)人或機(jī)構(gòu)來實(shí)現(xiàn)辙培。央行選擇了PBFT算法蔑水,估計(jì)短時(shí)間內(nèi)是聯(lián)盟鏈的模式,同時(shí)看到量子計(jì)算機(jī)的發(fā)展趨勢(shì)扬蕊,以后也許算力突破限制搀别,也可以有想象空間。
5.Ripple Consensus(瑞波共識(shí)機(jī)制)
中心化俱樂部
典型代表:??XRP
Ripple共識(shí)算法尾抑,使一組節(jié)點(diǎn)能夠基于特殊節(jié)點(diǎn)列表達(dá)成共識(shí)歇父。初始特殊節(jié)點(diǎn)列表就像一個(gè)俱樂部,要接納一個(gè)新成員再愈,必須由51%的該俱樂部會(huì)員投票通過榜苫。共識(shí)遵循這核心成員的51%權(quán)力,外部人員則沒有影響力翎冲。由于該俱樂部由“中心化”開始垂睬,它將一直是“中心化的”。
6.其他諸如PoI (Proof of Importance)抗悍,PoD(Proof-of-Devotion)等本質(zhì)都是POS的變種驹饺,就一帶而過了。
7.特例IOTA缴渊,可以說這是一個(gè)沒有共識(shí)機(jī)制的項(xiàng)目逻淌,采用Tangle(纏結(jié))的DAG無環(huán)圖結(jié)構(gòu)(Directed Acyclic Graph)自我驗(yàn)證交易,而且還抗量子計(jì)算機(jī)疟暖,從ICO漲了3.5萬倍也是能夠理解了卡儒。
8.私有鏈中心化的共識(shí)就不討論了田柔。
【共識(shí)機(jī)制發(fā)展規(guī)律】
由POW發(fā)展到POS再到DPOS/RIPPLE/PBFT(這個(gè)應(yīng)該算一直有)牲剃,可以發(fā)現(xiàn)去中心化理念其實(shí)是從一個(gè)去中心化往多中心化的模式轉(zhuǎn)變。有沒有覺得這個(gè)過程和人類的進(jìn)化過程也很相似雄可,我們由原始人的分布式機(jī)制(去中心化)不斷演變成集散式機(jī)制(多中心化)凿傅。水質(zhì)清則無魚,完全去中心化和完全中心化都是不現(xiàn)實(shí)的数苫,最終都將是是多中心的模式聪舒,并形成多中心的相互抗衡和制約,不斷降低人控因素虐急。
【總結(jié)】
在對(duì)區(qū)塊鏈(主要是基礎(chǔ)鏈)項(xiàng)目進(jìn)行評(píng)測(cè)時(shí)箱残,理解上述共識(shí)機(jī)制是判斷一個(gè)項(xiàng)目好壞最基礎(chǔ)的技能,目前市面上熱門的項(xiàng)目的核心競爭力之一都體現(xiàn)在共識(shí)機(jī)制上止吁,它代表了項(xiàng)目去中心化的手段疚宇,大大影響到出塊的速度,進(jìn)而影響交易速度和手續(xù)費(fèi)赏殃。
目前敷待,并不能證明哪種共識(shí)機(jī)制是最好的,只能說有運(yùn)行到目前效果還不錯(cuò)的仁热,而且到目前未發(fā)生安全問題榜揖,未來仍需繼續(xù)驗(yàn)證和改進(jìn)。
【遐想】
既然發(fā)展的方向是走向一個(gè)多中心化平衡的過程抗蠢,那么能讓各國政府接受的狀態(tài)會(huì)是怎樣一個(gè)模式呢举哟?
各國來扮演驗(yàn)證人共同維護(hù)同一個(gè)幣?
那么共識(shí)機(jī)制在現(xiàn)有的基礎(chǔ)上會(huì)發(fā)展成怎樣一個(gè)組合呢迅矛?
【參考文獻(xiàn)】
除去文中已有的參考文獻(xiàn)鏈接妨猩,還有以下:
1.http://www.8btc.com/blockchain-tech-consensus-mechanism區(qū)塊鏈核心技術(shù)演進(jìn)之路-共識(shí)機(jī)制演進(jìn)(1)
2.http://blog.csdn.net/imfly/article/details/52171339《Nodejs開發(fā)加密貨幣》之二十四:DPOS機(jī)制(分布式共識(shí)算法)
3.http://www.sohu.com/a/134694303_694835從理論到實(shí)踐,三張圖帶你探索區(qū)塊鏈的發(fā)展之路
4.http://www.reibang.com/p/aafb53ca3318區(qū)塊鏈的幾大共識(shí)機(jī)制及優(yōu)缺點(diǎn)
5.http://www.talkwithtrend.com/Article/160075從“比特幣挖礦” 看區(qū)塊鏈技術(shù)的共識(shí)機(jī)制
6.http://www.8btc.com/impossible-triangle-fallacy駁“不可能三角形”之謬論
7.https://www.zhihu.com/question/52254063如何通俗的理解IBM區(qū)塊鏈技術(shù)HyperLedger/fabric中的共識(shí)算法PBFT(拜占庭容錯(cuò))秽褒?
8.http://blog.csdn.net/jerry81333/article/details/74303194區(qū)塊鏈共識(shí)算法 PBFT(拜占庭容錯(cuò))壶硅、PAXOS威兜、RAFT簡述
9.https://www.zhihu.com/question/55794026請(qǐng)教技術(shù)大牛,pbft是不是區(qū)塊鏈目前最優(yōu)的共識(shí)機(jī)制庐椒?
10.http://blog.csdn.net/lsttoy/article/details/61624287[區(qū)塊鏈]共識(shí)算法(POW,POS,DPOS,PBFT)介紹和心得
11.http://www.360doc.com/content/16/0503/20/29322182_555998433.shtml萬字長文深入淺出講述區(qū)塊鏈技術(shù)細(xì)節(jié)和運(yùn)行原理
12.http://blog.csdn.net/jQQ53016353/article/details/74170965數(shù)字貨幣深度解析區(qū)塊鏈POS和POW的區(qū)別
13.http://www.8btc.com/baizhantingjiangjun拜占庭將軍問題深入探討
14.http://docs.neo.org/zh-cn/index.htmlNEO 白皮書(一種智能經(jīng)濟(jì)分布式網(wǎng)絡(luò))
15.https://yq.aliyun.com/articles/60400【區(qū)塊鏈之技術(shù)進(jìn)階】掰一掰區(qū)塊鏈共識(shí)機(jī)制與分布式一致性算法
16.http://8btc.com/article-2238-1.html什么是區(qū)塊鏈共識(shí)椒舵?
17.https://www.zhihu.com/question/53385152區(qū)塊鏈共識(shí)機(jī)制有哪些?
18.https://etherscan.io/stat/miner?range=7&blocktype=blocks
20.http://docs.bitshares.eu/bitshares/dpos.html#pooled-mining-as-delegated-proof-of-workDELEGATED PROOF OF STAKE
21.http://www.8btc.com/proof-stake-learned-love-weak-subjectivity股權(quán)證明(POS)的可行性:如何學(xué)會(huì)熱愛弱主觀性