李福濤
【摘要】? ? 共識機(jī)制作為區(qū)塊鏈中的關(guān)鍵技術(shù),是區(qū)塊鏈系統(tǒng)中的所有參與節(jié)點(diǎn)達(dá)成一致的策略和方法,決定了區(qū)塊鏈能在多個(gè)節(jié)點(diǎn)中達(dá)到一種相對平衡的狀態(tài)。隨著區(qū)塊鏈技術(shù)發(fā)展和不斷成熟,區(qū)塊鏈的共識機(jī)制也在不斷發(fā)展與完善。本文介紹了幾種主流共識機(jī)制的特點(diǎn),具體為PoW、PoS、DPoS、PBFT等共識機(jī)制。
【關(guān)鍵詞】? ? 區(qū)塊鏈? ? 共識機(jī)制? ? 去中心化
一、前言
2008 年,學(xué)者中本聰(Nakamoto)發(fā)表論文《比特幣:一種點(diǎn)對點(diǎn)的電子現(xiàn)金系統(tǒng)》,在該文中首次提出區(qū)塊鏈概念。作為一種近幾年逐漸興起的前沿性、基礎(chǔ)性技術(shù),區(qū)塊鏈(Blockchain)是一種全新的去中心的分布式系統(tǒng),其整合了共識機(jī)制、密碼學(xué)技術(shù)、分布式數(shù)據(jù)存儲(chǔ)、P2P技術(shù)等關(guān)鍵技術(shù)。該系統(tǒng)是按照時(shí)間順序?qū)⒏鱾€(gè)數(shù)據(jù)區(qū)塊以順序相連,從而組合成一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),使用非對稱加密算法來保證鏈中的數(shù)據(jù)區(qū)塊不可篡改和不可偽造。區(qū)塊鏈的這種去中心化、去信任化的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)具有廣闊的應(yīng)用前景和重要的應(yīng)用價(jià)值,其應(yīng)用已延伸到當(dāng)前網(wǎng)絡(luò)環(huán)境下的各類商品的交易和數(shù)據(jù)的傳輸中。
二、共識機(jī)制
區(qū)塊鏈作為一種分布式記賬系統(tǒng),其中的節(jié)點(diǎn)無需互相信任,各節(jié)點(diǎn)通過統(tǒng)一的共識機(jī)制共同維護(hù)一份賬本。區(qū)塊鏈建立的是一種去中心化的共識機(jī)制,區(qū)塊鏈的共識機(jī)制是區(qū)塊鏈系統(tǒng)中的所有參與節(jié)點(diǎn)達(dá)成一致的策略和方法。共識機(jī)制作為區(qū)塊鏈中的關(guān)鍵技術(shù),直接影響到區(qū)塊鏈應(yīng)用的有效性和適用性。
當(dāng)前區(qū)塊鏈主要有四大類共識機(jī)制:工作量證明(Proof Of Work,PoW)機(jī)制、權(quán)益證明(Proof of Stake,PoS)機(jī)制、股份授權(quán)證明(Delegate Proof of Stake,DPoS)機(jī)制和實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT)機(jī)制。
2.1工作量證明(PoW)
作為一種現(xiàn)今較為成熟的共識技術(shù),PoW共識過程為:觸發(fā)交易的節(jié)點(diǎn)向區(qū)塊鏈網(wǎng)絡(luò)廣播交易請求后,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)競爭獲得創(chuàng)建新區(qū)塊的權(quán)利,競爭成功的節(jié)點(diǎn)執(zhí)行智能合約后向網(wǎng)絡(luò)廣播生成的新區(qū)塊,然后所有節(jié)點(diǎn)驗(yàn)證該新區(qū)塊的正確性。PoW依賴機(jī)器進(jìn)行數(shù)學(xué)運(yùn)算來獲取記賬權(quán),資源消耗相比其他共識機(jī)制高,同時(shí)每次達(dá)成共識需要全網(wǎng)節(jié)點(diǎn)共同參與運(yùn)算,性能效率比較低,容錯(cuò)性方面允許全網(wǎng)一半節(jié)點(diǎn)出錯(cuò)。雖然PoW可以達(dá)到完全去中心化,節(jié)點(diǎn)自由進(jìn)出,但是目前比特幣已經(jīng)吸引全球大部分的算力。且由于依賴機(jī)器進(jìn)行數(shù)學(xué)運(yùn)算來獲取記賬權(quán),資源消耗相比其它共識機(jī)制高、可監(jiān)管性弱。
2.2權(quán)益證明(PoS)
PoS的主要思想是節(jié)點(diǎn)記賬權(quán)的獲得難度與節(jié)點(diǎn)持有的權(quán)益成反比,其出發(fā)點(diǎn)在于解決工作量證明的能源浪費(fèi)問題。作為Pow的一種升級共識機(jī)制,PoS根據(jù)每個(gè)節(jié)點(diǎn)所占代幣的比例和時(shí)間,等比例的降低挖礦難度,從而加快找隨機(jī)數(shù)的速度,且該共識機(jī)制容錯(cuò)性和PoW相同。相對于PoW,PoS一定程度減少了數(shù)學(xué)運(yùn)算帶來的資源消耗,性能也得到了一定的提升,但依然是基于哈希運(yùn)算競爭獲取記賬權(quán)的方式,可監(jiān)管性弱。PoS共識過程僅僅靠內(nèi)部幣齡和權(quán)益,而不需要消耗外部算力和資源,解決了算力浪費(fèi)問題,但是算力卻大打折扣。
2.3股份授權(quán)證明(DPoS)
隨著對PoS研究的深入,基于PoS產(chǎn)生了DPoS,意為股份授權(quán)證明機(jī)制,DPoS與PoS的主要區(qū)別在于節(jié)點(diǎn)選舉若干代理人,由代理人驗(yàn)證和記賬。其合規(guī)監(jiān)管、性能、資源消耗和容錯(cuò)性與PoS相似。類似于董事會(huì)投票,股東們投出一定數(shù)量的節(jié)點(diǎn),作為代理人,代理他們進(jìn)行驗(yàn)證和記賬,并負(fù)責(zé)維護(hù)貨幣系統(tǒng)運(yùn)行,其合法性驗(yàn)證性能也與PoS相似。由于大幅縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,其共識驗(yàn)證的時(shí)間就更短。DPoS整個(gè)共識機(jī)制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的,普適性較差。
2.4實(shí)用拜占庭容錯(cuò)(PBFT)
PBFT是一種基于消息傳遞的一致性算法,算法經(jīng)過三個(gè)階段達(dá)成一致性,每個(gè)階段可能因?yàn)槭《貜?fù)進(jìn)行,其解決了原始拜占庭容錯(cuò)算法效率不高的問題,使得拜占庭容錯(cuò)算法在實(shí)際系統(tǒng)應(yīng)用中變得可行。PBFT算法是假定攻擊者數(shù)量在容錯(cuò)條件下,預(yù)設(shè)的大多數(shù)節(jié)點(diǎn)通過依賴一個(gè)選舉過程達(dá)成節(jié)點(diǎn)共識,然后由選舉的節(jié)點(diǎn)按照約定生成區(qū)塊。PBFT的缺點(diǎn)在于:網(wǎng)絡(luò)資源消耗較高,網(wǎng)絡(luò)開銷較大,且容錯(cuò)率低、靈活性差,超過1/3的節(jié)點(diǎn)作惡就會(huì)導(dǎo)致系統(tǒng)崩潰,以及只適用聯(lián)盟鏈或私鏈場景。
三、結(jié)語
區(qū)塊鏈的去中心化、防篡改、可追溯等特性使其具有良好的應(yīng)用潛力和前景。共識機(jī)制作為區(qū)塊鏈中的關(guān)鍵技術(shù),解決了區(qū)塊鏈如何在分布式場景下達(dá)成一致性的問題。如何降低共識算法的復(fù)雜度,將是未來區(qū)塊鏈領(lǐng)域中的主要研究趨勢。
參? 考? 文? 獻(xiàn)
[1]沈鑫, 等. 區(qū)塊鏈技術(shù)綜述[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào),2016,2(11).
[2]北京航空航天大學(xué). 一種基于P2P金融的區(qū)塊鏈機(jī)制與共識算法:中國, 106920167[P].2017-07-04.
[3]Cryptape.共識算法,區(qū)塊鏈的引擎.http://cryptape.com/ consensus-the-engine-of-blockchain.html, 2016.