• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于信譽(yù)的動(dòng)態(tài)授權(quán)PBFT共識(shí)機(jī)制

      2019-10-08 06:43李俊清辛衍森宋長(zhǎng)青
      軟件 2019年5期
      關(guān)鍵詞:拜占庭信譽(yù)算力

      李俊清 辛衍森 宋長(zhǎng)青

      摘 ?要: 區(qū)塊鏈?zhǔn)且环N基于零信任基礎(chǔ)、去中心化及不可篡改的分布式賬本技術(shù)。共識(shí)算法作為區(qū)塊鏈主要技術(shù)之一,其效率直接影響區(qū)塊鏈系統(tǒng)性能。針對(duì)PBFT共識(shí)算法運(yùn)行效率低的問(wèn)題,本文提出了基于信譽(yù)的動(dòng)態(tài)授權(quán)PBFT共識(shí)機(jī)制,引入信譽(yù)評(píng)價(jià)體系對(duì)系統(tǒng)節(jié)點(diǎn)進(jìn)行信譽(yù)評(píng)價(jià),動(dòng)態(tài)決定從信譽(yù)最高的節(jié)點(diǎn)中選取共識(shí)節(jié)點(diǎn),同時(shí)實(shí)現(xiàn)了非停機(jī)情況下動(dòng)態(tài)增刪節(jié)點(diǎn)的功能,且隨著系統(tǒng)長(zhǎng)期運(yùn)行,所能容忍的拜占庭節(jié)點(diǎn)動(dòng)態(tài)增加;優(yōu)化了一致性協(xié)議,將傳統(tǒng)的一致性協(xié)議與基于speculation技術(shù)的拜占庭協(xié)議進(jìn)行融合,降低了算力開(kāi)銷(xiāo)和通信代價(jià);通過(guò)對(duì)共識(shí)節(jié)點(diǎn)的信譽(yù)及行為分析,進(jìn)一步降低惡意節(jié)點(diǎn)成為共識(shí)節(jié)點(diǎn)的概率,解決了由拜占庭節(jié)點(diǎn)作為主節(jié)點(diǎn)帶來(lái)的交易延遲增加問(wèn)題。最后從算力開(kāi)銷(xiāo)、交易吞吐量和容錯(cuò)性能等方面進(jìn)行了論證分析。

      關(guān)鍵詞: 區(qū)塊鏈;PBFT共識(shí)算法;全局信譽(yù)模型;動(dòng)態(tài)授權(quán);speculation技術(shù)

      中圖分類(lèi)號(hào): TP311.13 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.05.001

      本文著錄格式:李俊清,辛衍森,宋長(zhǎng)青,等. 基于信譽(yù)的動(dòng)態(tài)授權(quán)PBFT共識(shí)機(jī)制[J]. 軟件,2019,40(5):0107

      【Abstract】: Blockchain is a distributed ledger technology based on zero-trust foundation, decentralization and non-tamperability. Consensus algorithm is one of the main techniques of blockchain, and its efficiency directly affects the performance of blockchain system. Aiming at the low efficiency of PBFT consensus algorithm, this paper proposes a reputation-based dynamic authorization PBFT consensus mechanism, introduces a reputation evaluation system to evaluate the reputation of system nodes, and dynamically decides to select consensus nodes from the nodes with the highest reputation. At the same time, the function of dynamically adding and deleting nodes in the case of non-downtime is realized, and the Byzantine nodes that can be tolerated dynamically increase with the long-term operation of the system; The consistency protocol is optimized, and the traditional consistency protocol is merged with the Byzantine protocol based on speculation technology, which reduces the computational overhead and communication cost; Through the analysis of the reputation and behavior of the consensus node, the probability of the malicious node becoming the consensus node is further reduced, and the problem of increased transaction delay caused by the Byzantine node as the master node is solved. Finally, the argumentation analysis is carried out from the aspects of computational power, transaction throughput and fault tolerance.

      【Key words】: Blockchain; PBFT consensus algorithm; Global reputation model; Dynamic authorization; Speculation technology

      0 ?引言

      區(qū)塊鏈(Blockchain)作為當(dāng)下熱門(mén)的分布式數(shù)據(jù)庫(kù)技術(shù)方案,包含分布式數(shù)據(jù)存儲(chǔ)技術(shù)、P2P網(wǎng)絡(luò)傳輸機(jī)制、分布式節(jié)點(diǎn)間的共識(shí)機(jī)制、加密算法、可編程的智能合約等技術(shù)[1]。由于其具有去中心化、開(kāi)放性、自治性、不可篡改和匿名性的特點(diǎn),區(qū)塊鏈不僅在數(shù)字貨幣等數(shù)字資產(chǎn)中發(fā)揮巨大作用,而且對(duì)金融服務(wù)、公共服務(wù)、社會(huì)生活等領(lǐng)域產(chǎn)生深遠(yuǎn)影響。

      區(qū)塊鏈的快速發(fā)展的同時(shí),其存儲(chǔ)、共識(shí)、監(jiān)管和安全等方面問(wèn)題凸顯,其中共識(shí)算法效率制約著區(qū)塊鏈技術(shù)大范圍應(yīng)用。起初比特幣區(qū)塊鏈采用依賴(lài)節(jié)點(diǎn)算力的工作量證明共識(shí)算法(POW)來(lái)實(shí)現(xiàn)一致性選擇[1]。隨著技術(shù)發(fā)展,非許可鏈中相繼涌現(xiàn)出權(quán)益證明機(jī)制(POS)和股份授權(quán)證明機(jī)制(DPOS),許可鏈發(fā)展了實(shí)用拜占庭容錯(cuò)機(jī)制(PBFT)[2]等共識(shí)機(jī)制,但每種機(jī)制在吞吐量、時(shí)延、功耗等方面都難以兼顧。

      本文基于DPOS的思想,利用信譽(yù)評(píng)價(jià)體系進(jìn)行共識(shí)節(jié)點(diǎn)的選取,在PBFT共識(shí)機(jī)制基礎(chǔ)上融合基于speculation技術(shù)的拜占庭算法,同時(shí)引入拜占庭節(jié)點(diǎn)檢測(cè)機(jī)制,以保障系統(tǒng)長(zhǎng)期運(yùn)行環(huán)境的安全性和高效性。

      1 ?相關(guān)知識(shí)

      1.1 ?共識(shí)機(jī)制介紹

      共識(shí)就是使得在權(quán)力高度分散的去中心化系統(tǒng)中各個(gè)節(jié)點(diǎn)達(dá)成一致,共識(shí)機(jī)制在去中心化的基礎(chǔ)上解決了節(jié)點(diǎn)間互相信任的問(wèn)題。如何在分布式系統(tǒng)中高效達(dá)成共識(shí)是分布式計(jì)算領(lǐng)域的重要研究問(wèn)題之一[1]。區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目越多,去中心化程度越高,那么節(jié)點(diǎn)決策權(quán)越小,系統(tǒng)達(dá)成共識(shí)的效率越低。

      1.1.1 ?工作量證明機(jī)制(POW)

      中本聰在2009年實(shí)現(xiàn)的比特幣系統(tǒng)中采用了POW共識(shí)機(jī)制,其核心思想是通過(guò)算力進(jìn)行挖礦,獲取記賬權(quán)。比特幣所采用的是一種可重復(fù)使用的Hashcash工作證明機(jī)制,使得生成工作證明量是一個(gè)概率意義上的隨機(jī)過(guò)程[2]。在系統(tǒng)中,所有的節(jié)點(diǎn)(礦工)都要根據(jù)各自計(jì)算機(jī)算力使用不同的隨機(jī)數(shù)持續(xù)計(jì)算一個(gè)特定的哈希值,該過(guò)程被稱(chēng)為“挖礦”。為了驅(qū)使礦工進(jìn)行挖礦,該行為設(shè)定了相應(yīng)的獎(jiǎng)勵(lì)機(jī)制。由此可知,該共識(shí)機(jī)制的優(yōu)點(diǎn)是通過(guò)算力競(jìng)爭(zhēng)保證系統(tǒng)的完全去中心化和安全性,缺點(diǎn)是挖礦造成大量能源消耗和硬件資源浪費(fèi)。比特幣系統(tǒng)動(dòng)態(tài)調(diào)整目標(biāo)值,維持生成區(qū)塊的平均時(shí)間和交易確認(rèn)時(shí)間分別在十分鐘和一小時(shí)左右,效率低,難以大范圍應(yīng)用。

      1.1.2 ?權(quán)益證明機(jī)制(POS)

      Nick Szabo提出的POS可以說(shuō)是為了解決POW的資源消耗問(wèn)題的一種節(jié)能替代機(jī)制,本質(zhì)上是用對(duì)貨幣所有權(quán)的證明取代算力競(jìng)爭(zhēng)。貨幣的來(lái)源是在生成一個(gè)區(qū)塊時(shí),由礦工發(fā)起關(guān)于特定貨幣分配的交易,POS是基于幣齡來(lái)選擇節(jié)點(diǎn)創(chuàng)建下一個(gè)區(qū)塊,節(jié)點(diǎn)所持有的代幣越多、時(shí)間越長(zhǎng),挖礦的難度越低,達(dá)成共識(shí)的時(shí)間越短。與POW相比,POS可以節(jié)省更多的資源,性能有所提高,而其容錯(cuò)能力與POW相當(dāng),并沒(méi)有擺脫節(jié)點(diǎn)挖礦,不具有普適性。由于該機(jī)制相信權(quán)益高的節(jié)點(diǎn)攻擊網(wǎng)絡(luò)的可能性低,所以一定程度上安全性降低。

      1.1.3 ?股份授權(quán)證明機(jī)制(DPOS)

      DPOS是在POW及POS的基礎(chǔ)上,用節(jié)點(diǎn)的權(quán)益作為選票選出一定數(shù)量的代表節(jié)點(diǎn)輪流進(jìn)行區(qū)塊的生成和驗(yàn)證。過(guò)程中產(chǎn)生的收益由這些代表節(jié)點(diǎn)平分,并且含有權(quán)益的節(jié)點(diǎn)可以隨時(shí)發(fā)起投票更換“有問(wèn)題”的代表節(jié)點(diǎn)。DPOS機(jī)制大幅降低了直接參與共識(shí)的節(jié)點(diǎn),減少了對(duì)確認(rèn)的需求,使共識(shí)驗(yàn)證過(guò)程可以在秒級(jí)單位內(nèi)完成。隨之帶來(lái)的是節(jié)點(diǎn)參與投票不積極或者代理投票的問(wèn)題,同時(shí)對(duì)于代幣的依賴(lài)使得該機(jī)制難以適用于商業(yè)應(yīng)用。

      1.1.4 ?實(shí)用拜占庭容錯(cuò)機(jī)制(PBFT)

      拜占庭容錯(cuò)技術(shù)能夠容忍任意形式的軟件錯(cuò)誤和安全漏洞,作為一種解決分布式系統(tǒng)容錯(cuò)問(wèn)題的通用方案,復(fù)雜度由指數(shù)級(jí)降到了多項(xiàng)式級(jí),大大降低了拜占庭協(xié)議的開(kāi)銷(xiāo)[3]。PBFT作為一種狀態(tài)機(jī)副本復(fù)制算法,其前提要求節(jié)點(diǎn)共識(shí)時(shí)狀態(tài)相同,且對(duì)同一消息處理結(jié)果也必須相同。PBFT中,區(qū)塊鏈網(wǎng)絡(luò)中存在拜占庭節(jié)點(diǎn)數(shù)f,則總節(jié)點(diǎn)須大于3f,而多于3f的節(jié)點(diǎn)帶來(lái)是系統(tǒng)算力增加,容錯(cuò)性能較低。其在交易吞吐量和共識(shí)延遲方面性能有較大提高,符合大部分應(yīng)用要求,是目前最主流的共識(shí)算法。目前,HyperLedger聯(lián)盟、中國(guó)ChinaLedger聯(lián)盟等區(qū)塊鏈聯(lián)盟都在進(jìn)行該共識(shí)機(jī)制的實(shí)際部署應(yīng)用[2]。

      1.2 ?全局信譽(yù)模型

      胡建理等學(xué)者提出的一種基于反饋可信度的分布式P2P信任模型(FCTrust)[4]是在原有的基于信譽(yù)的全局信任模型上[5,6],為了防止惡意節(jié)點(diǎn)進(jìn)行虛假評(píng)價(jià)、共謀欺騙等惡意行為,提出的一種節(jié)點(diǎn)反饋信息評(píng)價(jià)機(jī)制,將全局可信度高的節(jié)點(diǎn)與反饋信息可信度高的節(jié)點(diǎn)區(qū)分開(kāi)來(lái)。該反饋信息評(píng)價(jià)機(jī)制將節(jié)點(diǎn)間交易頻率和節(jié)點(diǎn)評(píng)價(jià)的相似度納入主要參考因素。FCTrust是通過(guò)參與交易的節(jié)點(diǎn)之間相互評(píng)價(jià),分析節(jié)點(diǎn)之間的交易次數(shù)、評(píng)分比較和節(jié)點(diǎn)的全局信譽(yù)值,為該節(jié)點(diǎn)分配一個(gè)信任值,然后通過(guò)迭代運(yùn)算得到一個(gè)在全局范圍內(nèi)的信譽(yù)值,該信譽(yù)值在沒(méi)有交易進(jìn)行的情況下對(duì)所有節(jié)點(diǎn)是保持不變并且唯一的。

      由于其引入了節(jié)點(diǎn)反饋信息評(píng)價(jià)機(jī)制,所以相比EigenTrust模型對(duì)惡意節(jié)點(diǎn)的虛假評(píng)價(jià)、對(duì)抗共謀等惡意行為的處理更加有效,給予惡意節(jié)點(diǎn)更低的全局信譽(yù)值。綜合考慮了交易節(jié)點(diǎn)之間的局部信任、節(jié)點(diǎn)自身的全局信譽(yù)值和節(jié)點(diǎn)間反饋信息可信度,降低系統(tǒng)信任誤差度,使得節(jié)點(diǎn)最終得到的全局信譽(yù)值更加可靠和精確。FCTrust要求所取得最終的全局信譽(yù)值依賴(lài)的節(jié)點(diǎn)評(píng)價(jià)及反饋信息具有近期有效性,并且利用分布式求解協(xié)議計(jì)算全局信譽(yù)值,因此大大降低了算法的復(fù)雜度。例如在消息復(fù)雜度的測(cè)試中,得到EigenTrust模型為O(n2),而FCTrust模型僅為O(n)[4]。

      2 ?共識(shí)機(jī)制優(yōu)化

      本文提出了一種優(yōu)化的共識(shí)機(jī)制,以下稱(chēng)為基于信譽(yù)的實(shí)用拜占庭容錯(cuò)機(jī)制,簡(jiǎn)稱(chēng)RPBFT(reputation practical byzantine fault tolerance)。利用全局信任模型決定直接參與共識(shí)的節(jié)點(diǎn);采用傳統(tǒng)一致性協(xié)議融合基于speculation技術(shù)的拜占庭協(xié)議,降低網(wǎng)絡(luò)開(kāi)銷(xiāo),提高系統(tǒng)效率;通過(guò)對(duì)共識(shí)節(jié)點(diǎn)的行為和其自身的全局信譽(yù)值分析,引入拜占庭節(jié)點(diǎn)的檢測(cè)機(jī)制,對(duì)拜占庭節(jié)點(diǎn)進(jìn)行降級(jí)處理,提高該系統(tǒng)所能容忍的最大惡意節(jié)點(diǎn)數(shù)。

      2.1 ?共識(shí)節(jié)點(diǎn)的選擇

      基于DPOS的思想,同時(shí)為了避免投票機(jī)制帶來(lái)的投票者不積極、代理投票等導(dǎo)致投票的有效性降低的問(wèn)題,本文利用全局信任模型,將節(jié)點(diǎn)的全局信譽(yù)值作為選擇共識(shí)節(jié)點(diǎn)的重要標(biāo)準(zhǔn)。為了確保選取的共識(shí)節(jié)點(diǎn)都處于正常在線(xiàn)狀態(tài),為每一個(gè)節(jié)點(diǎn)設(shè)置一個(gè)狀態(tài)標(biāo)識(shí)。然后按照公式1:

      Rf=GrfState ? ? (1)

      公式1中,Rf是節(jié)點(diǎn)信用系數(shù)值,Grf代表節(jié)點(diǎn)的全局信譽(yù)值,State(Boolean類(lèi)型)表示節(jié)點(diǎn)狀態(tài);當(dāng)節(jié)點(diǎn)出現(xiàn)掛機(jī)、被攻擊、自身故障、網(wǎng)絡(luò)問(wèn)題、離線(xiàn)狀態(tài)等不能正常運(yùn)行時(shí)State為0。由公式得出每個(gè)節(jié)點(diǎn)的信用系數(shù)值,按照該信任系數(shù)值從高到低選取前100位組成共識(shí)節(jié)點(diǎn)集,其中各節(jié)點(diǎn)之間是相互平等的,繼續(xù)選取前50位組成預(yù)備共識(shí)節(jié)點(diǎn)集,兩節(jié)點(diǎn)集中節(jié)點(diǎn)數(shù)目可由所有節(jié)點(diǎn)投票動(dòng)態(tài)決定。

      當(dāng)共識(shí)節(jié)點(diǎn)集正在進(jìn)行區(qū)塊的生成及驗(yàn)證時(shí),由于節(jié)點(diǎn)的State可能發(fā)生變化,要求預(yù)備共識(shí)節(jié)點(diǎn)集是動(dòng)態(tài)變化的。隨著交易進(jìn)行對(duì)節(jié)點(diǎn)評(píng)價(jià)和反饋消息會(huì)不斷更新,同時(shí)要求這些評(píng)價(jià)和反饋消息具有近期有效性,以保證節(jié)點(diǎn)的全局信譽(yù)值是動(dòng)態(tài)變化的。因此,為保障系統(tǒng)實(shí)時(shí)有效性,共識(shí)節(jié)點(diǎn)集每經(jīng)過(guò)一段時(shí)間需進(jìn)行更新。該時(shí)間間隔內(nèi)若在共識(shí)節(jié)點(diǎn)集中發(fā)現(xiàn)惡意節(jié)點(diǎn),系統(tǒng)將惡意節(jié)點(diǎn)賦予更低全局信譽(yù)值并將其剔除共識(shí)節(jié)點(diǎn)集,由預(yù)備共識(shí)節(jié)點(diǎn)集的首個(gè)節(jié)點(diǎn)代替該節(jié)點(diǎn)參與共識(shí)。隨著系統(tǒng)的運(yùn)行,正常節(jié)點(diǎn)交易越頻繁,全局信譽(yù)值越高,而各類(lèi)惡意節(jié)點(diǎn)能夠被全局信任模型有效識(shí)別并賦予更低的全局信譽(yù)值,系統(tǒng)開(kāi)始良性循環(huán),惡意節(jié)點(diǎn)被選作共識(shí)節(jié)點(diǎn)的可能性非常低。共識(shí)算法中所能容忍的拜占庭節(jié)點(diǎn)數(shù)不變,但惡意節(jié)點(diǎn)被選作共識(shí)節(jié)點(diǎn)的可能性降低,因此整個(gè)系統(tǒng)可容忍的惡意節(jié)點(diǎn)數(shù)量動(dòng)態(tài)增加。

      2.2 ?RPBFT共識(shí)算法

      2.2.1 ?算法定義

      PBFT共識(shí)機(jī)制在保證活性和安全性的基礎(chǔ)上,當(dāng)總節(jié)點(diǎn)數(shù)目為3f+1時(shí),其能容忍的拜占庭節(jié)點(diǎn)數(shù)最大為f。該算法中由一致性協(xié)議保證每一個(gè)正常節(jié)點(diǎn)以相同順序執(zhí)行客戶(hù)端的請(qǐng)求消息;在主節(jié)點(diǎn)發(fā)生系統(tǒng)錯(cuò)誤或成為拜占庭節(jié)點(diǎn)時(shí)利用視圖更換協(xié)議更換主節(jié)點(diǎn),使正常節(jié)點(diǎn)執(zhí)行過(guò)的客戶(hù)端請(qǐng)求不被篡改;檢查點(diǎn)協(xié)議用以清除日志記錄、設(shè)置水線(xiàn)值(h和H)、同步節(jié)點(diǎn)狀態(tài)。

      RPBFT共識(shí)機(jī)制,相對(duì)于傳統(tǒng)的一致性協(xié)議,融合了基于Zyzzyva5協(xié)議[7]的拜占庭算法,該算法引入了speculation技術(shù),在節(jié)點(diǎn)接收請(qǐng)求后直接執(zhí)行請(qǐng)求,省去了一致性協(xié)議中耗時(shí)的兩兩交互環(huán)節(jié),但在共識(shí)過(guò)程中若存在拜占庭節(jié)點(diǎn),其性能會(huì)大大降低。因此,我們利用全局信任模型和拜占庭節(jié)點(diǎn)檢測(cè)機(jī)制大幅降低甚至消除共識(shí)節(jié)點(diǎn)中拜占庭節(jié)點(diǎn)的存在,將傳統(tǒng)的一致性協(xié)議和基于speculation技術(shù)的拜占庭協(xié)議進(jìn)行結(jié)合。

      2.2.2 ?算法流程

      假設(shè)共識(shí)節(jié)點(diǎn)共有n個(gè),則從0到n-1對(duì)節(jié)點(diǎn)進(jìn)行編號(hào),所有節(jié)點(diǎn)的相同狀態(tài)信息稱(chēng)為視圖,同時(shí)對(duì)視圖由0開(kāi)始遞增編號(hào)。視圖中要求有一個(gè)主節(jié)點(diǎn)(primary),該主節(jié)點(diǎn)采用公式2選取,

      p=(h+v)mod n ?(2)

      公式2中p代表節(jié)點(diǎn)編號(hào),h代表當(dāng)前共識(shí)區(qū)塊高度,v代表視圖編號(hào);其余共識(shí)節(jié)點(diǎn)稱(chēng)作從節(jié)點(diǎn)(replica);當(dāng)primary節(jié)點(diǎn)失效時(shí),從replica節(jié)點(diǎn)中依據(jù)公式2選取一個(gè)新的primary節(jié)點(diǎn)[8]。算法如下:

      (1)若共識(shí)節(jié)點(diǎn)中無(wú)拜占庭節(jié)點(diǎn)

      RPBFT共識(shí)的具體步驟如下:

      a)客戶(hù)端將交易信息發(fā)送到primary節(jié)點(diǎn)。

      b)primary節(jié)點(diǎn)收到客戶(hù)端請(qǐng)求消息后打包排序,然后廣播預(yù)準(zhǔn)備消息給replica節(jié)點(diǎn)。

      c)節(jié)點(diǎn)執(zhí)行該請(qǐng)求,最后向客戶(hù)端反饋結(jié)果,如果客戶(hù)端收到3f+1個(gè)節(jié)點(diǎn)反饋的信息并且信息全部相同,則共識(shí)成功。

      d)若客戶(hù)端沒(méi)有收到所有節(jié)點(diǎn)的反饋信息或者存在不相同的反饋信息,則說(shuō)明共識(shí)失敗,共識(shí)節(jié)點(diǎn)中存在拜占庭節(jié)點(diǎn),轉(zhuǎn)到一致性協(xié)議共識(shí)流程重新共識(shí)。

      RPBFT共識(shí)流程采用基于Zyzzyva5協(xié)議的共識(shí)流程,如圖1所示。

      (2)若共識(shí)節(jié)點(diǎn)中存在拜占庭節(jié)點(diǎn)

      RPBFT共識(shí)的具體步驟如下:

      a)客戶(hù)端將交易信息發(fā)送到primary節(jié)點(diǎn)。

      b)primary節(jié)點(diǎn)接收消息后進(jìn)行打包并檢驗(yàn)其中交易合法性,刪除非法交易信息,分配序列號(hào)。然后向replica節(jié)點(diǎn)發(fā)送預(yù)準(zhǔn)備消息<m>。

      c)replica節(jié)點(diǎn)收到預(yù)準(zhǔn)備消息,則表明消息通過(guò)節(jié)點(diǎn)驗(yàn)證(該驗(yàn)證包括視圖編號(hào)、消息序號(hào)、摘要、簽名等)且進(jìn)入準(zhǔn)備階段,發(fā)送準(zhǔn)備消息。

      d)在節(jié)點(diǎn)收到2f個(gè)準(zhǔn)備消息后進(jìn)行合法性驗(yàn)證,寫(xiě)入日志,準(zhǔn)備消息必須寫(xiě)入日志,而預(yù)準(zhǔn)備消息則可進(jìn)行選擇記錄,日志的寫(xiě)入標(biāo)志著準(zhǔn)備階段完成。發(fā)送確認(rèn)消息,進(jìn)入Commit階段。

      e)節(jié)點(diǎn)收到2f+1個(gè)確認(rèn)消息,代表著達(dá)成共識(shí),然后節(jié)點(diǎn)執(zhí)行該請(qǐng)求并寫(xiě)入數(shù)據(jù),最后向客戶(hù)端反饋信息。

      RPBFT共識(shí)流程采用基于傳統(tǒng)一致性協(xié)議流程,如圖2所示。

      隨著系統(tǒng)運(yùn)行,節(jié)點(diǎn)的全局信譽(yù)值越來(lái)越精確,共識(shí)節(jié)點(diǎn)中存在拜占庭節(jié)點(diǎn)的可能性大大降低,因此系統(tǒng)將會(huì)采用基于speculation技術(shù)的算法進(jìn)行共識(shí)并保持良性循環(huán)。從而降低共識(shí)的響應(yīng)延遲、增加系統(tǒng)吞吐量、減少算力、降低功耗。圖3為系統(tǒng)完整的共識(shí)算法流程圖。

      2.3 ?拜占庭節(jié)點(diǎn)檢測(cè)與降級(jí)

      在共識(shí)節(jié)點(diǎn)集沒(méi)進(jìn)行更新的這段時(shí)間內(nèi),共識(shí)節(jié)點(diǎn)有可能會(huì)發(fā)生系統(tǒng)故障、網(wǎng)絡(luò)延遲或遭受惡意攻擊等錯(cuò)誤,則該節(jié)點(diǎn)被稱(chēng)為拜占庭節(jié)點(diǎn)。因此,當(dāng)一個(gè)共識(shí)階段完成后,未能向客戶(hù)端發(fā)送反饋消息或者反饋消息不一致的節(jié)點(diǎn),則認(rèn)為產(chǎn)生錯(cuò)誤行為,此時(shí)本算法將降低其全局信譽(yù)值并且立即剔除共識(shí)節(jié)點(diǎn)集,由預(yù)備共識(shí)節(jié)點(diǎn)集中首個(gè)節(jié)點(diǎn)代替參與共識(shí)。進(jìn)一步降低了共識(shí)節(jié)點(diǎn)中拜占庭節(jié)點(diǎn)存在的可能性,配合全局信任模型為系統(tǒng)執(zhí)行基于speculation技術(shù)的拜占庭協(xié)議提供保障,提高系統(tǒng)效率。

      3 ?性能分析

      現(xiàn)有的共識(shí)算法中,全球大部分算力被比特幣區(qū)塊鏈系統(tǒng)所吸引,因此其它采用POW的系統(tǒng)很難獲得足夠算力以保障系統(tǒng)安全,而且系統(tǒng)達(dá)成共識(shí)時(shí)間較長(zhǎng);POS雖然解決了一部分資源浪費(fèi)的問(wèn)題,但仍然沒(méi)有擺脫挖礦過(guò)程,沒(méi)有解決其本質(zhì)問(wèn)題;DPOS是在POS的基礎(chǔ)上發(fā)展而來(lái),卻沒(méi)有擺脫代幣的制約;因此,POW、POS、DPOS在眾多的應(yīng)用中都存在著制約問(wèn)題。許可鏈中普遍采用的PBFT共識(shí)效率和吞吐量高,但是較低的容錯(cuò)性和兩兩交互的通信代價(jià)導(dǎo)致其只適用于小規(guī)模的許可鏈。本文提出的RPBFT在PBFT基礎(chǔ)上,利用全局信任模型選取共識(shí)節(jié)點(diǎn),提高共識(shí)效率,增強(qiáng)系統(tǒng)容錯(cuò)性;將PBFT中靜態(tài)的共識(shí)節(jié)點(diǎn)機(jī)制調(diào)整為動(dòng)態(tài)可加入、剔除和降級(jí)處理機(jī)制,適用于非許可鏈系統(tǒng)和大規(guī)模的許可鏈系統(tǒng)。

      從算力開(kāi)銷(xiāo)、交易吞吐量和容錯(cuò)性能三個(gè)方面進(jìn)行RPBFT與PBFT對(duì)比分析如下:

      3.1 ?算力開(kāi)銷(xiāo)

      PBFT共識(shí)算法中存在兩次全網(wǎng)節(jié)點(diǎn)相互通信的過(guò)程,通信代價(jià)高,所以限制了該共識(shí)在公有鏈和大規(guī)模的聯(lián)盟鏈系統(tǒng)中的適用性。RPBFT相比PBFT大大降低兩兩通信交互的過(guò)程,因此其通信代價(jià)大幅降低。

      由于RPBFT引用了全局信任模型,通信代價(jià)有所增加,但其復(fù)雜度遠(yuǎn)小于PBFT的復(fù)雜度;同時(shí)RPBFT將傳統(tǒng)的一致性協(xié)議與基于speculation技術(shù)的拜占庭協(xié)議進(jìn)行結(jié)合,全局信譽(yù)值低的惡意節(jié)點(diǎn)參與共識(shí)的概率非常低,配合拜占庭節(jié)點(diǎn)檢測(cè)與降級(jí)機(jī)制,最優(yōu)情況下可以消除共識(shí)節(jié)點(diǎn)中拜占庭節(jié)點(diǎn),所以大部分共識(shí)過(guò)程中,系統(tǒng)采用基于speculation技術(shù)的拜占庭協(xié)議進(jìn)行區(qū)塊生成與驗(yàn)證。

      下面利用該全局信任模型求解所選出的共識(shí)節(jié)點(diǎn)中惡意節(jié)點(diǎn)的概率,該模型的性能評(píng)價(jià)中引入成功交易率(STR),即系統(tǒng)中成功交易次數(shù)占總交易次數(shù)的比例。這里可以認(rèn)為是一個(gè)節(jié)點(diǎn)選擇另一個(gè)節(jié)點(diǎn)進(jìn)行交易,若交易節(jié)點(diǎn)是正常節(jié)點(diǎn),則交易成功,否則交易失敗,可以認(rèn)為成功交易率亦代表節(jié)點(diǎn)選擇正常節(jié)點(diǎn)的概率。惡意節(jié)點(diǎn)包括簡(jiǎn)單惡意節(jié)點(diǎn)(SMS)、不誠(chéng)實(shí)推薦節(jié)點(diǎn)(SMR)、協(xié)同惡意節(jié)點(diǎn)(CM)和策略型惡意節(jié)點(diǎn)(SMP)[4]。由于SMP節(jié)點(diǎn)能夠視具體情況進(jìn)行相應(yīng)評(píng)價(jià),以避免被模型識(shí)別并賦予較低信譽(yù)值,因此,其對(duì)系統(tǒng)的影響要大于其他種類(lèi)的惡意節(jié)點(diǎn)。假設(shè)系統(tǒng)中惡意節(jié)點(diǎn)全為SMP節(jié)點(diǎn)且占系統(tǒng)總節(jié)點(diǎn)33%,STR在隨SMP節(jié)點(diǎn)的變化情況,如圖4

      由圖4可知,當(dāng)SMP節(jié)點(diǎn)占比為33%時(shí),STR約為0.84。由于現(xiàn)實(shí)系統(tǒng)中惡意節(jié)點(diǎn)不只是SMP類(lèi)型,即說(shuō)明在惡意節(jié)點(diǎn)為33%的系統(tǒng)中,選擇共識(shí)節(jié)點(diǎn)時(shí)正常節(jié)點(diǎn)的概率要大于84%。若節(jié)點(diǎn)在共識(shí)中不作為,則可認(rèn)為該節(jié)點(diǎn)為“漏網(wǎng)”的拜占庭節(jié)點(diǎn),賦予低信譽(yù)值并且降級(jí)處理,進(jìn)一步降低拜占庭節(jié)點(diǎn)的存在,降低算力開(kāi)銷(xiāo)。

      3.2 ?交易吞吐量

      區(qū)塊鏈系統(tǒng)的交易吞吐量是量化系統(tǒng)運(yùn)行效率高低的一個(gè)重要標(biāo)準(zhǔn)。RPBFT有效的降低了交易延遲、提高吞吐量。

      RPBFT中主節(jié)點(diǎn)發(fā)生故障的可能性降低,降低調(diào)用試圖切換協(xié)議的頻率,降低了交易延遲;算力開(kāi)銷(xiāo)降低,縮短了交易處理時(shí)間,進(jìn)一步提高了交易吞吐量;因此,RPBFT的交易吞吐量隨著系統(tǒng)運(yùn)行時(shí)間增加而增加,相比PBFT的相對(duì)穩(wěn)定值有較大提高。

      3.3 ?容錯(cuò)性能

      PBFT共識(shí)算法要求系統(tǒng)能容忍的最大拜占庭節(jié)點(diǎn)數(shù)不超過(guò)全網(wǎng)結(jié)點(diǎn)的1/3,容錯(cuò)能力較低,對(duì)系統(tǒng)性能影響較大。RPBFT的容錯(cuò)性能要大于33%。

      RPBFT能夠隨著系統(tǒng)的長(zhǎng)期運(yùn)行,共識(shí)節(jié)點(diǎn)中拜占庭節(jié)點(diǎn)數(shù)大大降低甚至消除,惡意節(jié)點(diǎn)的全局信譽(yù)值越來(lái)越低,所以惡意節(jié)點(diǎn)在共識(shí)節(jié)點(diǎn)的選取上所發(fā)揮的作用微乎其微。由圖4可知,SMP節(jié)點(diǎn)占比增加至40%時(shí),STR仍高達(dá)0.8,配合拜占庭檢測(cè)機(jī)制,則當(dāng)系統(tǒng)中惡意節(jié)點(diǎn)適當(dāng)增加時(shí)并不會(huì)對(duì)系統(tǒng)產(chǎn)生影響。因此,RPBFT能容忍的惡意節(jié)點(diǎn)數(shù)隨著系統(tǒng)進(jìn)入良性循環(huán)而增加,可由交易吞吐量檢測(cè)來(lái)間接反應(yīng)適當(dāng)增加惡意節(jié)點(diǎn)時(shí)對(duì)系統(tǒng)性能的影響。

      以上分析對(duì)比在相同的非必要因素條件下,論證了RPBFT共識(shí)機(jī)制具有更低的通信開(kāi)銷(xiāo)、更高的交易吞吐量和容錯(cuò)能力。

      4 ?總結(jié)與展望

      本文提出的基于信譽(yù)的PBFT共識(shí)機(jī)制,通過(guò)全局信任模型為每個(gè)節(jié)點(diǎn)分配全局信譽(yù)值,配合拜占庭節(jié)點(diǎn)檢測(cè)和剔除機(jī)制,并融合了傳統(tǒng)一致性協(xié)議算法和基于speculation技術(shù)的協(xié)議,有效改善了PBFT的容錯(cuò)性能較低和靜態(tài)節(jié)點(diǎn)結(jié)構(gòu),進(jìn)一步提高系統(tǒng)性能。

      本文下一步工作是:如何利用信譽(yù)評(píng)價(jià)模型賦予每個(gè)節(jié)點(diǎn)更加精確和準(zhǔn)確的信譽(yù)值,縮短系統(tǒng)運(yùn)行進(jìn)入良性循環(huán)的時(shí)間;在共識(shí)節(jié)點(diǎn)選取和讀取節(jié)點(diǎn)信譽(yù)值進(jìn)行比較時(shí),如何嚴(yán)格的保障數(shù)據(jù)的隱私安全。

      參考文獻(xiàn)

      [1] 袁勇, 王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 自動(dòng)化學(xué)報(bào), 2016, 42(4): 481-494.

      [2] 蔡亮, 李啟雷, 梁秀波. 區(qū)塊鏈技術(shù)進(jìn)階與實(shí)戰(zhàn)[M]. 北京: 人民郵電出版社, 2018.

      [3] 范捷, 易樂(lè)天, 舒繼武. 拜占庭系統(tǒng)技術(shù)研究綜述[J]. 軟件學(xué)報(bào), 2013, 24(06): 1346-1360.

      [4] 胡建理, 吳泉源, 周斌, 劉家紅. 一種基于反饋可信度的分布式P2P信任模型[J]. 軟件學(xué)報(bào), 2009, 20(10): 2885- 2898.

      [5] 竇文, 王懷民, 賈焰, 鄒鵬. 構(gòu)造基于推薦的Peer-to-Peer環(huán)境下的Trust模型[J]. 軟件學(xué)報(bào), 2004(04): 571-583.

      [6] Xiong L, Liu L. PeerTrust: Supporting Reputation-Based Trust for Peer-to-Peer Electronic Communities[J]. IEEE Transactions on Knowledge & Data Engineering, 2004, 16(7): 843-857.

      [7] Kotla R, Alvisi L, Dahlin M, Clement A, Wong E. Zyzzyva: Speculative Byzantine fault tolerance. In: Proc. of the 21st ACM SIGOPS Symp. on Operating Systems Principles. New York: ACM Press, 2007, 45-58. [doi:10.1145/1294261. 1294267]

      [8] 劉肖飛. 基于動(dòng)態(tài)授權(quán)的拜占庭容錯(cuò)共識(shí)算法的區(qū)塊鏈性能改進(jìn)研究[D]. 浙江大學(xué), 2017.

      [9] Miguel Castro, Barbara Liskov. Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems (TOCS), 2002, 20(4).

      [10] Cowling J, Myers D, Liskov B, Rodrigues R, Shrira L. HQ replication: A hybrid quorum protocol for Byzantine fault tolerance. In: Proc. of the 7th Symp. on Operating Systems Design and Implementation. Berkeley: USENIX Association, 2006. 177-190.

      [11] 王曉光. 區(qū)塊鏈技術(shù)共識(shí)算法綜述[J]. 信息與電腦(理論版), 2017(9): 72-74.

      [12] 周鄴飛. 區(qū)塊鏈核心技術(shù)演進(jìn)之路——共識(shí)機(jī)制演進(jìn)(1)[J]. 計(jì)算機(jī)教育, 2017(4): 155-158.

      [13] Nakamoto S. Bitcoin: A peer-to-peer electronic cash system[J]. Consulted, 2008.

      [14] Hendricks J, Sinnamohideen S, Ganger GR, Reiter MK. Zzyzx: Scalable fault tolerance through Byzantine locking. In: Proc. of the 2010 IEEE/IFIP Intl Conf. on Dependable Systems and Networks. 2010. 363-372. [doi:10.1109/DSN.2010.5544297]

      [15] 常文軍, 孫超平, 胡鑫. 基于分布式偏好關(guān)系的多屬性決策方法及應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用研究, 2017, 34(12): 3693- 3697+3707.

      [16] 閔新平, 李慶忠, 孔蘭菊, 張世棟, 鄭永清, 肖宗水. 許可鏈多中心動(dòng)態(tài)共識(shí)機(jī)制[J]. 計(jì)算機(jī)學(xué)報(bào), 2018, 41(05): 1005-1020.

      [17] I Bentov, C Lee, A Mizrahi, M Rosenfeld. Proof of Activity: Extending BitcoinS Proof of Work via Proof of Stake. Acm Sigmetrics Performance Evaluation Review, 2014. 42(3): 34-37.

      [18] 苑超, 徐蜜雪, 斯雪明. 基于聚合簽名的共識(shí)算法優(yōu)化方案[J]. 計(jì)算機(jī)科學(xué), 2018, 45(02): 53-56+83.

      [19] 張永, 李曉輝. 一種改進(jìn)的區(qū)塊鏈共識(shí)機(jī)制的研究與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程, 2018, 26(01): 38-42+47.

      [20] Happe A, Krenn S, Lornnser T. PBFT and Secret—Sharing in Storage Settings[C]//Twenty-fourth International Workshop on Security Protocols. 2016.

      猜你喜歡
      拜占庭信譽(yù)算力
      基于網(wǎng)絡(luò)5.0的重疊網(wǎng)形態(tài)算力網(wǎng)絡(luò)
      衛(wèi)星通信在算力網(wǎng)絡(luò)中的應(yīng)用研究
      以質(zhì)量求發(fā)展 以信譽(yù)贏市場(chǎng)
      基于SiteAI算力終端的交通態(tài)勢(shì)感知系統(tǒng)
      拜占庭帝國(guó)的繪畫(huà)藝術(shù)及其多樣性特征初探
      信譽(yù)如“金”
      淺談初中歷史教學(xué)中的邏輯補(bǔ)充——從拜占庭帝國(guó)滅亡原因談起
      《西方史學(xué)通史》第三卷“拜占庭史學(xué)”部分糾繆
      江蘇德盛德旺食品:信譽(yù)為翅飛五洲
      潍坊市| 左贡县| 内江市| 阜城县| 塘沽区| 上虞市| 四川省| 宜兰县| 昂仁县| 乡宁县| 全椒县| 垫江县| 巴彦淖尔市| 酒泉市| 临西县| 锡林郭勒盟| 利川市| 黔西县| 吉隆县| 济阳县| 通许县| 新化县| 年辖:市辖区| 西城区| 手机| 六枝特区| 绥江县| 怀集县| 韶山市| 砀山县| 合江县| 孟津县| 和硕县| 兴城市| 砀山县| 江口县| 邯郸县| 毕节市| 馆陶县| 长春市| 富民县|