亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于權(quán)益代表的可擴(kuò)展共識(shí)協(xié)議

        2020-01-17 03:07:32李忠誠黃建華唐瑞琮胡慶春
        關(guān)鍵詞:押金共識(shí)分區(qū)

        李忠誠,黃建華,唐瑞琮,胡慶春,夏 旭

        1.華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海200237

        2.香港DAEX 區(qū)塊鏈有限公司,上海200120

        區(qū)塊鏈?zhǔn)且环N按時(shí)間順序存儲(chǔ)的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)[1],具有去中心化、去信任、防篡改和可追溯等特性,在金融、物流[2]、醫(yī)療保健[3]、物聯(lián)網(wǎng)[4]等領(lǐng)域均展現(xiàn)了廣闊的應(yīng)用前景.

        區(qū)塊鏈網(wǎng)絡(luò)中所有參與交易驗(yàn)證的節(jié)點(diǎn)都具有完全相同的賬本,這樣區(qū)塊鏈就可以通過共識(shí)協(xié)議來確保這些節(jié)點(diǎn)狀態(tài)的一致性.共識(shí)協(xié)議主要分為兩類:基于證明的共識(shí)協(xié)議和基于投票的共識(shí)協(xié)議.基于證明的共識(shí)協(xié)議要求加入網(wǎng)絡(luò)的節(jié)點(diǎn)能證明自己比其他節(jié)點(diǎn)更有資格添加一個(gè)區(qū)塊到鏈上,這類算法主要有工作量證明(proof of work, PoW)、權(quán)益證明(proof of stake, PoS)等.PoW 和PoS 主要應(yīng)用于金融價(jià)值轉(zhuǎn)移的公有鏈,它們的共同問題是交易處理性能低,且共識(shí)過程只能保證最終一致性而非強(qiáng)一致性,易導(dǎo)致區(qū)塊鏈出現(xiàn)分叉、交易確認(rèn)延遲等問題.基于投票的共識(shí)要求網(wǎng)絡(luò)中的節(jié)點(diǎn)交換當(dāng)前新區(qū)塊或者交易的驗(yàn)證結(jié)果,然后根據(jù)驗(yàn)證結(jié)果決定該區(qū)塊是否可以上鏈,這類協(xié)議包括拜占庭容錯(cuò)協(xié)議(Byzantine fault tolerance, BFT)及其變種,如實(shí)用拜占庭算法(practical Byzantine fault tolerance, PBFT)、授權(quán)拜占庭容錯(cuò)算法[5](delegated Byzantine fault tolerance, DBFT)和Tendermint[6]等.拜占庭算法需要知道節(jié)點(diǎn)身份,以便它們之間交換區(qū)塊或消息,其主要問題是容易受到DoS攻擊,節(jié)點(diǎn)擴(kuò)展性差.針對證明類和投票類共識(shí)協(xié)議存在的問題,文獻(xiàn)[7]提出用PBFT 來增強(qiáng)PoW 區(qū)塊鏈,目的是通過PBFT 來確保PoW 區(qū)塊鏈中的共識(shí)終結(jié)性.文獻(xiàn)[8]提出了SCP算法,將網(wǎng)絡(luò)劃分成許多子委員會(huì)以并行產(chǎn)生子區(qū)塊,并通過最終委員會(huì)來聚合子區(qū)塊以提高網(wǎng)絡(luò)的吞吐量,其不足是基于PoW 算法的分區(qū)過程耗時(shí)較長,并且最終委員會(huì)成員選舉機(jī)制容易遭受攻擊,可能導(dǎo)致生成錯(cuò)誤的最終共識(shí)區(qū)塊.文獻(xiàn)[9]提出了ISCP 算法,取消了最終委員會(huì),而使所有委員會(huì)都參與最終區(qū)塊的共識(shí)過程來解決SCP 存在的安全問題,但還是以PoW 作為分區(qū)算法,同樣存在分區(qū)時(shí)間過長的問題.

        針對共識(shí)協(xié)議在平衡性能、安全性和可拓展性方面存在的問題,本文提出一種基于權(quán)利代表的可擴(kuò)展共識(shí)協(xié)議(delegate-based scalable consensus protocol, DSCP).DSCP 將網(wǎng)絡(luò)節(jié)點(diǎn)分區(qū)以形成若干獨(dú)立的共識(shí)分區(qū),所有分區(qū)并行處理網(wǎng)絡(luò)交易產(chǎn)生的子區(qū)塊,子區(qū)塊由聚合層進(jìn)行整合,從而實(shí)現(xiàn)區(qū)塊鏈的交易處理性能隨節(jié)點(diǎn)規(guī)模而同步擴(kuò)展的目標(biāo),基于VRF 算法的分區(qū)機(jī)制確保了分區(qū)的高效性和隨機(jī)性,基于簡單投票的分區(qū)內(nèi)共識(shí)機(jī)制VCP(voting-based consensus protocol, VCP)進(jìn)一步提升了網(wǎng)絡(luò)的性能.DSCP設(shè)計(jì)了一種押金和激勵(lì)機(jī)制,這樣誠實(shí)節(jié)點(diǎn)可以獲取獎(jiǎng)勵(lì),作惡節(jié)點(diǎn)會(huì)受到懲罰,增強(qiáng)了系統(tǒng)的安全.

        1 研究現(xiàn)狀

        區(qū)塊鏈系統(tǒng)的性能、安全和可擴(kuò)展性與采用的共識(shí)協(xié)議有很大的關(guān)系,因此共識(shí)協(xié)議的研究一直是人們關(guān)注的熱點(diǎn).最著名的共識(shí)協(xié)議就是比特幣系統(tǒng)采用的PoW 算法.PoW的問題是需要消耗大量算力去解決一個(gè)在算力上存在難度的謎題,以贏得區(qū)塊記賬權(quán),且共識(shí)過程過于漫長,系統(tǒng)吞吐量低.基于消逝時(shí)間量的共識(shí)機(jī)制(proof of elapsed time, PoET)[10]是一種基于可信執(zhí)行環(huán)境的共識(shí)算法,用來抵御挖礦對于能源的消耗,但具體執(zhí)行時(shí)依賴于支持SGX 的Intel CPU,違背了區(qū)塊鏈的去中心化思想.文獻(xiàn)[11]提出了Bitcoin-NG 協(xié)議,該協(xié)議使用直接添加微區(qū)塊來規(guī)避工作量證明,以增加網(wǎng)絡(luò)吞吐量,減少網(wǎng)絡(luò)延時(shí),但基于PoW 機(jī)制的主節(jié)點(diǎn)選舉可能導(dǎo)致主節(jié)點(diǎn)的不確定性,最終無法保證一致性.文獻(xiàn)[12]提出的閃電網(wǎng)絡(luò)則是通過專用快速通道增加區(qū)塊鏈網(wǎng)絡(luò)的交易吞吐量,但閃電網(wǎng)絡(luò)的鏈下交易環(huán)境的安全性難以保證.針對PoW類算法存在的能耗問題[13],文獻(xiàn)[14]提出了PoS 算法,利用每個(gè)人的權(quán)益(代幣)并通過一個(gè)幸運(yùn)因子來選擇有權(quán)添加區(qū)塊到鏈的礦工,降低了挖礦過程的能源消耗.PoS 中區(qū)塊的創(chuàng)建是通過消耗幣齡(coin age)來完成的,其問題是即使節(jié)點(diǎn)沒有連接到網(wǎng)絡(luò)幣齡也會(huì)增加,攻擊者依然可以對區(qū)塊鏈進(jìn)行分叉并達(dá)成雙花.權(quán)益證明有很多不同的變種,如DPoS[15]、PoSV[16]和PoA[17],都嘗試去解決上述問題,但是引入了新的安全性問題[18].以太坊中的PoS 算法還存在與PoW 算法類似的策略選擇困境[19]:權(quán)益較大者忠實(shí)于礦池能否獲得較高收益,權(quán)益較小者忠實(shí)于礦池是否能維持自己的收益并獲得相應(yīng)收益.

        傳統(tǒng)的拜占庭算法(Byzantine fault tolerance, BFT)是一種性能高且具有強(qiáng)一致性的共識(shí)算法.最典型的是Hyperledger[20]區(qū)塊鏈平臺(tái)所采用的實(shí)用拜占庭算法PBFT.PBFT 交易處理能力可以達(dá)到每秒數(shù)千筆交易(transactions per second, TPS),且共識(shí)過程是確定性的.PBFT 算法交換區(qū)塊或消息時(shí)需要知道節(jié)點(diǎn)身份,通常只能用于安全性較高的聯(lián)盟鏈;此外,PBFT 還存在著節(jié)點(diǎn)擴(kuò)展性差的問題,驗(yàn)證節(jié)點(diǎn)數(shù)量的增加會(huì)使節(jié)點(diǎn)之間交換的消息量急劇增加(通信復(fù)雜度是O(N2)).除了PBFT,相繼出現(xiàn)了進(jìn)一步提升性能或魯棒性的BFT算法,如DBFT、HoneyBadger-BFT[21]、Tendermint 等.Tendermint 是一種基于DLS[22]協(xié)議改進(jìn)的共識(shí)協(xié)議,憑借押金機(jī)制防止惡意攻擊者可能發(fā)起的女巫攻擊.與PBFT 不同的是,投票時(shí)節(jié)點(diǎn)之間廣播消息是通過Gossip 協(xié)議,這在一定程度上減少了共識(shí)過程的消息復(fù)雜度.然而,在節(jié)點(diǎn)數(shù)較多情況下,該系統(tǒng)的消息通信量依然很大.

        混合型共識(shí)也是一種解決區(qū)塊鏈性能和拓展性問題的方法.SCP 就是一種混合型共識(shí)機(jī)制,它將網(wǎng)絡(luò)劃分成多個(gè)分區(qū)而并行產(chǎn)生區(qū)塊,使得區(qū)塊鏈網(wǎng)絡(luò)的吞吐量近似與分區(qū)數(shù)量成正比,大大提高了吞吐量.但是SCP 使用基于PoW 的分區(qū)機(jī)制,無法在安全性和性能上保持平衡.為了保證分區(qū)過程的安全性,需要設(shè)置較高的PoW 難度值以避免擁有高算力的惡意攻擊者的分區(qū)優(yōu)勢,但是較高的難度值會(huì)導(dǎo)致分區(qū)過程過長,影響網(wǎng)絡(luò)性能.此外,還有其他種類的混合型共識(shí)機(jī)制,如將PoW 和PoS 結(jié)合的Casper[23]協(xié)議等.

        2 DSCP 共識(shí)協(xié)議

        2.1 DSCP 網(wǎng)絡(luò)結(jié)構(gòu)

        本文結(jié)合權(quán)益代表和層次化分區(qū)共識(shí)的思想,提出了基于權(quán)益代表的可擴(kuò)展共識(shí)協(xié)議DSCP.如圖1所示,DSCP 是一種層次化的分區(qū)并行共識(shí)模型,網(wǎng)絡(luò)在邏輯上被劃分為上層的代理層和下層的分區(qū)層.

        在每一輪共識(shí)過程中,通過分區(qū)機(jī)制將節(jié)點(diǎn)組織成多個(gè)獨(dú)立的分區(qū),形成分區(qū)層.每個(gè)分區(qū)各自運(yùn)行分區(qū)內(nèi)共識(shí)協(xié)議來并行處理一組獨(dú)立的交易,并將交易打包成共識(shí)子區(qū)塊,發(fā)送到代理層進(jìn)行合并處理.多個(gè)分區(qū)并行處理網(wǎng)絡(luò)交易將大大提高網(wǎng)絡(luò)吞吐量,同時(shí)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量的增加可以形成更多的分區(qū),進(jìn)一步提升了網(wǎng)絡(luò)的并行處理能力,實(shí)現(xiàn)了性能隨節(jié)點(diǎn)數(shù)量的增加而同步擴(kuò)展的目標(biāo).為了防止節(jié)點(diǎn)作惡,分區(qū)層節(jié)點(diǎn)需要繳納押金才能參與共識(shí).在共識(shí)過程中,一旦發(fā)現(xiàn)節(jié)點(diǎn)作惡,其他節(jié)點(diǎn)就可以發(fā)送節(jié)點(diǎn)作惡的證據(jù),使作惡節(jié)點(diǎn)受到懲罰,其繳納的押金被沒收.

        代理層的功能是檢查并整合子區(qū)塊中的交易,也就是將所有共識(shí)子區(qū)塊中正確的交易打包,形成最終的共識(shí)區(qū)塊向網(wǎng)絡(luò)廣播,接著開始下一輪的共識(shí)過程.代理層運(yùn)行PBFT 共識(shí)協(xié)議并限定21 個(gè)節(jié)點(diǎn)以保證共識(shí)效率,但未使用分區(qū)層基于PBFT 改進(jìn)的VCP 協(xié)議.代理層和分區(qū)層的最大區(qū)別就是節(jié)點(diǎn)數(shù)量的不同,為了盡可能增強(qiáng)分區(qū)的安全性,分區(qū)層的節(jié)點(diǎn)數(shù)量遠(yuǎn)大于代理層,可見在節(jié)點(diǎn)數(shù)比較多(相對于代理層)的分區(qū)層分區(qū)中,使用VCP 可以大大提高共識(shí)速度.VCP 基于分區(qū)設(shè)計(jì),其安全性的保證一部分來源于代理層的正確性,因此這種協(xié)議并不適用于代理層.代理層節(jié)點(diǎn)有限,在保證整個(gè)分層共識(shí)協(xié)議的強(qiáng)一致性和安全性下,使用PBFT同樣可以實(shí)現(xiàn)代理層的高性能共識(shí).

        圖1 分層共識(shí)模型Figure 1 Hierarchical consensus model

        代理層節(jié)點(diǎn)由全網(wǎng)節(jié)點(diǎn)選舉產(chǎn)生,網(wǎng)絡(luò)中的節(jié)點(diǎn)采用類似DPoS 算法的方式選舉自己信任的節(jié)點(diǎn)作為代理層的成員.網(wǎng)絡(luò)節(jié)點(diǎn)通過投票從申請者中選舉出票數(shù)最多的前21 個(gè)節(jié)點(diǎn)作為候選代理層節(jié)點(diǎn),這些節(jié)點(diǎn)必須繳納一定押金才能被確定為代理層節(jié)點(diǎn).如圖2所示,在共識(shí)過程中,每產(chǎn)生21 個(gè)區(qū)塊作為一個(gè)周期epoch,每個(gè)epoch 中又分為21 個(gè)時(shí)隙slot,在每個(gè)slot 中,網(wǎng)絡(luò)都將完成一輪共識(shí).不同于分區(qū)層中的分區(qū),代理層的21 個(gè)節(jié)點(diǎn)輪流擔(dān)任每輪共識(shí)的leader 節(jié)點(diǎn)以完成子區(qū)塊的整合工作.當(dāng)一個(gè)epoch 結(jié)束時(shí),網(wǎng)絡(luò)將重新選舉代理層節(jié)點(diǎn),新選舉的代理層首先向網(wǎng)絡(luò)廣播一個(gè)隨機(jī)數(shù)種子seed,用在新的epoch 中,再將分區(qū)層節(jié)點(diǎn)重新隨機(jī)劃分到不同的分區(qū).

        圖2 共識(shí)周期與時(shí)隙Figure 2 Consensus epoch and slot

        2.2 基于VRF 的分區(qū)算法

        分區(qū)算法將網(wǎng)絡(luò)節(jié)點(diǎn)劃分到不同分區(qū),以實(shí)現(xiàn)各分區(qū)通過獨(dú)立并行共識(shí)同時(shí)處理交易的目的.為了提高分區(qū)的效率并保證分區(qū)的隨機(jī)性,本文提出了一種基于可驗(yàn)證隨機(jī)函數(shù)VRF的分區(qū)算法,設(shè)計(jì)了基于押金的分區(qū)leader 節(jié)點(diǎn)選取機(jī)制以增強(qiáng)分區(qū)共識(shí)的安全性.在分區(qū)過程中,每個(gè)節(jié)點(diǎn)用可驗(yàn)證隨機(jī)函數(shù)VRF 來計(jì)算一個(gè)隨機(jī)數(shù)ε,以決定節(jié)點(diǎn)自身所屬分區(qū).此外,節(jié)點(diǎn)還需計(jì)算隨機(jī)數(shù)證明p,以便向其他節(jié)點(diǎn)證明該隨機(jī)數(shù)并非節(jié)點(diǎn)惡意偽造.ε和p的計(jì)算公式分別為

        式中,VRFVAL是產(chǎn)生隨機(jī)值的可驗(yàn)證函數(shù),VRFPROVE是可驗(yàn)證隨機(jī)值的證明函數(shù),Sk是節(jié)點(diǎn)私鑰,seed 是代理層每個(gè)階段公開的隨機(jī)數(shù)種子.隨機(jī)值的計(jì)算公式為

        隨機(jī)值驗(yàn)證函數(shù)為

        節(jié)點(diǎn)在計(jì)算隨機(jī)值之后,需要發(fā)送一筆押金交易Participate?ε,p,Pk,deposit?給代理層(聚合層)的節(jié)點(diǎn),聚合層的節(jié)點(diǎn)會(huì)記錄一段時(shí)間內(nèi)收到的所有Participate 交易,并根據(jù)這些交易信息決定節(jié)點(diǎn)所屬分區(qū)和每個(gè)分區(qū)的leader 節(jié)點(diǎn).一段時(shí)間之后,聚合層會(huì)將這些押金退還給行為正確的節(jié)點(diǎn).交納押金是為增強(qiáng)分區(qū)共識(shí)的安全性和利益分配的公平性,節(jié)點(diǎn)也只有在繳納一定的押金后才能參與共識(shí).押金交易中包含節(jié)點(diǎn)計(jì)算出的隨機(jī)數(shù)ε和隨機(jī)數(shù)證明p,繳納押金的多少由參與共識(shí)的節(jié)點(diǎn)決定.代理層收到這些交易后,首先驗(yàn)證隨機(jī)數(shù)證明和隨機(jī)數(shù)的相互匹配性,只要簡單地對證明p進(jìn)行Hash 運(yùn)算,并驗(yàn)證是否與ε相等即可;隨后驗(yàn)證隨機(jī)數(shù)證明的正確性,其計(jì)算公式分別為

        式中,Pk是節(jié)點(diǎn)公鑰,p是隨機(jī)數(shù)證明.Dec 函數(shù)使用節(jié)點(diǎn)公鑰對證明進(jìn)行解密,并驗(yàn)證結(jié)果x是否與這一階段的隨機(jī)數(shù)種子seed 相同,若相同則表示隨機(jī)數(shù)驗(yàn)證通過.代理層根據(jù)參與共識(shí)的節(jié)點(diǎn)數(shù)量確定分區(qū)數(shù)目為2n,并將分區(qū)層節(jié)點(diǎn)計(jì)算的隨機(jī)數(shù)的最后n位作為分區(qū)的標(biāo)識(shí)ID,式(6)中的ID 值就是將節(jié)點(diǎn)計(jì)算的隨機(jī)數(shù)的最后4 位的數(shù)值作為分區(qū)ID 的例子.分區(qū)中節(jié)點(diǎn)的數(shù)量必須滿足一定閾值,因?yàn)楣?jié)點(diǎn)數(shù)量過少可能導(dǎo)致分區(qū)內(nèi)惡意節(jié)點(diǎn)數(shù)量比例過高,甚至分區(qū)內(nèi)共識(shí)失敗.最后,聚合層選取各個(gè)分區(qū)當(dāng)中押金額最高的節(jié)點(diǎn)作為分區(qū)的leader節(jié)點(diǎn),并將每個(gè)分區(qū)成員和leader 節(jié)點(diǎn)廣播到網(wǎng)絡(luò)中.

        分區(qū)層節(jié)點(diǎn)接收到代理層廣播的分區(qū)信息之后,根據(jù)自己計(jì)算出的隨機(jī)值確定自己的分區(qū)ID,并連接到對應(yīng)分區(qū)的leader 節(jié)點(diǎn).形成分區(qū)后,leader 節(jié)點(diǎn)將分區(qū)內(nèi)節(jié)點(diǎn)信息發(fā)送到分區(qū)的各個(gè)節(jié)點(diǎn),之后分區(qū)開始處理網(wǎng)絡(luò)交易.與基于PoW 的分區(qū)機(jī)制相比,基于VRF 的分區(qū)算法幾乎不消耗任何算力,故速度更快.此外,基于VRF的分區(qū)算法輸出結(jié)果與基于PoW算法的輸出結(jié)果不但相同,而且完全隨機(jī).這個(gè)隨機(jī)值還具有可驗(yàn)證的特性,是節(jié)點(diǎn)無法惡意偽造的.

        2.3 代理層

        代理層負(fù)責(zé)接收分區(qū)層提交的子區(qū)塊,并將子區(qū)塊中的交易進(jìn)行整合后打包成最終的共識(shí)區(qū)塊.當(dāng)每一個(gè)階段結(jié)束時(shí),代理層還會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù)種子,用于下一階段的分區(qū)層分區(qū)過程.

        代理層對子區(qū)塊進(jìn)行檢查時(shí),首先檢查子區(qū)塊中是否含有非法的交易,驗(yàn)證交易是否正確,并驗(yàn)證子區(qū)塊對應(yīng)的簽名數(shù)量是否足夠.如果子區(qū)塊驗(yàn)證通過,代理層就按照分區(qū)ID 的大小順序?qū)⒆訁^(qū)塊整合到一起;如果不同的子區(qū)塊出現(xiàn)交易沖突,也就是出現(xiàn)雙花交易,則將分區(qū)ID 靠后的子區(qū)塊中的交易刪除.

        當(dāng)代理層檢測到子區(qū)塊中包含錯(cuò)誤交易并且分區(qū)內(nèi)節(jié)點(diǎn)簽名數(shù)量超過2/3 時(shí),就會(huì)向網(wǎng)絡(luò)發(fā)送子區(qū)塊錯(cuò)誤證明,扣除相應(yīng)分區(qū)當(dāng)中所有簽名節(jié)點(diǎn)的押金.當(dāng)代理層檢測到子區(qū)塊并未包含足夠的節(jié)點(diǎn)簽名時(shí),就會(huì)向網(wǎng)絡(luò)廣播該分區(qū)leader 節(jié)點(diǎn)作惡的證明,扣除該leader 節(jié)點(diǎn)的押金,并向該分區(qū)的所有節(jié)點(diǎn)發(fā)送更換leader 節(jié)點(diǎn)的消息,便于該分區(qū)重新提交區(qū)塊.

        2.4 激勵(lì)機(jī)制

        區(qū)塊鏈系統(tǒng)中時(shí)刻存在著誠實(shí)節(jié)點(diǎn)和惡意節(jié)點(diǎn)的博弈,而激勵(lì)機(jī)制是保證區(qū)塊鏈系統(tǒng)安全的重要一環(huán).DSCP 引入了獎(jiǎng)懲機(jī)制,要求參與驗(yàn)證的節(jié)點(diǎn)交納一定的押金,這樣誠實(shí)執(zhí)行協(xié)議的節(jié)點(diǎn)會(huì)獲得獎(jiǎng)勵(lì).因?yàn)樽鲪簳?huì)被扣除押金,所以理性的節(jié)點(diǎn)會(huì)選擇誠實(shí)地執(zhí)行協(xié)議,并獲得獎(jiǎng)勵(lì).DSCP 的每一個(gè)共識(shí)slot 結(jié)束之后,新的區(qū)塊被添加到區(qū)塊鏈上.與此同時(shí),系統(tǒng)會(huì)給予參與共識(shí)的誠實(shí)節(jié)點(diǎn)token 激勵(lì),代理層和分區(qū)層節(jié)點(diǎn)則按比例分配獎(jiǎng)勵(lì)(如代理層占10%,分區(qū)層占90%).在分區(qū)層中,分區(qū)內(nèi)節(jié)點(diǎn)同樣也按繳納的押金比例分配獎(jiǎng)勵(lì),節(jié)點(diǎn)繳納的押金越多,獲得的共識(shí)激勵(lì)就越高;在代理層中,21 個(gè)節(jié)點(diǎn)則采取均分代理層獎(jiǎng)勵(lì)的模式.

        2.5 分區(qū)機(jī)制安全性分析

        本文假設(shè)網(wǎng)絡(luò)當(dāng)中的惡意節(jié)點(diǎn)數(shù)量是有限的,不超過節(jié)點(diǎn)總數(shù)的1/3,網(wǎng)絡(luò)中節(jié)點(diǎn)間的通信是半同步的,即節(jié)點(diǎn)間通信存在不可忽略的延遲,但在有限長的時(shí)間內(nèi)消息一定會(huì)送達(dá).本文將在以上的假設(shè)條件下證明協(xié)議的安全性.

        DSCP 基于分區(qū)并行處理交易提高網(wǎng)絡(luò)吞吐量,網(wǎng)絡(luò)中的節(jié)點(diǎn)通過VRF 生成的分區(qū)隨機(jī)數(shù)來保證節(jié)點(diǎn)分布的隨機(jī)性和不可欺騙性.當(dāng)每一個(gè)共識(shí)階段結(jié)束時(shí),代理層都會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù)種子seed,能使每個(gè)共識(shí)階段的分區(qū)層節(jié)點(diǎn)都無法預(yù)知網(wǎng)絡(luò)的分區(qū)情況.節(jié)點(diǎn)根據(jù)VRF 計(jì)算出自己所在的分區(qū)都是隨機(jī)的,每個(gè)共識(shí)階段使用的隨機(jī)數(shù)種子都是不同的,保證了每個(gè)共識(shí)階段網(wǎng)絡(luò)的分區(qū)結(jié)果都截然不同.惡意攻擊者無法預(yù)知網(wǎng)絡(luò)中節(jié)點(diǎn)的分區(qū)結(jié)果,也無法使惡意節(jié)點(diǎn)聚集到相同的分區(qū)當(dāng)中.除此之外,VRF 的引入消除了惡意節(jié)點(diǎn)合謀的可能.節(jié)點(diǎn)在公布自己計(jì)算的分區(qū)隨機(jī)數(shù)之外,還需要提供隨機(jī)數(shù)證明P,其計(jì)算公式為

        隨機(jī)數(shù)的驗(yàn)證過程如下:

        步驟1對節(jié)點(diǎn)提供的隨機(jī)數(shù)證明P進(jìn)行Hash 運(yùn)算,并驗(yàn)證R=Hash(P)是否成立,若成立如式(8)所示,則繼續(xù)下一步的驗(yàn)證,否則該證明是無效的;

        步驟2使用節(jié)點(diǎn)公鑰解密證明P,得到結(jié)果seed′,驗(yàn)證seed′=seed 是否成立,如果成立,則驗(yàn)證過成功,證明有效,否則證明無效.

        只有將節(jié)點(diǎn)的私鑰作為輸入?yún)?shù)才能生成該隨機(jī)數(shù)的正確的隨機(jī)數(shù)證明,并且在隨機(jī)數(shù)的生成函數(shù)中,seed 是全局變量,是已知的,因此惡意攻擊者無法偽造隨機(jī)數(shù)證明,自然也就無法偽裝成某個(gè)分區(qū)的成員節(jié)點(diǎn),從而保證網(wǎng)絡(luò)中的節(jié)點(diǎn)被完全隨機(jī)分配到各個(gè)分區(qū)當(dāng)中.除此之外,節(jié)點(diǎn)必須繳納押金才能加入分區(qū)參與共識(shí),并且分區(qū)層節(jié)點(diǎn)獲取到的獎(jiǎng)勵(lì)和繳納的押金成正比.在經(jīng)濟(jì)學(xué)的理性模型中,節(jié)點(diǎn)為了獲取更多的共識(shí)激勵(lì),愿意繳納更多的押金,以競爭分區(qū)內(nèi)的leader 節(jié)點(diǎn),而惡意節(jié)點(diǎn)想要成為leader 節(jié)點(diǎn)則必須繳納比分區(qū)內(nèi)任何其他節(jié)點(diǎn)更多的押金.但從上面分析可知:惡意節(jié)點(diǎn)在形成分區(qū)之前是無法獲知分區(qū)內(nèi)其他節(jié)點(diǎn)的信息的,也就無法確定成為leader 節(jié)點(diǎn)需要繳納多少押金.如果惡意節(jié)點(diǎn)盡可能繳納更多的押金,那么其作惡行為一旦被發(fā)現(xiàn),就會(huì)被扣除所有押金,承受巨大經(jīng)濟(jì)損失.

        3 分區(qū)內(nèi)共識(shí)協(xié)議

        在DSCP 中,每個(gè)分區(qū)是一個(gè)獨(dú)立的共識(shí)組.各分區(qū)并行處理網(wǎng)絡(luò)交易,生成自己的共識(shí)子區(qū)塊.為了提高分區(qū)的共識(shí)效率,減少節(jié)點(diǎn)間的通信復(fù)雜度,本文提出了基于投票的共識(shí)協(xié)議(voting-based consensus protocol, VCP),用于分區(qū)的共識(shí)過程.

        3.1 VCP 協(xié)議過程

        DSCP 的每個(gè)分區(qū)都有一個(gè)leader 節(jié)點(diǎn),負(fù)責(zé)對當(dāng)前分區(qū)處理的交易進(jìn)行驗(yàn)證并打包成子區(qū)塊,完成分區(qū)內(nèi)的共識(shí)過程后將共識(shí)子區(qū)塊發(fā)送到代理層.leader 節(jié)點(diǎn)是分區(qū)節(jié)點(diǎn)中押金繳納最多的節(jié)點(diǎn),這也意味著:一旦leader 節(jié)點(diǎn)作惡,所承受的懲罰也就越大.

        VCP 共識(shí)過程包括6 個(gè)階段,如圖3所示:

        圖3 VCP 協(xié)議時(shí)序圖Figure 3 VCP protocol sequence diagram

        VCP 協(xié)議的運(yùn)行過程如下:

        1)Trans_collect 階段

        客戶端首先將交易的Hash 廣播到網(wǎng)絡(luò),分區(qū)節(jié)點(diǎn)根據(jù)收到交易的Hash 判斷該交易是否由本分區(qū)處理.如是,則leader 節(jié)點(diǎn)給本分區(qū)的其他節(jié)點(diǎn)發(fā)送消息TRANSORDER?seqnum,transhash?,其中seqnum 是由leader 分配給交易的一個(gè)唯一序列號(hào),序列號(hào)是自然遞增的,不同交易的序列號(hào)不同.transhash 是交易Hash,其他節(jié)點(diǎn)在收到交易的Hash 后,發(fā)送響應(yīng)RESP?seqnum,transhash,signature?給leader 節(jié)點(diǎn),leader 節(jié)點(diǎn)將交易的序列號(hào)和分區(qū)內(nèi)其他節(jié)點(diǎn)的RESP 消息都發(fā)送給交易發(fā)起者,隨后交易發(fā)起者將交易的詳細(xì)信息發(fā)送給leader 節(jié)點(diǎn).在Trans_collect 階段結(jié)束時(shí),leader 節(jié)點(diǎn)將接收到的所有交易打包,進(jìn)入下一個(gè)階段.

        2)Prepare 階段

        leader節(jié)點(diǎn)向分區(qū)內(nèi)的其他節(jié)點(diǎn)發(fā)送消息prepare?BlockHash, Timestamp, Block, TransExclude, Signature?,其中,BlockHash 是子區(qū)塊的SHA256 Hash 值,Block 是打包好的子區(qū)塊,包含分區(qū)按順序處理的正確交易信息.交易在分配序列號(hào)的時(shí)候無法得知交易詳情,因此交易中可能含有與已有的區(qū)塊鏈數(shù)據(jù)沖突的非法交易.非法交易都包含在TransExclude中,Timestamp 是區(qū)塊生成的時(shí)間戳,Signature 是leader 節(jié)點(diǎn)對區(qū)塊Hash 的簽名信息.

        3)Endorsement 階段

        除leader 外,分區(qū)的其他節(jié)點(diǎn)檢查prepare 消息中的區(qū)塊是否正確,包括檢查交易的順序是否正確,檢查每筆交易的詳情和交易的Hash 值是否匹配,并對交易的正確性進(jìn)行驗(yàn)證.如果區(qū)塊驗(yàn)證成功,則向leader 節(jié)點(diǎn)發(fā)送endorsement?BlockHash, Signature?消息,否則向分區(qū)內(nèi)其他節(jié)點(diǎn)發(fā)送LEADER-REPLACE?BlockHash, Block, Signature?消息,消息中包含leader 節(jié)點(diǎn)發(fā)送到該節(jié)點(diǎn)的區(qū)塊Hash 值、區(qū)塊詳情和leader 節(jié)點(diǎn)的簽名信息.其他節(jié)點(diǎn)接收到LEADER-REPLACE 消息后對該消息進(jìn)行驗(yàn)證,如果確認(rèn)leader 節(jié)點(diǎn)作惡,則分區(qū)內(nèi)所有正確節(jié)點(diǎn)將向代理層發(fā)送leader 節(jié)點(diǎn)作惡的簽名證據(jù)、代理層需要收到至少2/3 的節(jié)點(diǎn)對leader 節(jié)點(diǎn)作惡證據(jù)的簽名才會(huì)認(rèn)為leader 作惡屬實(shí).

        4)Commit 階段

        當(dāng)leader 節(jié)點(diǎn)收集到分區(qū)內(nèi)至少2/3 節(jié)點(diǎn)對leader 節(jié)點(diǎn)發(fā)送的區(qū)塊Hash 的簽名時(shí),leader 節(jié)點(diǎn)將該分區(qū)生成的子區(qū)塊和至少2/3 節(jié)點(diǎn)簽名發(fā)送到代理層節(jié)點(diǎn).

        5)Confirm 階段

        代理層對分區(qū)提交的子區(qū)塊進(jìn)行驗(yàn)證,然后給分區(qū)的leader 節(jié)點(diǎn)返回驗(yàn)證結(jié)果和代理層節(jié)點(diǎn)的簽名;

        6)Response 階段

        分區(qū)leader 節(jié)點(diǎn)向分區(qū)內(nèi)其他節(jié)點(diǎn)發(fā)送代理層的響應(yīng)消息.

        為了保證網(wǎng)絡(luò)中每個(gè)分區(qū)交易處理負(fù)載的均衡性,DSCP 為每筆交易都指定了處理的分區(qū).交易內(nèi)容的Hash 決定了該筆交易由哪個(gè)分區(qū)處理.在Trans_collect 階段,客戶端首先向分區(qū)層某個(gè)節(jié)點(diǎn)提交交易的Hash 值、公鑰和簽名,分區(qū)層節(jié)點(diǎn)在接收到交易的Hash 等相關(guān)信息后判斷當(dāng)前分區(qū)是否有權(quán)處理該交易.如果交易Hash 值的最后n位與該分區(qū)的分區(qū)ID 相同,則處理該交易;否則,收到該交易的節(jié)點(diǎn)會(huì)將交易發(fā)送給應(yīng)當(dāng)處理該交易的分區(qū)的leader 節(jié)點(diǎn),并將leader 節(jié)點(diǎn)的網(wǎng)絡(luò)地址發(fā)送給客戶端.客戶端只有在分區(qū)的leader 節(jié)點(diǎn)給交易分配序列號(hào)之后才向該分區(qū)leader 節(jié)點(diǎn)發(fā)送交易的詳細(xì)信息.DSCP 每個(gè)分區(qū)在處理交易時(shí)不僅要保證交易的正確性,還要保證交易的順序.在交易分配序列號(hào)時(shí),leader 節(jié)點(diǎn)無法提前獲知交易的詳細(xì)信息,自然也就無法差別對待交易.在序列號(hào)分配之后,leader 節(jié)點(diǎn)將無法改變交易的順序.

        3.2 VCP 協(xié)議復(fù)雜度分析

        與傳統(tǒng)的PBFT 協(xié)議相比,VCP 協(xié)議能夠在保證共識(shí)過程安全的同時(shí)實(shí)現(xiàn)更高的性能.圖4給出了正常情況下PBFT 協(xié)議的共識(shí)過程,該過程需要經(jīng)過3 個(gè)階段:Preprepare、Prepare、Commit.為了保證分區(qū)內(nèi)各個(gè)節(jié)點(diǎn)數(shù)據(jù)的一致性,在Prepare 和Commit階段,分區(qū)內(nèi)節(jié)點(diǎn)之間要相互發(fā)送消息.在基于分層的網(wǎng)絡(luò)結(jié)構(gòu)中,分區(qū)內(nèi)節(jié)點(diǎn)在最后的reply階段將共識(shí)子區(qū)塊發(fā)送到代理層節(jié)點(diǎn).假設(shè)分區(qū)內(nèi)節(jié)點(diǎn)數(shù)量為c,則完成一輪共識(shí)過程所需要的通信次數(shù)為SUMmsg=2c2?c,則通信復(fù)雜度為O(c2).

        圖4 PBFT三階段協(xié)議Figure 4 PBFT three-phase protocol

        圖5給出了本文提出的基于投票的分區(qū)內(nèi)共識(shí)協(xié)議VCP 在正常情況下的協(xié)議過程,包括Proposal、Endorsement、Submit、Confirm、Response 階段.在Endorsement 階段,分區(qū)內(nèi)節(jié)點(diǎn)只將自己的投票區(qū)塊信息發(fā)送給leader 節(jié)點(diǎn),而不向分區(qū)內(nèi)其他節(jié)點(diǎn)發(fā)送自己的投票信息.假設(shè)分區(qū)內(nèi)節(jié)點(diǎn)數(shù)量為c,則完成一輪共識(shí)過程所需要的通信次數(shù)為SUMmsg=N+c+c+c ?3=3c ?3+N,則通信復(fù)雜度為O(c).

        由以上對比分析可知:VCP 協(xié)議過程可以大大減少節(jié)點(diǎn)間的通信次數(shù),提高了共識(shí)效率,尤其是在半同步和異步網(wǎng)絡(luò)環(huán)境下?lián)碛懈用黠@的性能優(yōu)勢.

        圖5 VCP 多階段協(xié)議Figure 5 VCP multi-stage protocol

        3.3 VCP 協(xié)議安全性分析

        VCP 是一種基于投票的共識(shí)協(xié)議,leader 節(jié)點(diǎn)負(fù)責(zé)對交易進(jìn)行排序并將正確的交易打包成子區(qū)塊提交給分區(qū)內(nèi)其他節(jié)點(diǎn)進(jìn)行共識(shí),最后將子區(qū)塊提交到代理層.分區(qū)內(nèi)其他節(jié)點(diǎn)只需對leader 節(jié)點(diǎn)提議的區(qū)塊進(jìn)行驗(yàn)證,并對其認(rèn)為正確的區(qū)塊進(jìn)行簽名背書即可,這保證了VCP 共識(shí)協(xié)議的簡單高效.如果leader 節(jié)點(diǎn)作惡,向分區(qū)內(nèi)節(jié)點(diǎn)發(fā)送不同的區(qū)塊,當(dāng)且僅當(dāng)分區(qū)內(nèi)2/3 節(jié)點(diǎn)都是作惡節(jié)點(diǎn)時(shí),分區(qū)才會(huì)向代理層提交錯(cuò)誤區(qū)塊,否則leader 節(jié)點(diǎn)無法提交含有足夠簽名的子區(qū)塊,也就無法收到代理層的正確響應(yīng).leader 節(jié)點(diǎn)作惡會(huì)被扣除押金,由于leader 節(jié)點(diǎn)是其分區(qū)繳納押金數(shù)最多的節(jié)點(diǎn),作惡的leader 節(jié)點(diǎn)將會(huì)遭受極大的經(jīng)濟(jì)損失.如果leader 節(jié)點(diǎn)是誠實(shí)節(jié)點(diǎn),按照繳納押金比例分配交易費(fèi)的機(jī)制就會(huì)使leader節(jié)點(diǎn)獲得最高的經(jīng)濟(jì)收益.繳納押金越多,誠實(shí)節(jié)點(diǎn)獲得的收益也越多.有了押金和激勵(lì)機(jī)制作為保障,繳納更多押金的節(jié)點(diǎn)一旦作惡,將受到更嚴(yán)厲的經(jīng)濟(jì)懲罰.

        在VCP 當(dāng)中,分區(qū)內(nèi)節(jié)點(diǎn)一旦發(fā)現(xiàn)leader 節(jié)點(diǎn)作惡,則可以請求更換leader 節(jié)點(diǎn).leader節(jié)點(diǎn)的更換依照節(jié)點(diǎn)的押金高低次序進(jìn)行,新的leader 節(jié)點(diǎn)必須是剩余節(jié)點(diǎn)中繳納押金數(shù)量最多的節(jié)點(diǎn).

        4 實(shí)驗(yàn)分析

        4.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)采用Docker 容器虛擬化技術(shù)模擬網(wǎng)絡(luò)節(jié)點(diǎn),軟件版本為Docker Community Edition Version 17.09.0-ce-win33(13620),協(xié)議代碼基于Python3 實(shí)現(xiàn),節(jié)點(diǎn)間通信使用UDP 協(xié)議,使用官方python:3.5.4-jessie Docker 鏡像作為協(xié)議代碼運(yùn)行環(huán)境,宿主機(jī)操作系統(tǒng)為Windows 10 專業(yè)版Version 14393.1770,運(yùn)行內(nèi)存8 GB,操作系統(tǒng)分配給Docker 的內(nèi)存為2 GB.

        4.2 DSCP 分區(qū)速度測試

        本文首先測試了DSCP進(jìn)行分區(qū)的耗時(shí).分區(qū)速度實(shí)驗(yàn)測試了不同節(jié)點(diǎn)數(shù)量下基于VRF的分區(qū)過程耗時(shí),并與PoW 的分區(qū)耗時(shí)進(jìn)行對比,所得結(jié)果如圖6所示.可以看出,隨著節(jié)點(diǎn)數(shù)量的增加,基于VRF 的分區(qū)耗時(shí)幾乎不變,且明顯低于基于PoW 的分區(qū)耗時(shí),原因是為了保證網(wǎng)絡(luò)的安全性,抵抗女巫攻擊,基于PoW 進(jìn)行分區(qū)時(shí)需要每個(gè)節(jié)點(diǎn)花費(fèi)一定的時(shí)間去尋找滿足條件的nonce 值.本實(shí)驗(yàn)的難度值設(shè)置得非常低,只要花費(fèi)很少的算力即可得到滿足條件的nonce 值,但過低的難度值也意味著網(wǎng)絡(luò)受到女巫攻擊的可能性增大.由圖6可以看出:隨著節(jié)點(diǎn)數(shù)量的增多,PoW 分區(qū)耗時(shí)逐步增大,這是因?yàn)閷?shí)驗(yàn)環(huán)境服務(wù)器的計(jì)算性能有限.當(dāng)越來越多的節(jié)點(diǎn)消耗算力時(shí),每個(gè)節(jié)點(diǎn)擁有的平均算力會(huì)減少,節(jié)點(diǎn)越多,這種算力減少帶來的影響也就越明顯.基于VRF 的分區(qū)耗時(shí)基本保持不變,因?yàn)樵赩RF 機(jī)制中,計(jì)算分區(qū)隨機(jī)數(shù)所消耗的時(shí)間只與正向Hash 運(yùn)算的速度有關(guān),而與PoW 相比,正向Hash 運(yùn)算時(shí)幾乎不消耗算力,這充分驗(yàn)證了基于VRF分區(qū)機(jī)制在性能上的優(yōu)勢.

        4.3 VCP 性能測試

        VCP 協(xié)議的性能實(shí)驗(yàn)分別對協(xié)議的一致性時(shí)延和吞吐量進(jìn)行了測試.一致性時(shí)延實(shí)驗(yàn)分別測試了VCP 和PBFT 在同一分區(qū)完成一次共識(shí)過程所用的時(shí)間,不斷增加分區(qū)內(nèi)的節(jié)點(diǎn)數(shù)量,就可以得到兩個(gè)協(xié)議在相同條件下的共識(shí)時(shí)延增長趨勢,其中每個(gè)數(shù)據(jù)都是在相同條件下進(jìn)行20 次實(shí)驗(yàn)的平均結(jié)果.如圖7所示,PBFT 協(xié)議的共識(shí)時(shí)延隨區(qū)內(nèi)節(jié)點(diǎn)數(shù)量的增加近似呈二次方增長,而VCP 協(xié)議的共識(shí)時(shí)延則只是隨節(jié)點(diǎn)數(shù)量呈緩慢的近似線性增長,這是因?yàn)镻BFT的消息復(fù)雜度為O(c2),而VCP 的消息復(fù)雜度為O(c).VCP 簡化了共識(shí)過程的步驟,減少了消息通信量,完成一次共識(shí)需要交換的消息量明顯少于PBFT,大大降低了共識(shí)時(shí)延.

        圖6 基于PoW 和VRF 的分區(qū)時(shí)延對比Figure 6 Partition delay in consensus under PoW and VRF

        圖7 VCP 和PBFT 的共識(shí)時(shí)延Figure 7 Delay in consensus under VCP and PBFT

        吞吐量實(shí)驗(yàn)測試了同一個(gè)分區(qū)分別運(yùn)行VCP 協(xié)議和PBFT 協(xié)議時(shí)的性能.在測試中以固定的速率發(fā)送一定數(shù)量的請求(本實(shí)驗(yàn)為200),并不斷增大請求的發(fā)送速率.當(dāng)分區(qū)無法處理完所有請求而開始出現(xiàn)請求丟失時(shí),我們就把這種情況作為臨界條件.吞吐量實(shí)驗(yàn)比較了兩個(gè)協(xié)議在不同的請求發(fā)送速率下的失敗率,如圖8所示.當(dāng)速率增大到每秒185 個(gè)請求時(shí),運(yùn)行PBFT 協(xié)議的分區(qū)出現(xiàn)了請求處理失敗的情況,而在運(yùn)行VCP 協(xié)議的分區(qū)中,速率達(dá)到每秒333 個(gè)請求時(shí)才會(huì)出現(xiàn)請求處理失敗的情況.這是因?yàn)檫\(yùn)行VCP 協(xié)議的分區(qū)的性能更高,能夠處理更多的并發(fā)請求,所以在相同的請求發(fā)送速率下,VCP 分區(qū)的失敗率遠(yuǎn)遠(yuǎn)低于PBFT分區(qū)的失敗率,這與共識(shí)時(shí)延測的結(jié)果相符.運(yùn)行VCP 協(xié)議的分區(qū)完成一次共識(shí)過程的時(shí)間更短,因此相對于PBFT 算法,相同時(shí)間內(nèi)運(yùn)行VCP 協(xié)議的分區(qū)能夠處理的交易請求數(shù)量更多,顯然性能更好.

        4.4 DSCP 性能測試

        性能實(shí)驗(yàn)分別測試了DSCP 和PoW 協(xié)議的吞吐量,所得結(jié)果如圖9所示.由實(shí)驗(yàn)結(jié)果可以看出:DSCP 的吞吐量明顯高于PoW 的吞吐量,且隨節(jié)點(diǎn)數(shù)量的增長呈近線性的增加;而節(jié)點(diǎn)數(shù)量的增長對PoW 的吞吐量影響不大.造成這種現(xiàn)象的原因是:隨著網(wǎng)絡(luò)中共識(shí)節(jié)點(diǎn)數(shù)量的增加,DSCP 中的共識(shí)分區(qū)數(shù)量也隨之不斷增加,因?yàn)槊總€(gè)分區(qū)并行處理交易,所以分區(qū)數(shù)越多,能同時(shí)處理的交易請求量越大,系統(tǒng)的吞吐量也在不斷提高.請求越多,分區(qū)越多,迫使代理層消耗更長的時(shí)間來整合來自下層的更多子區(qū)塊,因此網(wǎng)絡(luò)吞吐量無法隨分區(qū)數(shù)的增加呈完全線性增長.與網(wǎng)絡(luò)中消息通信的時(shí)延相比,代理層對子區(qū)塊驗(yàn)證和整合所需要的時(shí)間對系統(tǒng)吞吐量的影響可以忽略不計(jì),并且提高代理層節(jié)點(diǎn)的計(jì)算性能、存儲(chǔ)能力,可以大大縮短代理層驗(yàn)證與整合子區(qū)塊的時(shí)間.與之相對應(yīng)的是,基于PoW 的共識(shí)機(jī)制無論網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量有多少,每個(gè)共識(shí)周期只能生成一個(gè)共識(shí)區(qū)塊,且每個(gè)共識(shí)周期所消耗的時(shí)間也基本保持不變,即使網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量增加,也不會(huì)對系統(tǒng)的吞吐量有任何的貢獻(xiàn),反而節(jié)點(diǎn)數(shù)量越多,所消耗的算力越大,造成能源浪費(fèi)更多.

        圖8 VCP和PBFT協(xié)議吞吐量Figure 8 Throughput in consensus under VCP and PBFT

        圖9 基于DSCP和PoW的系統(tǒng)吞吐量對比Figure 9 System throughput under DSCP and PoW

        5 結(jié) 語

        基于分區(qū)并行的區(qū)塊鏈共識(shí)協(xié)議相較于單個(gè)共識(shí)過程只生成一個(gè)區(qū)塊的協(xié)議具有明顯的性能優(yōu)勢,本文提出的高性能共識(shí)算法DSCP 彌補(bǔ)了目前分區(qū)共識(shí)機(jī)制存在的不足,提出的基于VRF 的分區(qū)機(jī)制不需要任何算力證明也可以在很短的時(shí)間內(nèi)完成大量共識(shí)節(jié)點(diǎn)的分區(qū)過程,且能保證分區(qū)的隨機(jī)性和安全性.為了進(jìn)一步提高共識(shí)協(xié)議的性能,還設(shè)計(jì)了基于投票的分區(qū)內(nèi)共識(shí)協(xié)議VCP,可以在較低的消息復(fù)雜度下實(shí)現(xiàn)分區(qū)內(nèi)的共識(shí).設(shè)計(jì)的押金與激勵(lì)機(jī)制大大提高了惡意節(jié)點(diǎn)作惡難度,保證了網(wǎng)絡(luò)的安全性,同時(shí)也使誠實(shí)節(jié)點(diǎn)可以獲得較高的收益.實(shí)驗(yàn)結(jié)果表明:基于VRF 的分區(qū)機(jī)制能夠?qū)崿F(xiàn)更加快速的分區(qū),相較于PBFT 協(xié)議,所提出的VCP 共識(shí)協(xié)議明顯降低了消息復(fù)雜度,有效提升了共識(shí)性能,DSCP 協(xié)議處理交易的吞吐量能夠隨著網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量增加而實(shí)現(xiàn)近線性增長,使區(qū)塊鏈的性能和安全性都得到明顯的改善.

        猜你喜歡
        押金共識(shí)分區(qū)
        上海實(shí)施“分區(qū)封控”
        共識(shí) 共進(jìn) 共情 共學(xué):讓“溝通之花”綻放
        論思想共識(shí)凝聚的文化向度
        商量出共識(shí)
        花式退押金
        浪莎 分區(qū)而治
        共享單車押金難退引發(fā)的思考
        基于SAGA聚類分析的無功電壓控制分區(qū)
        電測與儀表(2015年8期)2015-04-09 11:50:16
        基于多種群遺傳改進(jìn)FCM的無功/電壓控制分區(qū)
        電測與儀表(2015年7期)2015-04-09 11:40:16
        別讓“PX共識(shí)”在爆炸中瓦解
        青青草成人在线播放视频 | 日本一本久道| 久久中文字幕久久久久91| 在线视频一区二区国产| 久久精品国产99国产精品亚洲| 国产精品成年片在线观看| 久久精品成人91一区二区| 成人爽a毛片免费网站中国| 激情内射人妻1区2区3区| 九九99久久精品国产| 亚洲专区路线一路线二天美| 亚洲国产精品天堂久久久| 国产在线第一区二区三区| 国产全肉乱妇杂乱视频| 国产高潮流白浆免费观看不卡| 精品熟女av中文字幕| 人人妻人人澡人人爽超污| 亚洲美国产亚洲av| 亚洲日韩国产精品不卡一区在线| 国产精品亚洲精品一区二区| 国产永久免费高清在线| 精品国产午夜福利在线观看| 午夜视频福利一区二区三区| 青青草国产手机观看视频| 国产av永久无码天堂影院| 国产一级免费黄片无码AV| 亚洲一区二区三区av天堂 | 天天鲁在视频在线观看| 免费av在线国模| 国产精品亚洲av一区二区三区| 亚洲av无码无线在线观看| 精品国产乱码久久久软件下载| 成人免费无码视频在线网站| 东北老熟女被弄的嗷嗷叫高潮| 小sao货水好多真紧h无码视频| 大陆一级毛片免费播放| 久久中文字幕国产精品| 日本大乳高潮视频在线观看| 北条麻妃毛片在线视频| 亚洲av色香蕉第一区二区三区| 7194中文乱码一二三四芒果|