王 波,任英琦,黃冬艷
(1.桂林電子科技大學(xué)認(rèn)知無(wú)線電與信息處理省部共建教育部重點(diǎn)實(shí)驗(yàn)室,廣西桂林 541004;2.桂林電子科技大學(xué)廣西無(wú)線寬帶通信與信號(hào)處理重點(diǎn)實(shí)驗(yàn)室,廣西桂林 541004)
(*通信作者電子郵箱huangdongyan-gua@163.com)
區(qū)塊鏈的概念源于2008 年Satoshi Nakamoto 發(fā)表的論文《Bitcoin:A peer-to-peer electronic cash system》[1]。近年來(lái)區(qū)塊鏈技術(shù)因其分布式、匿名性、難以篡改等特性受到學(xué)術(shù)界和企業(yè)界的高度關(guān)注。
區(qū)塊鏈網(wǎng)絡(luò)的種類從利益方的角度進(jìn)行分類,可以分為公有鏈、聯(lián)盟鏈和私有鏈[2-3]。公有鏈?zhǔn)菓?yīng)用范圍最為廣泛的一類區(qū)塊鏈,有望支撐新型商業(yè)形態(tài)[4]。公有鏈可以分為需要認(rèn)證的公有鏈網(wǎng)絡(luò)和無(wú)需認(rèn)證的公有鏈網(wǎng)絡(luò)[5-6]。無(wú)需認(rèn)證的公有鏈應(yīng)用有Bitcoin[1]等,需要認(rèn)證的公有鏈應(yīng)用有EOS(Enterprise Operation System)[7]等。
區(qū)塊鏈技術(shù)由分布式存儲(chǔ)、密碼學(xué)、共識(shí)機(jī)制、智能合約等技術(shù)構(gòu)成,其中,共識(shí)機(jī)制的作用旨在可容錯(cuò)的網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)狀態(tài)機(jī)復(fù)制排序的一致性[6]。公有鏈的共識(shí)機(jī)制包括工作量證明(Proof Of Work,POW)[1]、權(quán)益證明(Proof Of Stake,POS)[8]、委托權(quán)益證明(Delegated Proof Of Stake,DPOS)[9]、Algorand 機(jī)制[10]等。但公有鏈中如何提高區(qū)塊的共識(shí)效率,一直是一個(gè)挑戰(zhàn)[4]。
Algorand 機(jī)制由Micali[10]提出,該算法之后由Gilad 等實(shí)現(xiàn)[11]。其中使用到的可驗(yàn)證的隨機(jī)函數(shù)(Verifiable Random Functions,VRFs)[12]抽簽算法,使每個(gè)節(jié)點(diǎn)都有機(jī)會(huì)參與到共識(shí)中,提高了共識(shí)的可拓展性。其中使用到的拜占庭協(xié)議(Byzantine Agreement,BA★)令節(jié)點(diǎn)只在當(dāng)前區(qū)塊和空白塊之間做二元共識(shí)[11],使得鏈條分叉概率僅為10-18[10],即使在惡意節(jié)點(diǎn)能力很強(qiáng)的區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下依舊能保持良好的性能。2 MB的區(qū)塊使用Algorand機(jī)制在50 000用戶的區(qū)塊鏈網(wǎng)絡(luò)中從提出到完成共識(shí)只需22 s[11]。
日后隨著區(qū)塊鏈網(wǎng)絡(luò)的大規(guī)模推廣,網(wǎng)絡(luò)數(shù)據(jù)交互頻率和數(shù)據(jù)量都會(huì)增大[13],如果將Algorand 機(jī)制用于銀行等大規(guī)模交易系統(tǒng),交易延遲將會(huì)累積爆發(fā),造成銀行系統(tǒng)癱瘓。因此,Algorand機(jī)制的共識(shí)效率仍有待提高。
針對(duì)Algorand 機(jī)制共識(shí)效率不高的問(wèn)題,本文首先提出多塊Algorand 共識(shí)機(jī)制(Multi-Block-Algorand,MB-Algorand),以有效提升出塊效率;其次針對(duì)分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊,結(jié)合Algorand 與MB-Algorand 兩者的優(yōu)勢(shì)提出H-Algorand(Hybid-Algorand)機(jī)制。該機(jī)制以犧牲一定的安全性能為代價(jià),以換取區(qū)塊鏈網(wǎng)絡(luò)共識(shí)效率的顯著提升。
公有鏈網(wǎng)絡(luò)從有無(wú)委員會(huì)的角度來(lái)說(shuō)可以分為有委員會(huì)的區(qū)塊鏈網(wǎng)絡(luò)和無(wú)委員會(huì)的區(qū)塊鏈網(wǎng)絡(luò)。本文關(guān)注有委員會(huì)的區(qū)塊鏈網(wǎng)絡(luò),包括以下5個(gè)步驟。
步驟一 消息廣播。區(qū)塊鏈網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)通過(guò)gossip 等通信協(xié)議向網(wǎng)絡(luò)中的節(jié)點(diǎn)廣播消息。每個(gè)消息都會(huì)簽署始發(fā)節(jié)點(diǎn)的私鑰以防止消息被偽造。其他節(jié)點(diǎn)在轉(zhuǎn)發(fā)這些消息前會(huì)檢查簽名。對(duì)于相同的消息,每個(gè)節(jié)點(diǎn)只會(huì)轉(zhuǎn)發(fā)一次。
步驟二 委員會(huì)選舉。區(qū)塊鏈網(wǎng)絡(luò)可以通過(guò)投票機(jī)制[9,14]、滑窗機(jī)制[15]、抽簽機(jī)制[10]等選舉出委員會(huì)。委員會(huì)代表整個(gè)區(qū)塊鏈網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)新生成的區(qū)塊進(jìn)行共識(shí)。
步驟三 領(lǐng)導(dǎo)者選舉及出塊。委員會(huì)可以通過(guò)隨機(jī)數(shù)機(jī)制[9]、優(yōu)先級(jí)機(jī)制[10]等選舉出領(lǐng)導(dǎo)者節(jié)點(diǎn)。領(lǐng)導(dǎo)者節(jié)點(diǎn)負(fù)責(zé)將它收集到的消息,打包到待共識(shí)的區(qū)塊里,在委員會(huì)里轉(zhuǎn)發(fā)。設(shè)打包及轉(zhuǎn)發(fā)的時(shí)間為tp。
步驟四 委員會(huì)共識(shí)。委員會(huì)利用實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT)、BA★[11]等共識(shí)機(jī)制,對(duì)領(lǐng)導(dǎo)者提出的區(qū)塊進(jìn)行共識(shí)。設(shè)共識(shí)時(shí)間為tc。
步驟五 新區(qū)塊寫入。共識(shí)成功的區(qū)塊在區(qū)塊鏈網(wǎng)絡(luò)中轉(zhuǎn)發(fā),被各個(gè)節(jié)點(diǎn)添加到各自維護(hù)的賬本中。
在步驟二“委員會(huì)選舉”階段,Algorand 機(jī)制根據(jù)權(quán)重,在所有用戶之間隨機(jī)選擇完成一屆(兩批)委員會(huì)選舉,保證委員會(huì)的成員足夠誠(chéng)實(shí),從而避免Sybil攻擊。
在步驟三“領(lǐng)導(dǎo)者選舉”中,委員會(huì)中優(yōu)先級(jí)較高的節(jié)點(diǎn)(1~70 個(gè))向委員會(huì)發(fā)送自己的優(yōu)先級(jí)、自己打包的塊及證明。優(yōu)先級(jí)消息約200 B,可以在網(wǎng)絡(luò)中快速傳播。優(yōu)先級(jí)最高的節(jié)點(diǎn)會(huì)獲得委員會(huì)的認(rèn)可,成為領(lǐng)導(dǎo)者。而其他節(jié)點(diǎn)發(fā)送的區(qū)塊則會(huì)被過(guò)濾。領(lǐng)導(dǎo)者的選舉在時(shí)間上與領(lǐng)導(dǎo)者出塊和委員會(huì)共識(shí)是并行執(zhí)行的。
Algorand機(jī)制的出塊-共識(shí)所對(duì)應(yīng)的時(shí)序如圖1所示。
Algorand 機(jī)制一屆委員會(huì)只出一個(gè)區(qū)塊。當(dāng)領(lǐng)導(dǎo)者出塊后,委員會(huì)將對(duì)該區(qū)塊進(jìn)行委員會(huì)共識(shí)。委員會(huì)的各節(jié)點(diǎn)通過(guò)BA★算法對(duì)領(lǐng)導(dǎo)者提出的區(qū)塊進(jìn)行二元共識(shí)。
綜上所述,Algorand 機(jī)制中,一個(gè)區(qū)塊出塊-共識(shí)所需要的時(shí)間為:
圖1 Algorand機(jī)制“出塊-共識(shí)”時(shí)序圖Fig.1 “Propose-consensus”sequence diagram of Algorand mechanism
如圖1所示,Algorand機(jī)制使得每一屆委員會(huì)只能對(duì)本屆領(lǐng)導(dǎo)者提出的區(qū)塊進(jìn)行共識(shí),并且第i+1 塊待共識(shí)區(qū)塊的出塊需等到第i塊區(qū)塊委員會(huì)共識(shí)結(jié)束后方可進(jìn)行,這就導(dǎo)致Algorand機(jī)制的出塊效率較低。
為了提高區(qū)塊鏈網(wǎng)絡(luò)出塊效率,本文提出MB-Algorand機(jī)制。本機(jī)制借鑒EOS共識(shí)機(jī)制,在執(zhí)行步驟三和步驟四時(shí),使得領(lǐng)導(dǎo)者出塊和委員會(huì)共識(shí)并行處理,從而有效提高區(qū)塊鏈網(wǎng)絡(luò)整體出塊效率,其共識(shí)時(shí)序如圖2所示。
圖2 MB-Algorand機(jī)制“出塊-共識(shí)”時(shí)序圖Fig.2 “Propose-consensus”sequence diagram of MB-Algorand mechanism
在MB-Algorand 機(jī)制第i屆委員會(huì)期間,當(dāng)領(lǐng)導(dǎo)者提議第一個(gè)區(qū)塊i1之后,委員會(huì)開(kāi)始對(duì)區(qū)塊i1進(jìn)行共識(shí)。由于區(qū)塊i2為同一個(gè)領(lǐng)導(dǎo)者提出,該領(lǐng)導(dǎo)者必然確定自己出的每一個(gè)塊都是可信的。因此,領(lǐng)導(dǎo)者不需要等待委員會(huì)的共識(shí)時(shí)間,便開(kāi)始提議第二個(gè)區(qū)塊i2,直到領(lǐng)導(dǎo)者提議至目標(biāo)出塊數(shù)第N個(gè)區(qū)塊iN為止。MB-Algorand 機(jī)制實(shí)現(xiàn)了共識(shí)與出塊的并行處理,從而可以有效提高共識(shí)效率。
因?yàn)閰^(qū)塊大小不同,會(huì)使得塊提議時(shí)間tp不同,而塊共識(shí)時(shí)間tc大小幾乎不變。以tp和tc大小關(guān)系作為條件,又可以分為以下兩種情況:
CaseⅠ:當(dāng)tp<tc時(shí),即提議區(qū)塊較小于4 MB[11],N個(gè)區(qū)塊“領(lǐng)導(dǎo)者出塊”和“委員會(huì)共識(shí)”所需要的時(shí)間為:
CaseⅡ:當(dāng)tp≥tc時(shí),即提議區(qū)塊大于4 MB[11],N個(gè)區(qū)塊“領(lǐng)導(dǎo)者出塊”和“委員會(huì)共識(shí)”所需要的時(shí)間為:
MB-Algorand 機(jī)制連續(xù)共識(shí)多個(gè)塊雖然可以有效提高共識(shí)效率,但是也會(huì)帶來(lái)安全性的下降。為了使共識(shí)機(jī)制能夠適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化而使得區(qū)塊鏈網(wǎng)絡(luò)保持安全高效,本文基于Algorand 機(jī)制和MB-Algorand 機(jī)制提出一種混合Algorand(Hybid-Algorand,H-Algorand)共識(shí)機(jī)制。
其運(yùn)行機(jī)制如圖3 所示,第i屆委員會(huì)執(zhí)行一個(gè)塊數(shù)為N的出塊周期,設(shè)n為當(dāng)前區(qū)塊編號(hào),[i,n]為第i屆委員會(huì)共識(shí)的編號(hào)為n的區(qū)塊。首先判斷網(wǎng)絡(luò)狀態(tài)是否符合運(yùn)行MBAlgorand 機(jī)制的安全標(biāo)準(zhǔn):若不符合,則使用Algorand 機(jī)制完成共識(shí),即N個(gè)待共識(shí)區(qū)塊將由第i屆至第i+j,j∈[0,N)屆領(lǐng)導(dǎo)者與委員會(huì)逐個(gè)提議并共識(shí);若符合,則啟動(dòng)MBAlgorand 機(jī)制,即N個(gè)區(qū)塊都由i屆領(lǐng)導(dǎo)者與i屆委員會(huì)進(jìn)行共識(shí)。在運(yùn)行MB-Algorand 機(jī)制時(shí),如果第i屆領(lǐng)導(dǎo)者提議的某個(gè)區(qū)塊在第i屆委員會(huì)中共識(shí)失?。ㄊ〉脑蛟谙乱徽逻M(jìn)行討論),則失敗的這一輪共識(shí)一個(gè)空白區(qū)塊,提交上鏈。以空白塊為起點(diǎn),N個(gè)區(qū)塊中剩余N-n個(gè)待共識(shí)區(qū)塊,轉(zhuǎn)為Algorand 機(jī) 制,即 由i+j,j∈[1,N-n] 屆領(lǐng)導(dǎo)者與i+j,j∈[1,N-n]屆委員會(huì)進(jìn)行共識(shí)。
圖3 H-Algorand網(wǎng)絡(luò)運(yùn)行機(jī)制Fig.3 Operation mechanism of H-Algorand network
H-Algorand 機(jī)制中包含MB-Algorand 機(jī)制,MB-Algorand機(jī)制中領(lǐng)導(dǎo)者可以連續(xù)出塊使得領(lǐng)導(dǎo)者出塊和委員會(huì)共識(shí)并行處理,提高了出塊效率。但是,由于領(lǐng)導(dǎo)者連續(xù)出塊,導(dǎo)致其與委員會(huì)暴露在網(wǎng)絡(luò)當(dāng)中。暴露的時(shí)間越長(zhǎng),被惡意的攻擊者發(fā)現(xiàn)、執(zhí)行攻擊以及攻擊成功的概率加大。下面將分析H-Algorand機(jī)制在出塊效率和安全性之間的折中性能。
4.1.1 概述
區(qū)塊鏈網(wǎng)絡(luò)主要采用兩種網(wǎng)絡(luò)模型,強(qiáng)同步網(wǎng)絡(luò)模型和弱同步網(wǎng)絡(luò)模型[16]。本文主要討論強(qiáng)同步網(wǎng)絡(luò)模型下HAlgorand 機(jī)制的性能。強(qiáng)同步網(wǎng)絡(luò)模型下區(qū)塊鏈遭受的安全威脅主要來(lái)自七類惡意攻擊[17],這些攻擊從各個(gè)層面對(duì)區(qū)塊共識(shí)造成影響。
H-Algorand 機(jī)制屬于有委員會(huì)的區(qū)塊鏈網(wǎng)絡(luò)。在有委員會(huì)的區(qū)塊鏈網(wǎng)絡(luò)中,委員會(huì)成員之間的交互容易泄露委員會(huì)的身份,從而遭到攻擊者的分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊[17],本文主要分析DDoS 對(duì)于HAlgorand機(jī)制的影響。
本文假設(shè)區(qū)塊鏈網(wǎng)絡(luò)對(duì)于惡意攻擊有相應(yīng)的檢測(cè)機(jī)制與防御機(jī)制,使其可以對(duì)網(wǎng)絡(luò)狀況進(jìn)行安全性評(píng)估。區(qū)塊鏈網(wǎng)絡(luò)中各節(jié)點(diǎn)擁有數(shù)據(jù)檢驗(yàn)的能力,不可能進(jìn)行基于數(shù)據(jù)偽造的作惡。區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點(diǎn)之間的賄賂行為會(huì)受到懲罰[18]。
4.1.2 出塊效率
本文假設(shè)Algorand 機(jī)制共識(shí)以概率1 成功。H-Algorand機(jī)制中領(lǐng)導(dǎo)者目標(biāo)出塊數(shù)為N,優(yōu)先以MB-Algorand 機(jī)制運(yùn)行。MB-Algorand 機(jī)制產(chǎn)生的第一個(gè)區(qū)塊的共識(shí)過(guò)程可以認(rèn)為和Algorand 機(jī)制相同,以概率1 成功,其余剩下的N-1 個(gè)區(qū)塊由于領(lǐng)導(dǎo)者和委員會(huì)暴露在區(qū)塊鏈網(wǎng)絡(luò)中,都存在共識(shí)失敗的概率。設(shè)在遭受DDoS攻擊威脅的網(wǎng)絡(luò)環(huán)境下,每一個(gè)區(qū)塊共識(shí)失敗的概率為Pfault,為了便于分析,Pfault為一定值。則每個(gè)塊共識(shí)成功的概率為Psuccess=1-Pfault,N個(gè)塊全部共識(shí)成功的概率為。
Algorand機(jī)制對(duì)N個(gè)區(qū)塊共識(shí)所需時(shí)間為:
理想條件下,即網(wǎng)絡(luò)中不存在惡意攻擊時(shí),MB-Algorand機(jī)制共識(shí)N個(gè)區(qū)塊出塊提升效率為:
當(dāng)N→∞時(shí)
由式(6)可得,當(dāng)tc/tp越小時(shí),出塊效率越大;當(dāng)tp=tc時(shí),出塊效率的上限為50%。在實(shí)際的區(qū)塊鏈網(wǎng)絡(luò)中,當(dāng)塊大小為4 MB左右時(shí),tp≈tc,此時(shí)可以達(dá)到最大出塊效率[11]。
在實(shí)際的區(qū)塊鏈網(wǎng)絡(luò)中,MB-Algorand機(jī)制每個(gè)待共識(shí)區(qū)塊共識(shí)失敗概率為Pfault。設(shè)從第二個(gè)塊開(kāi)始,H-Algorand 機(jī)制使用MB-Algorand 機(jī)制的多塊方式連續(xù)提出并成功共識(shí)的區(qū)塊數(shù)為n,則使用Algorand機(jī)制的單塊方式提出并共識(shí)的區(qū)塊數(shù)為N-1-n。
首先將H-Algorand 機(jī)制簡(jiǎn)單的看成n重伯努利實(shí)驗(yàn),則H-Algorand 機(jī)制使用MB-Algorand 機(jī)制連續(xù)共識(shí)成功n個(gè)區(qū)塊花費(fèi)的時(shí)間為:
由于區(qū)塊鏈網(wǎng)絡(luò)的鏈?zhǔn)浇Y(jié)構(gòu),新區(qū)塊必須建立在前一區(qū)塊的基礎(chǔ)之上。因此實(shí)際H-Algorand 機(jī)制使用MB-Algorand機(jī)制連續(xù)共識(shí)成功n個(gè)區(qū)塊花費(fèi)的時(shí)間由式(7)修正為式(8):
其中:第一項(xiàng)表示n=N-1時(shí),H-Algorand 機(jī)制所花費(fèi)的時(shí)間;第二項(xiàng)表示n∈[0,N-2]時(shí),H-Algorand 機(jī)制所花費(fèi)的時(shí)間。
4.1.3 安全性
當(dāng)H-Algorand 機(jī)制使用MB-Algorand 機(jī)制領(lǐng)導(dǎo)者提議的目標(biāo)出塊數(shù)為N時(shí),N個(gè)塊全部共識(shí)成功的概率為,則H-Algorand機(jī)制安全性損失為。
4.1.4 收益函數(shù)
對(duì)H-Algorand 機(jī)制的出塊效率和安全性進(jìn)行折中考慮,建立收益函數(shù):
其中β為權(quán)重因子。
最優(yōu)化問(wèn)題表示為:
約束條件(11)表示共識(shí)N(N>2)個(gè)塊時(shí),H-Algorand 機(jī)制完全使用MB-Algorand 機(jī)制共識(shí)成功的目標(biāo)概率在M以上。
4.2.1 出塊效率
MB-Algorand 機(jī)制在理想條件下提出N個(gè)塊的出塊效率為:
當(dāng)N→∞時(shí)
即當(dāng)tp/tc越小時(shí),出塊效率越大。
則H-Algorand 機(jī)制實(shí)際所花費(fèi)的時(shí)間的與CaseⅠ類似,為:
4.2.2 收益函數(shù)
其最優(yōu)化模型與式(9)相同,為:
本章對(duì)H-Algorand 機(jī)制在Case I 和Case II 兩種情況下的性能進(jìn)行仿真分析。
H-Algorand機(jī)制的仿真參數(shù)及取值如表1所示。
表1 參數(shù)表Tab.1 Parameter table
如表1 所示,領(lǐng)導(dǎo)者出塊時(shí)間tp在CaseⅠ與CaseⅡ下分別為10 s,26 s[11],委員會(huì)共識(shí)時(shí)間tc在CaseⅠ與CaseⅡ下分別為12 s,12 s[11];令H-Algorand 機(jī)制在目標(biāo)出塊數(shù)N下區(qū)塊共識(shí)成功的目標(biāo)概率M=70%,此時(shí)H-Algorand 機(jī)制下,領(lǐng)導(dǎo)者的目標(biāo)出塊數(shù)N的大小被限定在2到8之間;為了考察不同網(wǎng)絡(luò)環(huán)境下H-Algorand 機(jī)制的性能,H-Algorand 機(jī)制第[2,N]個(gè)區(qū)塊受到惡意攻擊后共識(shí)失敗概率設(shè)定為1%、2%、3%、4%。本文認(rèn)為時(shí)間上的收益和安全上的收益同樣重要,因此β=0.5。
圖4 所示為CaseⅠ下,β=0.5,Pfault分別為1%、2%、3%、4%時(shí),H-Algorand 機(jī)制下使用MB-Algorand 機(jī)制進(jìn)行共識(shí)時(shí)的領(lǐng)導(dǎo)者目標(biāo)出塊數(shù)N與收益函數(shù)的關(guān)系。從圖4 首先可以看出,一定的Pfault時(shí),存在一個(gè)最優(yōu)的N*,使得收益函數(shù)取得最大值;其次,一定的N時(shí),Pfault值越低,收益函數(shù)越大。
圖4 CaseⅠ:所提算法收益函數(shù)示意圖Fig.4 CaseⅠ:schematic diagram of revenue function of the proposed algorithm
表2 所示為CaseⅠ下,β=0.5,Pfault分別為1%、2%、3%、4%時(shí),H-Algorand 機(jī)制下使用MB-Algorand 機(jī)制進(jìn)行共識(shí)時(shí)的最優(yōu)出塊數(shù)N*,相對(duì)于傳統(tǒng)的Algorand 機(jī)制,100%使用MB-Algorand 機(jī)制進(jìn)行共識(shí)的出塊提升效率以及相應(yīng)的安全性損失,和50%使用MB-Algorand 機(jī)制進(jìn)行共識(shí)的出塊提升效率??梢钥闯觯S著Pfault的增加,最優(yōu)出塊數(shù)下降,出塊提升效率降低,而安全性損失將會(huì)增加。
表2 CaseⅠ:安全性與共識(shí)效率Tab.2 CaseⅠ:safety and consensus efficiency
從表2還可以看出,當(dāng)Pfault較小時(shí)(如1%),H-Algorand機(jī)制100%使用MB-Algorand 機(jī)制進(jìn)行共識(shí)時(shí),能夠以安全性損失5.85%的代價(jià)換來(lái)出塊效率37.87%的提升,這表明HAlgorand機(jī)制具有很強(qiáng)的工程實(shí)用價(jià)值。
且當(dāng)H-Algorand 機(jī)制下使用MB-Algorand 機(jī)制進(jìn)行共識(shí)最優(yōu)出塊數(shù)N*的一半50%N*(向上取整)時(shí),相對(duì)于傳統(tǒng)的Algorand機(jī)制,其出塊提升效率也是可觀的。
圖5 所示為CaseⅡ下,β=0.5,Pfault分別為1%、2%、3%、4%時(shí),H-Algorand 機(jī)制下使用MB-Algorand 機(jī)制進(jìn)行共識(shí)時(shí)的領(lǐng)導(dǎo)者的目標(biāo)出塊數(shù)N與收益函數(shù)的關(guān)系。CaseⅡ可以得出與Case I相同的結(jié)論。
表3 所示為Case II 下,β=0.5,Pfault分別為1%、2%、3%、4%時(shí),H-Algorand 機(jī)制下使用MB-Algorand 機(jī)制進(jìn)行共識(shí)時(shí)的最優(yōu)出塊數(shù)N*,相對(duì)于傳統(tǒng)的Algorand 機(jī)制,100%使用MB-Algorand機(jī)制的出塊提升效率以及相應(yīng)的安全性損失,和50%使用MB-Algorand機(jī)制的出塊提升效率。
從表中可以看出,當(dāng)Pfault較小時(shí)(如1%),H-Algorand 機(jī)制100%使用MB-Algorand 機(jī)制進(jìn)行共識(shí)時(shí),能夠以安全性損失4.9%的代價(jià)換來(lái)出塊效率26.32%的提升,其效率提升程度比CaseⅠ略差一些。
當(dāng)H-Algorand 機(jī)制下使用MB-Algorand 機(jī)制進(jìn)行共識(shí)最優(yōu)出塊數(shù)N*的一半50%N*(向上取整)時(shí),相對(duì)于傳統(tǒng)的Algorand機(jī)制,其出塊效率也得到了提升。
圖5 CaseⅡ:所提算法收益函數(shù)示意圖Fig.5 CaseⅡ:schematic diagram of revenue function of the proposed algorithm
表3 CaseⅡ:安全性與共識(shí)效率Tab.3 CaseⅡ:safety and consensus efficiency
綜合CaseⅠ和CaseⅡ來(lái)看,產(chǎn)生一個(gè)區(qū)塊的時(shí)間越多時(shí),即區(qū)塊越大時(shí),H-Algorand 機(jī)制使用MB-Algorand 機(jī)制相對(duì)于使用傳統(tǒng)Algorand 機(jī)制獲得的收益會(huì)減少,因此H-Algorand機(jī)制適用于區(qū)塊小于4 MB且網(wǎng)絡(luò)環(huán)境較為安全的場(chǎng)景。
本文針對(duì)受到業(yè)界普遍重視的公有鏈網(wǎng)絡(luò),首先提出了一種多塊輸出的共識(shí)機(jī)制——MB-Algorand,該機(jī)制的領(lǐng)導(dǎo)者可以連續(xù)出塊,從而有效地提升了出塊效率;其次在公有鏈委員會(huì)受到DDoS 攻擊的場(chǎng)景下,提出融合了Algorand 和MBAlgorand 兩者優(yōu)點(diǎn)的H-Algorand 機(jī)制。該機(jī)制折中考慮了出塊效率與安全性兩方面。將H-Algorand 機(jī)制與Algorand 機(jī)制進(jìn)行仿真對(duì)比發(fā)現(xiàn),H-Algorand 機(jī)制能在惡意攻擊成功率為1%~4%的條件下,以犧牲少量安全性為代價(jià)換取共識(shí)效率的有效提升。本文僅對(duì)H-Algorand 機(jī)制在強(qiáng)同步網(wǎng)絡(luò)模型下進(jìn)行了分析研究,未來(lái)將對(duì)弱同步網(wǎng)絡(luò)模型下的共識(shí)機(jī)制進(jìn)行分析研究。