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

        ?

        基于DPoS共識(shí)機(jī)制的改進(jìn)

        2023-12-20 02:32:36譚敏生
        關(guān)鍵詞:機(jī)制系統(tǒng)

        夏 棋,譚敏生,朱 濤,丁 琳

        (南華大學(xué) 計(jì)算機(jī)學(xué)院/軟件學(xué)院,湖南 衡陽(yáng) 421001)

        0 引 言

        共識(shí)機(jī)制是區(qū)塊鏈的重要組成部分,它們負(fù)責(zé)維護(hù)區(qū)塊鏈[1]的完整性和安全性,使區(qū)塊鏈在一個(gè)互不信任的環(huán)境下各節(jié)點(diǎn)達(dá)到一致。DPoS共識(shí)機(jī)制利用權(quán)益持有者投票在平等和民主的基礎(chǔ)上解決共識(shí)問(wèn)題,為了提高性能,對(duì)去中心化做出了一定的妥協(xié),導(dǎo)致了系統(tǒng)活躍度的降低和“弱中心化”的形成。DPoS共識(shí)機(jī)制采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),導(dǎo)致系統(tǒng)同步出塊,降低了系統(tǒng)吞吐量?;贒AG圖式的分布式賬本[2]是不同于主流區(qū)塊鏈的一種分布式賬本技術(shù),DAG技術(shù)給高并發(fā)的交易提供了最具前景的解決方案,把區(qū)塊鏈二維的模式提升到三維,但其安全性和一致性的問(wèn)題也亟待解決。針對(duì)DPoS共識(shí)機(jī)制的弱中心化,低吞吐量的缺陷,本文提出了一種全民評(píng)分選舉、異步出塊的共識(shí)機(jī)制模型。

        1 相關(guān)工作

        1.1 共識(shí)機(jī)制

        共識(shí)機(jī)制是區(qū)塊鏈的技術(shù)基石,解決了區(qū)塊鏈如何在分布式場(chǎng)景下達(dá)成一致性的問(wèn)題,實(shí)現(xiàn)了在非信任的環(huán)境下,傳輸可信信息和轉(zhuǎn)移有效價(jià)值?,F(xiàn)有區(qū)塊鏈[3]系統(tǒng)中的主要共識(shí)算法是工作量證明、權(quán)益證明和委托權(quán)益證明。共識(shí)機(jī)制[4]可分為單一共識(shí)機(jī)制和混合共識(shí)機(jī)制,文獻(xiàn)[5]對(duì)共識(shí)機(jī)制進(jìn)行全面分析,將共識(shí)機(jī)制細(xì)化為7類,從各共識(shí)機(jī)制的去中心化、可擴(kuò)展性、安全性、一致性、可用性、分區(qū)容忍性各方面建立了一套共識(shí)算法的評(píng)價(jià)指標(biāo)體系[6]。

        對(duì)共識(shí)機(jī)制地改進(jìn),是區(qū)塊鏈技術(shù)研究的重點(diǎn)之一。Li等[7]提出了一種基于公平代表的基于委托的可擴(kuò)展協(xié)商一致協(xié)議(DSCP)。Lixiang等[8]提出了一種基于信用獎(jiǎng)懲的改進(jìn)投票方法。文獻(xiàn)[7,8]基于權(quán)益委托共識(shí)機(jī)制改進(jìn),但從根本上沒(méi)有動(dòng)搖權(quán)益在共識(shí)機(jī)制中的統(tǒng)治地位,權(quán)力依然被權(quán)益主導(dǎo)。文獻(xiàn)[9]根據(jù)其信任值分為記賬、驗(yàn)證和傳播節(jié)點(diǎn),動(dòng)搖了權(quán)益的地位,但仍然采用同步出塊。

        DPoS共識(shí)機(jī)制[10]存在一定的局限性,Chen等[11]提出了一種基于概率語(yǔ)言術(shù)語(yǔ)集改進(jìn)的DPoS共識(shí)機(jī)制,降低了惡意節(jié)點(diǎn)成為代表的概率,但是投票類型過(guò)于單一,不能充分體現(xiàn)一個(gè)節(jié)點(diǎn)的被信任程度。文獻(xiàn)[12]提出了一種基于DPoS共識(shí)機(jī)制改進(jìn)的一致性算法委托賭注證明算法;文獻(xiàn)[13]采用元啟發(fā)式算法對(duì)基于準(zhǔn)則權(quán)重集的節(jié)點(diǎn)選擇去中心化程度進(jìn)行優(yōu)化;文獻(xiàn)[14]引入一個(gè)新的區(qū)塊擴(kuò)展方式,系統(tǒng)故障時(shí)提升了系統(tǒng)TPS,但系統(tǒng)正常運(yùn)行時(shí),TPS沒(méi)有得到提升。文獻(xiàn)[11-14]采用了同步出塊方式,繼續(xù)延用了原共識(shí)機(jī)制的記賬方式,系統(tǒng)TPS與原共識(shí)機(jī)制一致,沒(méi)有得到提升,文獻(xiàn)[12-14]采用股民選舉,權(quán)力被少數(shù)人享有,中心化程度過(guò)高。

        1.2 基于DAG的區(qū)塊鏈

        文獻(xiàn)[2]從共識(shí)形態(tài)出發(fā)將現(xiàn)有基于DAG的分布式賬本分為3類:基于主干鏈的DAG賬本、基于平行鏈的DAG賬本、基于樸素DAG的賬本。基于主干鏈的DAG的特殊區(qū)塊鏈新模型SDAG[15],該模型使得交易數(shù)據(jù)的一致性和時(shí)序性優(yōu)于鏈?zhǔn)浇Y(jié)構(gòu),但是降低了系統(tǒng)的安全性,無(wú)法高效維持賬本的一致性?;谛抛u(yù)度的Hashgraph共識(shí)算法[16],設(shè)計(jì)了節(jié)點(diǎn)的信譽(yù)度模型,對(duì)節(jié)點(diǎn)的性能等進(jìn)行綜合評(píng)分。Q. Nguyen等[17]去除了信譽(yù)度模型,提出基于DAG的無(wú)信任系統(tǒng)達(dá)成PoS共識(shí)。文獻(xiàn)[16,17]中充分利用了DAG異步記賬的優(yōu)點(diǎn),但是DAG的無(wú)序性給系統(tǒng)帶來(lái)了威脅,使系統(tǒng)中的賬本無(wú)法獲得統(tǒng)一。改進(jìn)DAG的無(wú)序性,提升區(qū)塊鏈的吞吐量成為了一種主流,文獻(xiàn)[18]就提出了一種基于層的DAG結(jié)構(gòu),合理利用了DAG異步出塊的高效性。

        1.3 本文的主要工作

        本文研究了DPoS共識(shí)機(jī)制已有特性及缺點(diǎn),分析了DAG區(qū)塊鏈結(jié)構(gòu)的優(yōu)缺點(diǎn),比較了兩種算法之間的特性,優(yōu)化了區(qū)塊鏈的單鏈結(jié)構(gòu)。針對(duì)DPoS共識(shí)機(jī)制已有特性及缺點(diǎn),摒棄了DPoS共識(shí)機(jī)制的權(quán)益選舉以及同步出塊,提出了一種改進(jìn)共識(shí)機(jī)制,即評(píng)分權(quán)益證明(scored proof of stake,SPoS)共識(shí)機(jī)制。SPoS共識(shí)機(jī)制結(jié)合了DAG的優(yōu)點(diǎn),改進(jìn)了DAG圖式的無(wú)序性,采用了偽鏈的結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)。

        2 SPoS共識(shí)機(jī)制

        SPoS共識(shí)機(jī)制是一種基于DPoS改進(jìn)的共識(shí)機(jī)制,是一種評(píng)分授權(quán)的共識(shí)機(jī)制,將股民參與制改為全民參與制,去除了基于權(quán)益運(yùn)作的方式,使每個(gè)合法節(jié)點(diǎn)都有權(quán)力參與投票,能夠降低節(jié)點(diǎn)的參與門(mén)檻,積極推動(dòng)節(jié)點(diǎn)的參與。系統(tǒng)節(jié)點(diǎn)分別為普通節(jié)點(diǎn)、候選節(jié)點(diǎn)以及超級(jí)節(jié)點(diǎn)。SPoS共識(shí)機(jī)制中每個(gè)普通節(jié)點(diǎn)對(duì)候選節(jié)點(diǎn)都有相同的評(píng)分權(quán)限,通過(guò)普通節(jié)點(diǎn)對(duì)候選節(jié)點(diǎn)打分,分?jǐn)?shù)將產(chǎn)生相應(yīng)的責(zé)任連坐,即責(zé)任雙方會(huì)被任意一方的行為影響,受到相應(yīng)的獎(jiǎng)勵(lì)或懲罰,然后計(jì)算評(píng)選出平均分加增益分高的節(jié)點(diǎn)成為超級(jí)節(jié)點(diǎn)。超級(jí)節(jié)點(diǎn)在出塊周期內(nèi)異步出塊,并且廣播、收集區(qū)塊,最后將周期內(nèi)所有普通區(qū)塊統(tǒng)計(jì)到收束區(qū)塊,周期結(jié)束時(shí)將系統(tǒng)數(shù)據(jù)達(dá)到共識(shí)。

        SPoS共識(shí)機(jī)制可以分為4個(gè)階段,即為評(píng)分、統(tǒng)計(jì)、公示和記賬。評(píng)分階段,節(jié)點(diǎn)根據(jù)對(duì)候選節(jié)點(diǎn)的信任程度評(píng)分;統(tǒng)計(jì)階段,系統(tǒng)統(tǒng)計(jì)和計(jì)算候選節(jié)點(diǎn)的信任分;公示階段,候選節(jié)點(diǎn)公示節(jié)點(diǎn)評(píng)分以及節(jié)點(diǎn)總分;記賬階段,超級(jí)節(jié)點(diǎn)異步出塊達(dá)到共識(shí)。共識(shí)流程如圖1所示。在SPoS共識(shí)機(jī)制中,引入責(zé)任連坐的獎(jiǎng)懲機(jī)制,該機(jī)制貫穿系統(tǒng)的4個(gè)階段,在評(píng)分階段,對(duì)節(jié)點(diǎn)的行為進(jìn)行責(zé)任相關(guān)標(biāo)記,在后續(xù)階段,若責(zé)任相關(guān)雙方有作惡或誠(chéng)實(shí)行為,將使雙方受到相應(yīng)的懲罰或者獎(jiǎng)勵(lì)。

        2.1 評(píng) 分

        SPoS共識(shí)機(jī)制中,在該階段,每個(gè)擁有合法身份的節(jié)點(diǎn)對(duì)候選節(jié)點(diǎn)的信任程度進(jìn)行評(píng)分,分?jǐn)?shù)的高低決定責(zé)任連坐的輕重。SPoS共識(shí)機(jī)制中每個(gè)合法節(jié)點(diǎn)都享有相同的評(píng)分權(quán),不存在節(jié)點(diǎn)貧富程度帶來(lái)的權(quán)益差距,不需要代幣股權(quán)的支持。在評(píng)分過(guò)程中,節(jié)點(diǎn)對(duì)候選節(jié)點(diǎn)的信任程度進(jìn)行評(píng)分、簽名,產(chǎn)生一個(gè)包含了身份與分?jǐn)?shù)的Token,將Token發(fā)送給候選節(jié)點(diǎn),并要得到候選節(jié)點(diǎn)的反饋信息。若候選節(jié)點(diǎn)表示接受投票,系統(tǒng)將對(duì)雙方責(zé)任進(jìn)行關(guān)聯(lián)。SPoS共識(shí)機(jī)制對(duì)比DPoS共識(shí)機(jī)制將節(jié)省大量的股權(quán)證明開(kāi)具時(shí)間,只需要驗(yàn)證節(jié)點(diǎn)是否為合法節(jié)點(diǎn)。區(qū)塊鏈中合法公民都將享有公民投票評(píng)分權(quán)力,相對(duì)于改進(jìn)前的DPoS共識(shí)機(jī)制,SPoS共識(shí)機(jī)制降低了節(jié)點(diǎn)投票的準(zhǔn)入門(mén)檻,節(jié)點(diǎn)對(duì)候選節(jié)點(diǎn)的評(píng)分如算法1所示。

        算法1:評(píng)分算法

        輸入:(Scroe,PrivateKey)

        輸出:null

        (1)/*對(duì)候選節(jié)點(diǎn)評(píng)分*/

        (2)初始化:Node /*評(píng)分節(jié)點(diǎn)*/;

        (3)if Node is lawful:

        (4)then token←rsa.Encrypt(Score,PrivateKey) /*私鑰加密分?jǐn)?shù)*/

        (5)send token to candidate /*將token發(fā)送給被支持者*/

        (6)wait result←callback(candidate)

        (7)if result == true: /*判斷投票是否成功*/

        (8)then voting success and mark /*投票成功,并且責(zé)任相關(guān)*/

        (9)else:

        (10)if candidate is illegal:/*候選節(jié)點(diǎn)非法行為時(shí)*/

        (11)then decrease candiate weighted/*懲罰候選節(jié)點(diǎn)*/

        (12)else:

        (13)again voting(candidate)

        (14)end if

        (15)end if

        (16)else://評(píng)分節(jié)點(diǎn)非法時(shí)

        (17)decrease Node weighted//懲罰評(píng)分節(jié)點(diǎn)

        (18) end if

        (19)end

        2.2 統(tǒng) 計(jì)

        評(píng)分結(jié)束過(guò)后,將關(guān)閉評(píng)分通道,驗(yàn)證候選節(jié)點(diǎn)的分?jǐn)?shù)真實(shí)性,統(tǒng)計(jì)評(píng)分階段中選取的候選節(jié)點(diǎn)分?jǐn)?shù)。在該階段,每個(gè)候選節(jié)點(diǎn)都持有其它節(jié)點(diǎn)的Token,依次驗(yàn)證候選節(jié)點(diǎn)所持有的Token,無(wú)效Token將被刪除,并降低無(wú)效Token簽名者的權(quán)重值。如果公示階段候選節(jié)點(diǎn)仍持有無(wú)效的Token,該節(jié)點(diǎn)將被剔除候選節(jié)點(diǎn)隊(duì)伍,并根據(jù)責(zé)任連坐制度懲罰該候選節(jié)點(diǎn)及其支持者,剩下的可信節(jié)點(diǎn)將進(jìn)入到下一階段。

        經(jīng)過(guò)驗(yàn)證的有效Token,將被統(tǒng)計(jì)計(jì)算,評(píng)選出平均分加增益分高的候選節(jié)點(diǎn)成為超級(jí)節(jié)點(diǎn)。平均分采用算術(shù)加權(quán)平均,該分值能顯示出選民對(duì)該節(jié)點(diǎn)的平均信任程度,但是惡意節(jié)點(diǎn)的非法評(píng)分,會(huì)對(duì)節(jié)點(diǎn)分值的可信度產(chǎn)生影響。為了防止惡意節(jié)點(diǎn)的非法行為影響分值的可信度,設(shè)計(jì)增益分weighted(x), 增益分是根據(jù)節(jié)點(diǎn)評(píng)分達(dá)優(yōu)的人數(shù)計(jì)算,當(dāng)某個(gè)節(jié)點(diǎn)的評(píng)分達(dá)優(yōu)人數(shù)過(guò)少時(shí),系統(tǒng)認(rèn)為其可信度低,此時(shí)增益分為負(fù)值,將降低節(jié)點(diǎn)的可信度。為了防止節(jié)點(diǎn)的支持者過(guò)少卻能獲得記賬權(quán)的情況,將節(jié)點(diǎn)評(píng)分與其權(quán)重相乘得到的加權(quán)分達(dá)優(yōu)的支持人數(shù)換算成相應(yīng)的增益分,該分?jǐn)?shù)極大地提升了節(jié)點(diǎn)的可信度。只有節(jié)點(diǎn)評(píng)分達(dá)優(yōu)的人數(shù)達(dá)到一定的數(shù)量,該分?jǐn)?shù)才會(huì)為正值并對(duì)其增益,反之對(duì)節(jié)點(diǎn)分?jǐn)?shù)進(jìn)行降低。增益分的存在減少了惡意節(jié)點(diǎn)行為對(duì)系統(tǒng)的影響,增加了節(jié)點(diǎn)分?jǐn)?shù)的可信度。經(jīng)過(guò)驗(yàn)證的評(píng)分將與節(jié)點(diǎn)自身權(quán)重weighted加權(quán)處理,得出該候選節(jié)點(diǎn)最終的分?jǐn)?shù)。分?jǐn)?shù)高的節(jié)點(diǎn),可以被認(rèn)為是優(yōu)質(zhì)的值得被信任的節(jié)點(diǎn),換算如式(1)所示

        (1)

        及格線以上總?cè)藬?shù)對(duì)應(yīng)的權(quán)重如式(2)所示

        weighted(x)=MlogmAx

        (2)

        (3)

        式(3)的推導(dǎo)如式(4)~式(6)所示

        (4)

        (5)

        (6)

        (7)

        式(7)說(shuō)明weighted(x) 隨人數(shù)的增加,上升越來(lái)越平緩,weighted(x) 導(dǎo)函數(shù)如圖2所示。

        圖2 weighted(x)導(dǎo)函數(shù)

        由圖3所示,人數(shù)的增加對(duì)分?jǐn)?shù)的增益無(wú)限,但是人數(shù)的增加對(duì)節(jié)點(diǎn)信任分?jǐn)?shù)的增加會(huì)越來(lái)越平緩,人數(shù)高達(dá)一定值時(shí)對(duì)信任的增值微乎其微。 weighted(x) 對(duì)節(jié)點(diǎn)的分?jǐn)?shù)有所增益,人數(shù)達(dá)不到指定要求反而會(huì)降低節(jié)點(diǎn)的可信度,但是人數(shù)過(guò)多,人數(shù)增量只能增加越來(lái)越少的節(jié)點(diǎn)可信度,該公式表達(dá)的人數(shù)增益如圖3所示。

        圖3 人數(shù)增益分趨勢(shì)

        本文基于式(1)提出的新評(píng)分算法,能夠準(zhǔn)確反應(yīng)一個(gè)節(jié)點(diǎn)的可信度,將Tokens作為算法的參數(shù)輸入,算法將解密、統(tǒng)計(jì)Tokens,最后返回基于式(1)換算的候選節(jié)點(diǎn)分?jǐn)?shù),具體過(guò)程如算法2所示。

        算法2:信任程度統(tǒng)計(jì)算法

        輸入:(Tokens)

        輸出:(TotalScore)

        (1)/*統(tǒng)計(jì)候選節(jié)點(diǎn)的分?jǐn)?shù)*/

        (2)初始化:K /*K為節(jié)點(diǎn)的tokens有效token總數(shù)*/;

        (3)var temp /*記錄分?jǐn)?shù)總值*/

        (4)var passedPersonNum /*及格人數(shù)權(quán)重*/

        (5)for k←1 to K do /*統(tǒng)計(jì)所有節(jié)點(diǎn)評(píng)分總和*/

        (6)do onceScore←decrypt(Tokens[k])

        (7)temp += onceScore

        (8)if onceScore is passed: /*分?jǐn)?shù)及格的將被統(tǒng)計(jì)到人數(shù)權(quán)重中*/

        (9)do passedPersonNum ++

        (10)end if

        (11)end for

        (12)score←(temp/Tokens.length+

        MlogmA*passedNum)*weighted/*式(1)處理*/

        (13)return score

        (14)end

        2.3 公 示

        該階段被選舉出來(lái)的候選節(jié)點(diǎn)將持有的所有Token進(jìn)行公示,以防止惡意節(jié)點(diǎn)選擇性算分,過(guò)濾低分,選擇高分,從而增加平均分的權(quán)重。評(píng)分節(jié)點(diǎn)分為支持者與反對(duì)者,根據(jù)評(píng)分的大小,與其支持的候選節(jié)點(diǎn)將產(chǎn)生對(duì)應(yīng)的責(zé)任。被舉報(bào)成功的節(jié)點(diǎn)將失去記賬權(quán),下次共識(shí)選舉中降低該候選節(jié)點(diǎn)的權(quán)重,并將節(jié)點(diǎn)列為不可信節(jié)點(diǎn),其評(píng)分者也將根據(jù)對(duì)節(jié)點(diǎn)的評(píng)分大小受到相應(yīng)的處理,懲罰支持者,獎(jiǎng)勵(lì)反對(duì)者。反之,候選節(jié)點(diǎn)將成為超級(jí)節(jié)點(diǎn),并且在任職期誠(chéng)實(shí)工作,其評(píng)分者依然會(huì)根據(jù)分?jǐn)?shù)得到相應(yīng)的懲罰與獎(jiǎng)勵(lì),公示過(guò)程具體如算法3所示。

        算法3:公示算法

        輸入:null

        輸出:null

        (1)/*公示階段*/

        (2)初始化:T, Node /*T為公示期的時(shí)長(zhǎng), Node為被公示的節(jié)點(diǎn)*/;

        (3)listen←net.Listen()

        (4)time.After(T,EndProgram()) /*T時(shí)間后, 結(jié)束程序。*/

        (5)while true:

        (6)do connNode←listen.Accept() /*監(jiān)聽(tīng)節(jié)點(diǎn)的舉報(bào)*/

        (7)if connNode is doubted:

        (8)then if connNode is honesty:

        (9)then delete Node /*從候選節(jié)點(diǎn)隊(duì)列刪除該候選節(jié)點(diǎn)*/

        (10)decrease Node weighted /*懲罰該節(jié)點(diǎn)*/

        (11)decrease or reward Node Supporter/*獎(jiǎng)勵(lì)或者懲罰該節(jié)點(diǎn)的評(píng)分節(jié)點(diǎn)*/

        (12)else:

        (13)decrease connNode weighted /*降低舉報(bào)節(jié)點(diǎn)權(quán)重*/

        (14)end if

        (15)end

        2.4 記 賬

        該階段,每個(gè)超級(jí)節(jié)點(diǎn)可生產(chǎn)兩種區(qū)塊,分別為普通區(qū)塊與收束區(qū)塊,普通區(qū)塊的作用是存儲(chǔ)系統(tǒng)數(shù)據(jù),而收束區(qū)塊的作用是將該周期內(nèi)生成的普通區(qū)塊收束為一點(diǎn)。兩種區(qū)塊的結(jié)構(gòu)與DPoS區(qū)塊結(jié)構(gòu)對(duì)比見(jiàn)表1。

        表1 區(qū)塊結(jié)構(gòu)

        針對(duì)DPos共識(shí)機(jī)制的單一隊(duì)列出塊,后續(xù)節(jié)點(diǎn)都在期待上一節(jié)點(diǎn)出塊,若節(jié)點(diǎn)宕機(jī)無(wú)法出塊,后一節(jié)點(diǎn)將處于期待狀態(tài),超時(shí)下才會(huì)解除該狀態(tài),并且使用上一成功出塊節(jié)點(diǎn)結(jié)果打包出塊。針對(duì)以上缺點(diǎn),本文提出全隊(duì)列出塊,在每個(gè)出塊階段,所有超級(jí)節(jié)點(diǎn)異步出塊,同時(shí)在該階段驗(yàn)證其它節(jié)點(diǎn)所出區(qū)塊,如果有節(jié)點(diǎn)宕機(jī)、超時(shí)未出塊,各節(jié)點(diǎn)將統(tǒng)一周期內(nèi)生產(chǎn)的普通區(qū)塊,以達(dá)到共識(shí)。階段結(jié)束時(shí),將生產(chǎn)一個(gè)收束區(qū)塊記錄該階段出塊的所有普通區(qū)塊。為滿足異步出塊的形式,本文棄用了區(qū)塊鏈的單鏈結(jié)構(gòu),采用基于DAG圖式改進(jìn)的有序偽鏈結(jié)構(gòu),將DAG的無(wú)序狀態(tài)轉(zhuǎn)換為有序狀態(tài),能夠延續(xù)單鏈結(jié)構(gòu)安全性的同時(shí)兼顧DAG圖式的高吞吐量,區(qū)塊鏈結(jié)構(gòu)如圖4所示。

        圖4 SPoS鏈?zhǔn)浇Y(jié)構(gòu)

        每個(gè)超級(jí)節(jié)點(diǎn)同時(shí)享有記賬權(quán)限,如果節(jié)點(diǎn)宕機(jī),超時(shí)未出塊,系統(tǒng)將自動(dòng)跳過(guò)該節(jié)點(diǎn),對(duì)節(jié)點(diǎn)的行為進(jìn)行評(píng)價(jià)、記憶,并且在下次選舉過(guò)程中懲罰該節(jié)點(diǎn)。SPoS共識(shí)機(jī)制采用周期制異步出塊,在周期內(nèi),超級(jí)節(jié)點(diǎn)打包、廣播普通區(qū)塊,監(jiān)聽(tīng)、接收其它超級(jí)節(jié)點(diǎn)廣播的普通區(qū)塊,并且統(tǒng)計(jì)普通區(qū)塊生成收束區(qū)塊,周期結(jié)束時(shí)廣播、統(tǒng)一收束區(qū)塊,SPoS共識(shí)機(jī)制的異步出塊如算法4所示。

        算法4:異步出塊算法

        輸入:null

        輸出:null

        (1)/*出塊階段*/

        (2)初始化:T/*T為每個(gè)出塊周期的時(shí)長(zhǎng)*/;

        (3)var sumBlock /*創(chuàng)建、 初始化收束區(qū)塊*/

        (4)time.After(T.BroadcastAndUniteSumBlock()) /*周期結(jié)束時(shí)廣播、 統(tǒng)一收束區(qū)塊*/

        (5)listen←net.Listen()

        (6)block←PackAndBroadcastBlock() /*節(jié)點(diǎn)自己生成、 廣播普通區(qū)塊*/

        (7)AddTo(block,SumBlock) /*將普通區(qū)塊記錄到收束區(qū)塊*/

        (8)while true:

        (9)block = listen.Accept()

        (10)if block is legal:

        (11)then AddTo(block,SumBlock)

        (12)else:

        (13)FeedbackToSystem(block) /*block不合法時(shí), 向系統(tǒng)舉報(bào)該區(qū)塊生產(chǎn)節(jié)點(diǎn)*/

        (14)end if

        (15)end

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

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

        本文實(shí)驗(yàn)在處理器Intel Core i5-4200HCPU@2.80 GH的64位Windows10專業(yè)版與Intel Celeron CPU N3450@1.10 GHz的64位Windows企業(yè)版平臺(tái)進(jìn)行,采用golang語(yǔ)言進(jìn)行區(qū)塊鏈構(gòu)建,tcp協(xié)議進(jìn)行P2P網(wǎng)絡(luò)傳輸,RSA加密算法生成密鑰、簽名、驗(yàn)證數(shù)據(jù),電腦端口模擬節(jié)點(diǎn),實(shí)驗(yàn)共模擬100個(gè)節(jié)點(diǎn)。

        3.2 數(shù)據(jù)分析

        (1)去中心化

        SPoS共識(shí)機(jī)制中,每個(gè)節(jié)點(diǎn)都不需要提供代幣及股權(quán)證明,各節(jié)點(diǎn)享有平等的評(píng)分權(quán)限。SPoS共識(shí)機(jī)制比DPoS共識(shí)機(jī)制門(mén)檻更低、權(quán)力更平等、去中心化程度更高。DPoS的參與度理論上最高能達(dá)到系統(tǒng)擁有股權(quán)節(jié)點(diǎn)的百分比,SPoS共識(shí)機(jī)制的參與度理論能夠達(dá)到百分百。與原共識(shí)機(jī)制相比,本文提出的共識(shí)機(jī)制中全體合法公民享有更加平等的選舉權(quán),系統(tǒng)更加活躍與去中心化,共識(shí)機(jī)制性能指標(biāo)對(duì)比見(jiàn)表2。

        表2 性能指標(biāo)對(duì)比

        (2)資源消耗

        DPoS共識(shí)機(jī)制需要代幣及股權(quán)的維持,持股節(jié)點(diǎn)的數(shù)量與代幣交易的總量越多,內(nèi)存的消耗越多,股權(quán)證明花費(fèi)的資源將大幅提升。改進(jìn)的SPoS共識(shí)機(jī)制本身是不需要代幣及股權(quán)的支撐,SPoS共識(shí)機(jī)制對(duì)比DPoS共識(shí)機(jī)制將節(jié)省更多的內(nèi)存資源以及查詢時(shí)間。SPoS共識(shí)機(jī)制的參與門(mén)檻低,系統(tǒng)節(jié)點(diǎn)活躍的數(shù)量急劇增加,使消耗的網(wǎng)絡(luò)資源大幅提升。系統(tǒng)模擬DPoS共識(shí)機(jī)制30%、40%、50%的節(jié)點(diǎn)擁有股權(quán),分別采用256 bit、512 bit、1024 bit、2048 bit、4096 bit的密鑰進(jìn)行網(wǎng)絡(luò)信息交互,實(shí)驗(yàn)結(jié)果如圖5所示,SPoS共識(shí)機(jī)制網(wǎng)絡(luò)資源比DPoS共識(shí)機(jī)制分別多消耗230%、150%、100%。DPoS共識(shí)機(jī)制中擁有股權(quán)的節(jié)點(diǎn)占比越高,去中心化程度越高,與SPoS共識(shí)機(jī)制消耗的資源差額越小。

        圖5 網(wǎng)絡(luò)資源消耗

        (3)共識(shí)時(shí)延

        實(shí)驗(yàn)?zāi)M100個(gè)節(jié)點(diǎn),在區(qū)塊高度分別為10 000、5000、2000的SPoS共識(shí)機(jī)制和DPoS共識(shí)機(jī)制中共識(shí)選舉10個(gè)記賬節(jié)點(diǎn),每個(gè)區(qū)塊高度均實(shí)驗(yàn)了多次,最后對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行求平均值處理。實(shí)驗(yàn)結(jié)果表明,不同區(qū)塊高度中SPoS共識(shí)機(jī)制共識(shí)時(shí)延不變,區(qū)塊高度5000、2000時(shí),SPoS共識(shí)機(jī)制的共識(shí)時(shí)延是高于DPoS共識(shí)機(jī)制,隨著區(qū)塊高度的增加和交易的產(chǎn)生,SPoS共識(shí)機(jī)制的共識(shí)時(shí)延明顯短于DPoS共識(shí)機(jī)制。隨著系統(tǒng)冗余度的提升,DPoS共識(shí)機(jī)制開(kāi)具權(quán)益證明的時(shí)間越來(lái)越長(zhǎng),SPoS共識(shí)機(jī)制的優(yōu)勢(shì)會(huì)越來(lái)越明顯,數(shù)據(jù)高冗余時(shí),共識(shí)時(shí)延提升了45%左右,實(shí)驗(yàn)結(jié)果如圖6所示。

        圖6 共識(shí)時(shí)延

        (4)出塊時(shí)間對(duì)比

        實(shí)驗(yàn)設(shè)定10個(gè)超級(jí)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)具有相同的出塊周期。DPoS共識(shí)機(jī)制在每個(gè)出塊周期隨機(jī)排序出塊隊(duì)列,隊(duì)列中的節(jié)點(diǎn)依次出塊。SPoS共識(shí)機(jī)制在出塊周期內(nèi),超級(jí)節(jié)點(diǎn)異步同時(shí)出塊。每次實(shí)驗(yàn)都采用相同初始環(huán)境,并且對(duì)最終結(jié)果進(jìn)行數(shù)據(jù)處理及分析。實(shí)驗(yàn)結(jié)果表明,在每個(gè)出塊周期內(nèi)兩種共識(shí)機(jī)制都能保持穩(wěn)定的吞吐量,SPoS共識(shí)機(jī)制隊(duì)列中超級(jí)節(jié)點(diǎn)異步出塊,每個(gè)出塊周期都能將區(qū)塊收束到收束區(qū)塊,相對(duì)于DPoS共識(shí)機(jī)制節(jié)省了隊(duì)列排序時(shí)間與等待其它節(jié)點(diǎn)出塊時(shí)間,SPoS共識(shí)機(jī)制的出塊時(shí)間明顯優(yōu)于DPoS共識(shí)機(jī)制,SPoS共識(shí)機(jī)制中平均每個(gè)區(qū)塊的出塊時(shí)間縮短40%左右,實(shí)驗(yàn)數(shù)據(jù)如圖7所示。

        圖7 出塊時(shí)間

        (5)容錯(cuò)性

        為比較共識(shí)機(jī)制容錯(cuò)性,即區(qū)塊鏈系統(tǒng)部分節(jié)點(diǎn)宕機(jī)時(shí)單位時(shí)間出塊數(shù)量,實(shí)驗(yàn)?zāi)M10個(gè)超級(jí)節(jié)點(diǎn),在超級(jí)節(jié)點(diǎn)宕機(jī)概率保持不同的情況下,比較系統(tǒng)的吞吐量。在實(shí)驗(yàn)中節(jié)點(diǎn)的宕機(jī)概率依次提升,每個(gè)宕機(jī)率進(jìn)行多次實(shí)驗(yàn),最后對(duì)比節(jié)點(diǎn)出塊時(shí)間。實(shí)驗(yàn)結(jié)果表明,隨著宕機(jī)概率的提升,兩種共識(shí)機(jī)制的出塊時(shí)間成爆炸函數(shù)增長(zhǎng),但SPoS共識(shí)機(jī)制在系統(tǒng)宕機(jī)的情況下明顯比原共識(shí)機(jī)制更能保持系統(tǒng)吞吐量的穩(wěn)定,而且這種優(yōu)勢(shì)會(huì)隨著宕機(jī)率的提升越來(lái)越明顯,實(shí)驗(yàn)結(jié)果如圖8所示。

        圖8 宕機(jī)穩(wěn)定性

        4 結(jié)束語(yǔ)

        為降低DPoS共識(shí)機(jī)制的中心化和提高系統(tǒng)吞吐量,本文提出了一種高并發(fā)、去中心化的共識(shí)機(jī)制。本文提出的SPoS共識(shí)機(jī)制中,合法節(jié)點(diǎn)均享有參與選舉的資格,選舉中根據(jù)節(jié)點(diǎn)身份進(jìn)行責(zé)任連坐,去除了權(quán)益的統(tǒng)治地位,提升了系統(tǒng)去中心化,規(guī)范了節(jié)點(diǎn)行為,能夠更好地服務(wù)于有身份認(rèn)證的區(qū)塊鏈系統(tǒng)?;贒AG圖式的偽鏈結(jié)構(gòu),創(chuàng)新了存儲(chǔ)結(jié)構(gòu),解決了DAG圖式結(jié)構(gòu)的安全性問(wèn)題,保證了系統(tǒng)高并發(fā)運(yùn)行。但是,SPoS共識(shí)機(jī)制消耗的網(wǎng)絡(luò)資源多于DPoS共識(shí)機(jī)制,對(duì)網(wǎng)絡(luò)的穩(wěn)定和帶寬有更高的要求。下一步,我們將研究降低該共識(shí)機(jī)制對(duì)網(wǎng)絡(luò)資源的消耗,并探索共識(shí)機(jī)制的實(shí)際應(yīng)用。

        猜你喜歡
        機(jī)制系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        構(gòu)建“不敢腐、不能腐、不想腐”機(jī)制的思考
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        自制力是一種很好的篩選機(jī)制
        文苑(2018年21期)2018-11-09 01:23:06
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        定向培養(yǎng) 還需完善安置機(jī)制
        破除舊機(jī)制要分步推進(jìn)
        玩两个丰满老熟女| 亚洲一区二区三区偷拍视频| 日韩精品亚洲一区二区| 免费人妻精品一区二区三区| 5级做人爱c视版免费视频| 亚洲AV小说在线观看| 日本一区二区三级免费| 暖暖 免费 高清 日本 在线| 亚洲国产另类久久久精品黑人| 久久精品国产一区二区蜜芽| 国产国语一级免费黄片| 国产一区二区三区中文在线| 亚洲欧美一区二区三区在线| 国产精品亚洲欧美天海翼| 亚洲国产精品第一区二区三区| 国产精品综合一区久久| 热久久国产欧美一区二区精品| 国内揄拍国内精品| 国产人成在线成免费视频 | 国语对白福利在线观看| 小鲜肉自慰网站| 免费在线视频一区| 日韩精品高清不卡一区二区三区| 精品福利一区二区三区蜜桃 | 朝鲜女人大白屁股ass| 91网站在线看| 精品国产3p一区二区三区| 国产欧美在线观看不卡| 欧美最猛黑人xxxx黑人表情| 亚洲精品国产老熟女久久| 精品精品国产一区二区性色av| 日韩日韩日韩日韩日韩日韩| 18级成人毛片免费观看| 亚洲av网一区天堂福利| 国产精品一区二区三区免费视频 | 日本一区二区国产高清在线播放| 久久综合久久综合久久| 亚洲色欲色欲大片www无码| AV无码中文字幕不卡一二三区 | 秋霞国产av一区二区三区| av在线免费观看网站免费|