來(lái)自:簡(jiǎn)書,作者:修身er
鏈接:https://www.jianshu.com/p/aafb53ca3318
什么是共識(shí)機(jī)制 區(qū)塊鏈要成為一個(gè)難以攻破的、公開的、不可篡改數(shù)據(jù)記錄的去中心化誠(chéng)實(shí)可信系統(tǒng),需要在盡可能短的時(shí)間內(nèi)做到分布式數(shù)據(jù)記錄的安全、明確及不可逆,提供一個(gè)最堅(jiān)實(shí)且去中心化的系統(tǒng)。 區(qū)塊鏈分布式記賬的方式使得每個(gè)人手上都有一本完整的賬本,全網(wǎng)共有。但是隨著節(jié)點(diǎn)的不斷增多,數(shù)據(jù)越多,賬本也越安全,難以摧毀。除此之外,任意一個(gè)或者部分節(jié)點(diǎn)的賬本被篡改,都不可能被全網(wǎng)認(rèn)同,除非你能控制51%的節(jié)點(diǎn),即51%攻擊,但是這耗能巨大,幾乎是不可能的。同時(shí)隨著節(jié)點(diǎn)不斷增加,誰(shuí)來(lái)記賬,如何選擇合適的人來(lái)記賬成為一個(gè)問題,而制定一個(gè)記賬人的選擇方式以及規(guī)定,讓大家來(lái)遵守這個(gè)規(guī)定,達(dá)成共識(shí),這就是區(qū)塊鏈里面的共識(shí)機(jī)制。 共識(shí)機(jī)制是區(qū)塊鏈節(jié)點(diǎn)就區(qū)塊信息達(dá)成全網(wǎng)一致共識(shí)的機(jī)制,說得更直白一些就是對(duì)于如何選擇記賬人達(dá)成共識(shí)。共識(shí)機(jī)制可以保證最新區(qū)塊被準(zhǔn)確添加至區(qū)塊鏈、節(jié)點(diǎn)存儲(chǔ)的區(qū)塊鏈信息一致不分叉甚至可以抵御惡意攻擊。 比特幣作為區(qū)塊鏈的第一個(gè)應(yīng)用,它的共識(shí)機(jī)制PoW共識(shí)機(jī)制曾經(jīng)一枝獨(dú)秀,但是隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,各類不同的共識(shí)機(jī)制開始不斷涌現(xiàn),各有千秋,各有擁躉。 共識(shí)機(jī)制分類 PoW( Proof of Work)工作量證明:多勞多得 機(jī)制中根據(jù)礦工的工作量來(lái)執(zhí)行貨幣的分配和記賬權(quán)的確定。算力競(jìng)爭(zhēng)的勝者將獲得相應(yīng)區(qū)塊記賬權(quán)和比特幣獎(jiǎng)勵(lì)。因此,礦機(jī)芯片的算力越高,挖礦的時(shí)間更長(zhǎng),就可以獲得更多的數(shù)字貨幣。 優(yōu)點(diǎn):算法簡(jiǎn)單,容易實(shí)現(xiàn);節(jié)點(diǎn)間無(wú)需交換額外的信息即可達(dá)成共識(shí);破壞系統(tǒng)需要投入極大的成本。 缺點(diǎn):浪費(fèi)能源;區(qū)塊的確認(rèn)時(shí)間難以縮短;新的區(qū)塊鏈必須找到一種不同的散列算法,否則就會(huì)面臨比特幣的算力攻擊;容易產(chǎn)生分叉,需要等待多個(gè)確認(rèn);永遠(yuǎn)沒有最終性,需要檢查點(diǎn)機(jī)制來(lái)彌補(bǔ)最終性。 目前基于PoW共識(shí)機(jī)制的數(shù)字貨幣有很多,比特幣、萊特幣、狗狗幣、達(dá)士幣、門羅幣等初期的數(shù)字貨幣大多都是PoW共識(shí)機(jī)制。 PoS(Proof of Stake)股權(quán)證明算法:持有越多,獲得越多 POS 機(jī)制采用類似股權(quán)證明與投票的機(jī)制,選出記帳人,由它來(lái)創(chuàng)建區(qū)塊。持有股權(quán)愈多則有較大的特權(quán),且需負(fù)擔(dān)更多的責(zé)任來(lái)產(chǎn)生區(qū)塊,同時(shí)也獲得更多收益的權(quán)力。 POS 機(jī)制中一般用幣齡來(lái)計(jì)算記賬權(quán),每個(gè)幣持有一天算一個(gè)幣齡,比如 持有 100 個(gè)幣,總共持有了 30 天,那么此時(shí)的幣齡就為 3000。在 POS 機(jī)制下,如果記賬人發(fā)現(xiàn)一個(gè) POS 區(qū)塊, 他的幣齡就會(huì)被清空為 0,每被清空 365 幣齡,將會(huì)從區(qū)塊中獲得 0.05 個(gè)幣的利息(可理解為年利率 5%)。 優(yōu)點(diǎn):在一定程度上縮短了共識(shí)達(dá)成的時(shí)間;不再需要大量消耗能源挖礦。 缺點(diǎn):還是需要挖礦,本質(zhì)上沒有解決商業(yè)應(yīng)用的痛點(diǎn);所有的確認(rèn)都只是一個(gè)概率上的表達(dá),而不是一個(gè)確定性的事情,理論上有可能存在其他攻擊影響。 最先開始運(yùn)用權(quán)益證明共識(shí)機(jī)制的區(qū)塊鏈項(xiàng)目是2012年誕生的PeerCoin,以太坊前三階段均采用PoW共識(shí)機(jī)制,在第四階段開始以太坊將采用權(quán)益證明機(jī)制,此外,量子鏈和Blackcoin都采用POS共識(shí)機(jī)制。 DPOS(Delegated Proof-of-Stake)股份授權(quán)證明 DPOS 是在 POS 基礎(chǔ)之上發(fā)展起來(lái)的。與PoS的主要區(qū)別在于持幣者投出一定數(shù)量的節(jié)點(diǎn),代理他們進(jìn)行驗(yàn)證和記賬。其合規(guī)監(jiān)管、性能、資源消耗和容錯(cuò)性與PoS相似。 DPoS的工作原理為:每個(gè)股東按其持股比例擁有影響力,51%股東投票的結(jié)果將是不可逆且有約束力的。其挑戰(zhàn)是通過及時(shí)而高效的方法達(dá)到51%批準(zhǔn)。為達(dá)到這個(gè)目標(biāo),每個(gè)股東可以將其投票權(quán)授予一名代表。獲票數(shù)最多的前100位代表按既定時(shí)間表輪流產(chǎn)生區(qū)塊。每名代表分配到一個(gè)時(shí)間段來(lái)生產(chǎn)區(qū)塊。所有的代表將收到等同于一個(gè)平均水平的區(qū)塊所含交易費(fèi)的10%作為報(bào)酬。如果一個(gè)平均水平的區(qū)塊含有100股作為交易費(fèi),一名代表將獲得1股作為報(bào)酬。DPoS的投票模式可以每30秒產(chǎn)生一個(gè)新區(qū)塊。 優(yōu)點(diǎn):大幅縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,可以達(dá)到秒級(jí)的共識(shí)驗(yàn)證。 缺點(diǎn):整個(gè)共識(shí)機(jī)制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的。 比特股(BitShares)社區(qū)首先提出了股份授權(quán)證明機(jī)制,和比特股一父同胞同出于大神BM之手的EOS以及Steem也是基于此共識(shí)機(jī)制,LBTC、BCX 、Lisk等也都采用了該共識(shí)機(jī)制,DPoS的支持者眾多,影響力廣泛,后來(lái)者居上。 DAG(Directed acyclic graph)有向無(wú)環(huán)圖:無(wú)區(qū)塊鏈概念 DAG最初出現(xiàn)就是為了解決區(qū)塊鏈的效率問題。其通過改變區(qū)塊的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),通過DAG的拓?fù)浣Y(jié)構(gòu)來(lái)存儲(chǔ)區(qū)塊。在區(qū)塊打包時(shí)間不變的情況下,網(wǎng)絡(luò)中可以并行的打包N個(gè)區(qū)塊,網(wǎng)絡(luò)中的交易就可以容納N倍。 之后DAG發(fā)展成為脫離區(qū)塊鏈,提出了blockless無(wú)區(qū)塊的概念。新交易發(fā)起時(shí),只需要選擇網(wǎng)絡(luò)中已經(jīng)存在的并且比較新的交易作為鏈接確認(rèn),這一做法解決了網(wǎng)絡(luò)寬度問題,大大加快了交易速度。 優(yōu)點(diǎn):交易速度快;無(wú)需挖礦;極低的手續(xù)費(fèi)。 缺點(diǎn):網(wǎng)絡(luò)規(guī)模不大,導(dǎo)致極易成為中心化;安全性低于PoW機(jī)制。 目前采用這個(gè)技術(shù)有IOTA、byteball兩個(gè)幣,前段時(shí)間國(guó)內(nèi)首個(gè)基于DAG的物聯(lián)網(wǎng)區(qū)塊鏈項(xiàng)目ITC萬(wàn)物鏈幣價(jià)也取得了不小的漲幅。 PBFT(Practical Byzantine Fault Tolerance)實(shí)用拜占庭容錯(cuò):分布式一致性算法 實(shí)用拜占庭容錯(cuò)在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯(cuò)性。在分布式計(jì)算上,不同的計(jì)算機(jī)透過訊息交換,嘗試達(dá)成共識(shí);但有時(shí)候,系統(tǒng)上協(xié)調(diào)計(jì)算機(jī)(Coordinator / Commander)或成員計(jì)算機(jī) (Member /Lieutanent)可能因系統(tǒng)錯(cuò)誤并交換錯(cuò)的訊息,導(dǎo)致影響最終的系統(tǒng)一致性。拜占庭將軍問題就根據(jù)錯(cuò)誤計(jì)算機(jī)的數(shù)量,尋找可能的解決辦法,這無(wú)法找到一個(gè)絕對(duì)的答案,但只可以用來(lái)驗(yàn)證一個(gè)機(jī)制的有效程度。而拜占庭問題的可能解決方法為:在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計(jì)算機(jī)總數(shù),F(xiàn)為有問題計(jì)算機(jī)總數(shù)。信息在計(jì)算機(jī)間互相交換后,各計(jì)算機(jī)列出所有得到的信息,以大多數(shù)的結(jié)果作為解決辦法。 優(yōu)點(diǎn):系統(tǒng)運(yùn)轉(zhuǎn)可以脫離幣的存在,pbft算法共識(shí)各節(jié)點(diǎn)由業(yè)務(wù)的參與方或者監(jiān)管方組成,安全性與穩(wěn)定性由業(yè)務(wù)相關(guān)方保證;共識(shí)的時(shí)延大約在2~5秒鐘,基本達(dá)到商用實(shí)時(shí)處理的要求;共識(shí)效率高,可滿足高頻交易量的需求。 缺點(diǎn):當(dāng)有1/3或以上記賬人停止工作后,系統(tǒng)將無(wú)法提供服務(wù);當(dāng)有1/3或以上記賬人聯(lián)合作惡,且其它所有的記賬人被恰好分割為兩個(gè)網(wǎng)絡(luò)孤島時(shí),惡意記賬人可以使系統(tǒng)出現(xiàn)分叉,但是會(huì)留下密碼學(xué)證據(jù);去中心化程度不如公有鏈上的共識(shí)機(jī)制;更適合多方參與的多中心商業(yè)模式。 實(shí)用拜占庭容錯(cuò)主要應(yīng)用于央行的數(shù)字貨幣以及布萌區(qū)塊鏈。 Pool驗(yàn)證池——私有鏈專用 Pool驗(yàn)證池,基于傳統(tǒng)的分布式一致性技術(shù),加上數(shù)據(jù)驗(yàn)證機(jī)制;之前曾是行業(yè)鏈大范圍在使用的共識(shí)機(jī)制,但是隨著私有鏈項(xiàng)目的逐漸減少漸漸開始勢(shì)微。 優(yōu)點(diǎn):不需要代幣也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基礎(chǔ)上,實(shí)現(xiàn)秒級(jí)共識(shí)驗(yàn)證。 缺點(diǎn):去中心化程度不如bictoin;更適合多方參與的多中心商業(yè)模式。 自定義共識(shí)機(jī)制以及混合共識(shí)機(jī)制:私人訂制 小蟻:dBFT(delegated BFT)授權(quán)拜占庭容錯(cuò)算法 小蟻采用的dBFT機(jī)制,是由權(quán)益來(lái)選出記賬人,然后記賬人之間通過拜占庭容錯(cuò)算法來(lái)達(dá)成共識(shí)。dBFT和PBFT的關(guān)系類似于 PoS和DPoS的關(guān)系。 dBFT在PBFT的基礎(chǔ)上做出了多出改進(jìn):將C/S架構(gòu)的請(qǐng)求響應(yīng)模式,改進(jìn)為適合P2P網(wǎng)絡(luò)的對(duì)等節(jié)點(diǎn)模式;將靜態(tài)的共識(shí)參與節(jié)點(diǎn)改進(jìn)為可動(dòng)態(tài)進(jìn)入、退出的動(dòng)態(tài)共識(shí)參與節(jié)點(diǎn);為共識(shí)參與節(jié)點(diǎn)的產(chǎn)生設(shè)計(jì)了一套基于持有權(quán)益比例的投票機(jī)制,通過投票決定共識(shí)參與節(jié)點(diǎn)(記賬節(jié)點(diǎn));在區(qū)塊鏈中引入數(shù)字證書,解決了投票中對(duì)記賬節(jié)點(diǎn)真實(shí)身份的認(rèn)證問題。 特點(diǎn):專業(yè)化的記賬人;可以容忍任何類型的錯(cuò)誤;記賬由多人協(xié)同完成,每一個(gè)區(qū)塊都有最終性,不會(huì)分叉;算法的可靠性有嚴(yán)格的數(shù)學(xué)證明;當(dāng)有1/3或以上記賬人聯(lián)合作惡,且其它所有的記賬人被恰好分割為兩個(gè)網(wǎng)絡(luò)孤島時(shí),惡意記賬人可以使系統(tǒng)出現(xiàn)分叉,但是會(huì)留下密碼學(xué)證據(jù)。 唯鏈——PoA(Proof-of-Authority) PoA共識(shí)機(jī)制,這種共識(shí)機(jī)制能達(dá)到的TPS,相較于比特幣的PoW和以太坊即將采用的PoS,在TPS上都要高出很多。唯鏈創(chuàng)世團(tuán)隊(duì)曾經(jīng)披露唯鏈研發(fā)團(tuán)隊(duì)測(cè)試能達(dá)到10000TPS,10000TPS足夠滿足很長(zhǎng)一段時(shí)間內(nèi)的性能要求。 PoA與PoS類似,但是POS是基于持幣加時(shí)間的模式,所以同樣會(huì)造成利益分配的不均衡和大節(jié)點(diǎn)的產(chǎn)生,在PoA中,驗(yàn)證者不需要在網(wǎng)絡(luò)中持有股份,但是必須具有已知的和經(jīng)過驗(yàn)證的身份,這意味著驗(yàn)證者不會(huì)有動(dòng)機(jī)為自己的利益行事,由這些驗(yàn)證者來(lái)驗(yàn)證和治理DAPP的投票。如此,讓PoA的網(wǎng)絡(luò)變得更加安全和便宜。 除了唯鏈以外,歐鏈Oracles采用的也是PoA共識(shí)機(jī)制。 Ripple:RPCA(Ripple Protocol consensus algorithm) 瑞波共識(shí)機(jī)制RPCA是一個(gè)類似PBFT的共識(shí)機(jī)制,屬于節(jié)點(diǎn)投票的共識(shí)機(jī)制。初始特殊節(jié)點(diǎn)列表就像一個(gè)俱樂部,要接納一個(gè)新成員,必須由51%的該俱樂部會(huì)員投票通過。共識(shí)遵循這核心成員的51%權(quán)力,外部人員則沒有影響力。由于該俱樂部由“中心化”開始,它將一直是“中心化的”,而如果它開始腐化,股東們什么也做不了。 與比特幣及點(diǎn)點(diǎn)幣一樣,瑞波系統(tǒng)將股東們與其投票權(quán)隔開,并因此比其他系統(tǒng)更中心化。Stellar的共識(shí)機(jī)制SCP(Stellar Consensus Protocol)就是在“Ripple共識(shí)算法”的基礎(chǔ)上演化而來(lái)的。 Hcash——PoW+PoS共識(shí)機(jī)制 Hcash采用混合共識(shí)機(jī)制后,有Hcash的用戶與礦工均可以參與到投票中,共同參與Hcash社區(qū)的重大決定;Hcash的PoS還為不合格的礦工提供了一個(gè)制衡機(jī)制;通過PoS+PoW公平的按持幣數(shù)量與工作量分配投票權(quán)重,可以實(shí)現(xiàn)社區(qū)自治。 通過PoW,使得Hcash有挖礦的硬性成本作為幣價(jià)的保證,又制約了單獨(dú)PoS機(jī)制里數(shù)字貨幣過于集中的問題;PoS讓中小投資者著眼于項(xiàng)目的中長(zhǎng)期的發(fā)展,中小戶更傾向于把幣放在錢包里進(jìn)行PoS而不是放在交易所隨時(shí)準(zhǔn)備交易使得Hcash生態(tài)更加健康,人們會(huì)將注意力更多的放在Hcash技術(shù)與落地應(yīng)用上,而不是僅僅關(guān)注短期的價(jià)格波動(dòng)。 在安全性上,由于PoW必須通過PoS的驗(yàn)證才可生效,PoW礦工不能自行決定并改變網(wǎng)絡(luò)規(guī)則,這有效的抵擋了51%攻擊。 共識(shí)機(jī)制發(fā)展 迄今為止,沒有任何一種共識(shí)機(jī)制完美地解決了所有問題,每個(gè)共識(shí)機(jī)制都存在各自的短板。數(shù)字貨幣市場(chǎng)在不斷擴(kuò)大,毫無(wú)疑問共識(shí)機(jī)制也在不斷地自我更新。 從PoW到PoS,PoS到DPoS,以及DAG的無(wú)區(qū)塊鏈概念,無(wú)疑不是對(duì)效率的不斷追求。但是共識(shí)越集中(參與度越低),效率越高,也越容易出現(xiàn)安全和獨(dú)裁腐敗現(xiàn)象(和去中心化的初衷背道而馳)。只有做到各方面的平衡,通過之后的發(fā)展以及不斷的更迭,數(shù)字貨幣以及區(qū)塊鏈未來(lái)可期。
網(wǎng)上經(jīng)營(yíng)許可證號(hào):京ICP備18006193號(hào)-1
copyright?2005-2022 www.ukhi.cn all right reserved 技術(shù)支持:杭州高達(dá)軟件系統(tǒng)股份有限公司
服務(wù)熱線:010-59231580