您當(dāng)前的位置 : 膠東在線  >  智慧城市  >  品牌欄目  >  煙臺區(qū)塊鏈  >  百科知識

區(qū)塊鏈的共識機制有什么作用和意義?

來源:互聯(lián)網(wǎng) 2020-02-17 09:07

| 舉報 糾錯

A+ A-

  區(qū)塊鏈?zhǔn)且粋歷史可追溯、不可篡改,解決多方互信問題的分布式(去中心化)系統(tǒng)。分布式系統(tǒng)必然面臨著一致性問題,而解決一致性問題的過程我們稱之為共識。

  分布式系統(tǒng)的共識達成需要依賴可靠的共識算法,共識算法通常解決的是分布式系統(tǒng)中由哪個節(jié)點發(fā)起提案,以及其他節(jié)點如何就這個提案達成一致的問題。我們根據(jù)傳統(tǒng)分布式系統(tǒng)與區(qū)塊鏈系統(tǒng)間的區(qū)別,將共識算法分為可信節(jié)點間的共識算法與不可信節(jié)點間的共識算法。前者已經(jīng)被深入研究,并且在現(xiàn)有流行的分布式系統(tǒng)中廣泛應(yīng)用,其中Paxos和Raft及其相應(yīng)變種算法最為著名。對于后者,雖然也早就被研究,但直到近年區(qū)塊鏈技術(shù)發(fā)展如火如荼,相關(guān)共識算法才得到大量應(yīng)用。而根據(jù)應(yīng)用場景的不同,后者又分為以PoW(ProofofWork)和PoS(ProofofStake)等算法為代表的適用于公鏈的共識算法和以PBFT(PracticalByzantineFaultTolerance)及其變種算法為代表的適用于聯(lián)盟鏈或私有鏈的共識算法。

  工作量證明PoW算法是比特幣系統(tǒng)采用的算法,該算法于1998年有W.Dai在B-money的設(shè)計中提出。以太坊系統(tǒng)當(dāng)前同樣采用PoW算法進行共識,但由于以太坊系統(tǒng)出塊更快(約15秒),更容易產(chǎn)生區(qū)塊,為了避免大量節(jié)點白白陪跑,以太坊提出了Uncle塊獎勵機制。POS算法最早由SunnyKing在2012年8月發(fā)布的PPC系統(tǒng)中首先實現(xiàn),而以太坊系統(tǒng)也一直對PoS抱有好感,計劃后續(xù)以PoS代替PoW作為其共識機制。PoS及其變種算法可以解決PoW算法一直被詬病的浪費算力問題,但其本身尚未經(jīng)過足夠驗證。PBFT算法最早由MiguelCastro和BarbaraLiskov在1999年的OSDI99會議上提出,該算法相較原始拜占庭容錯算法具有更高的運行效率。假設(shè)系統(tǒng)中共有N個節(jié)點,那么PBFT算法可以容忍系統(tǒng)中存在F個惡意節(jié)點,并且3F+1不大于N。PBFT共識算法雖然隨著系統(tǒng)中節(jié)點數(shù)增多而可以容忍更多的拜占庭節(jié)點,但其共識效率確實以極快的速率下降,這也是我們能看到的應(yīng)用PBFT做共識算法的系統(tǒng)中很少有超過100個節(jié)點的原因。無論是PoW算法還是Pos算法,其核心思想都是通過經(jīng)濟激勵來鼓勵節(jié)點對系統(tǒng)的貢獻和付出,通過經(jīng)濟懲罰來阻止節(jié)點作惡。公有鏈系統(tǒng)為了鼓勵更多節(jié)點參與共識,通常會發(fā)放代幣(token)給對系統(tǒng)運行有貢獻的節(jié)點。而聯(lián)盟鏈或者私鏈與公有鏈的不同之處在于,聯(lián)盟鏈或者私鏈的參與節(jié)點通常希望從鏈上獲得可信數(shù)據(jù),這相對于通過記賬來獲取激勵而言有意義得多,所有他們更有義務(wù)和責(zé)任去維護系統(tǒng)的穩(wěn)定運行,并且通常參與節(jié)點數(shù)較少,PBFT及其變種算法恰好適用于聯(lián)盟鏈或者私鏈的應(yīng)用場景。

責(zé)任編輯:胡金鵬

相關(guān)閱讀

膠東在線微信號

膠東頭條客戶端

聯(lián)系 智城煙臺

地址:煙臺市萊山區(qū)觀海路333號煙臺廣電大廈18樓

電話:0535-6690009 E-mail:jdzx@jiaodong.net