999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向車聯(lián)網(wǎng)異構(gòu)節(jié)點的區(qū)塊鏈高效一致性共識算法研究

2022-02-24 08:55:24陳友榮劉半藤任條娟
電子與信息學(xué)報 2022年1期
關(guān)鍵詞:區(qū)域

陳友榮 章 陽 陳 浩 韓 蒙 劉半藤 任條娟*

①(浙江樹人大學(xué)信息科技學(xué)院 杭州 310015)

②(常州大學(xué)計算機與人工智能學(xué)院 常州 213164)

③(浙江大學(xué)計算機科學(xué)與技術(shù)學(xué)院 杭州 310013)

④(浙江大學(xué)濱江研究院 杭州 310053)

1 引言

隨著自動駕駛產(chǎn)業(yè)和車聯(lián)網(wǎng)的發(fā)展,車聯(lián)網(wǎng)節(jié)點產(chǎn)生大量且類型不同的數(shù)據(jù)。為了提高行車安全性和智能交通系統(tǒng)的服務(wù)質(zhì)量,車聯(lián)網(wǎng)節(jié)點需要進行數(shù)據(jù)共享,但是在數(shù)據(jù)共享方面車聯(lián)網(wǎng)面臨巨大的安全挑戰(zhàn)。若車聯(lián)網(wǎng)采用集中式架構(gòu),則基站存在被惡意入侵的風(fēng)險,導(dǎo)致車聯(lián)網(wǎng)節(jié)點數(shù)據(jù)被竊取,因此部分車聯(lián)網(wǎng)節(jié)點選擇不進行數(shù)據(jù)共享。車聯(lián)網(wǎng)也可選擇分散式架構(gòu)來降低基站被入侵所帶來的風(fēng)險,但是其節(jié)點仍存在安全威脅,無法從根本上解決數(shù)據(jù)被竊取等問題。總之,上述挑戰(zhàn)會對車聯(lián)網(wǎng)的數(shù)據(jù)共享產(chǎn)生不利影響,甚至形成數(shù)據(jù)“孤島”的困境,阻礙車聯(lián)網(wǎng)的發(fā)展[1,2]。由于區(qū)塊鏈技術(shù)中節(jié)點遵循同一記賬交易規(guī)則并在一致性共識算法下達成一致意見,具有去中心化和匿名性等特點,因此可將區(qū)塊鏈技術(shù)應(yīng)用到車聯(lián)網(wǎng)中,建立安全、可信賴和去中心化的智能交通生態(tài)系統(tǒng),以解決車輛數(shù)據(jù)共享問題。區(qū)塊鏈的核心要素是一致性共識算法,可直接決定其在應(yīng)用領(lǐng)域上的交易吞吐量、交易時延等特性。目前主流一致性共識算法存在以下2個問題,較難直接應(yīng)用到車聯(lián)網(wǎng)環(huán)境:(1)車聯(lián)網(wǎng)節(jié)點存在異構(gòu)性,即節(jié)點性能異構(gòu)和移動異構(gòu)等,從而影響區(qū)塊共識的安全和效率。但是目前主流一致性共識算法主要針對靜態(tài)節(jié)點的區(qū)塊共識,沒有考慮節(jié)點的異構(gòu)性。(2)由于車聯(lián)網(wǎng)具有時效性需求,因此應(yīng)在短時間完成區(qū)塊一致性共識,要求具有較高的交易吞吐量和較低的交易時延。但目前主流一致性共識算法的效率較低,無法有效激發(fā)節(jié)點參與區(qū)塊共識的積極性。

因此針對上述問題,本文提出面向車聯(lián)網(wǎng)異構(gòu)節(jié)點的區(qū)塊鏈高效一致性共識算法(Efficient Consistency Consensus Algorithm, ECCA)。本論文的具體貢獻如下:(1)ECCA算法結(jié)合節(jié)點的當(dāng)前累積信用值、離線次數(shù)、離線時間、加入可信任列表次數(shù)和提供無效區(qū)塊次數(shù)等信息,采用模糊C均值(Fuzzy C-Means, FCM)聚類實現(xiàn)異構(gòu)節(jié)點的信用等級劃分,可初步劃分3類異構(gòu)節(jié)點,從而快速檢測惡意車聯(lián)網(wǎng)節(jié)點;(2)針對由于車聯(lián)網(wǎng)節(jié)點移動導(dǎo)致的當(dāng)前區(qū)域內(nèi)驗證節(jié)點過少或過多問題,提出一種跨區(qū)下的節(jié)點身份變更機制,及時調(diào)整當(dāng)前區(qū)域內(nèi)節(jié)點的身份,從而保證移動環(huán)境下的區(qū)塊共識;(3)提出改進的一致性共識算法。本算法通過節(jié)點身份與可通信列表,確定可信任節(jié)點列表。同時在完成交易集共識時,針對可信任列表里不同信用等級的節(jié)點賦予不同的投票權(quán)重,并選擇信用等級較高的節(jié)點來完成區(qū)塊的生成與驗證,從而有效提高節(jié)點參與區(qū)塊共識的積極性,提高交易吞吐量,降低交易時延。

2 相關(guān)工作

在區(qū)塊鏈技術(shù)中,共識算法是決定區(qū)塊鏈能否有效應(yīng)用的關(guān)鍵。部分學(xué)者為應(yīng)對垃圾郵件等問題,研究工作量證明(Proof Of Work, POW)共識算法,如文獻[3]提出了基本POW算法。但POW算法的區(qū)塊生成速度過于緩慢,同時計算任務(wù)不僅需要節(jié)點耗費大量的計算資源,而且除了預(yù)防入侵者外,沒有更多實際或科學(xué)價值。因此文獻[4]引入信用模型和反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)計算信任度,根據(jù)節(jié)點的信任度劃分不同的搜索空間和產(chǎn)生區(qū)塊。文獻[5]設(shè)計代幣和合作費,鼓勵節(jié)點間相互合作,并且根據(jù)節(jié)點的協(xié)助程度給予一定的權(quán)利。但是文獻[4,5]的改進范圍主要局限于在區(qū)塊生成時給予一定的權(quán)利來降低其解決計算問題的難度,沒有考慮節(jié)點運動等異構(gòu)特性所帶來的通信時延等問題。針對POW算法的不足,部分學(xué)者研究權(quán)益證明(Proof Of Stake, POS)共識算法[6]。雖然POS算法在一定程度上避免了計算資源浪費問題并提高共識效率,但存在首富節(jié)點權(quán)力較大,甚至可直接影響共識結(jié)果等問題。同時,文獻[7]提出了通過代表節(jié)點完成區(qū)塊共識的委托權(quán)益證明(Delegated Proof Of Stake, DPOS)共識算法。文獻[8]采用代幣獎勵激勵節(jié)點參與投票,并加入包含節(jié)點行為狀態(tài)和懲罰機制的檢查點協(xié)議,實現(xiàn)惡意節(jié)點的排除。文獻[9]采用投出反對票加快排除惡意節(jié)點,將節(jié)點信用分數(shù)與等級作為選舉依據(jù)。但是文獻[7—9]仍存在“富者更富”等問題,且存在無法調(diào)動節(jié)點投票積極性和及時剔除惡意節(jié)點等問題。針對“拜占庭將軍問題”,部分學(xué)者研究實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)共識算法,如文獻[10]提出通過節(jié)點的多階段廣播實現(xiàn)區(qū)塊共識的PBFT算法。文獻[11]采用分區(qū)策略劃分多個主體子區(qū)域,并設(shè)置代理節(jié)點,提出局部與全局一致性驗證算法。但是文獻[10,11]沒有考慮到網(wǎng)絡(luò)中大量移動節(jié)點而導(dǎo)致代表節(jié)點設(shè)置不合理、身份存在被盜用等問題。為解決異步網(wǎng)絡(luò)節(jié)點通訊時的高時延問題,部分學(xué)者研究瑞波協(xié)議共識算法(Ripple Protocol Consensus Algorithm,RPCA),如文獻[12]簡單分析了通過可信任節(jié)點列表達成區(qū)塊共識的RPCA算法。文獻[13]在建立可信任節(jié)點列表時,提出節(jié)點間連接狀態(tài)的評價機制,從而應(yīng)對節(jié)點間通信質(zhì)量的變化對區(qū)塊共識效率的影響。由于RPCA算法通過可信任節(jié)點列表完成區(qū)塊共識,因此其效率遠遠高于POW等算法,可滿足短時間內(nèi)的交易響應(yīng)需求,提高交易吞吐率,但是該算法主要針對靜態(tài)節(jié)點的一致性共識,較少考慮到車聯(lián)網(wǎng)異構(gòu)節(jié)點,仍不適用于車聯(lián)網(wǎng)環(huán)境。

3 算法原理

如圖1所示,車聯(lián)網(wǎng)主要由車聯(lián)網(wǎng)節(jié)點(車載智能終端)、基站和云服務(wù)平臺組成。根據(jù)基站的蜂窩部署規(guī)則,將車聯(lián)網(wǎng)網(wǎng)絡(luò)劃分為若干個蜂窩區(qū)域,且每個蜂窩區(qū)域中含有固定數(shù)量的基站。其中,車聯(lián)網(wǎng)節(jié)點可在區(qū)域內(nèi)和區(qū)域間移動。由于節(jié)點通信范圍存在一定限制,無法與其他所有車聯(lián)網(wǎng)節(jié)點進行通信,因此通過基站☆進行車聯(lián)網(wǎng)節(jié)點間的通信中繼。根據(jù)車聯(lián)網(wǎng)節(jié)點的區(qū)塊共識行為,將其劃分為以下3種類型:(1)□為驗證節(jié)點,其表示信用等級為A和B的車聯(lián)網(wǎng)節(jié)點;(2)×為一般節(jié)點,其表示信用等級為C和新加入的車聯(lián)網(wǎng)節(jié)點;(3)△為惡意節(jié)點,其表示信用等級為D的車聯(lián)網(wǎng)節(jié)點。ECCA算法的原理如圖2所示。首先區(qū)域內(nèi)的節(jié)點結(jié)合獎懲機制與信用值模型計算其累積信用值,并根據(jù)其具體行為,進行信用等級劃分。其次,采用跨區(qū)下的節(jié)點身份變更機制,及時調(diào)整車聯(lián)網(wǎng)節(jié)點身份。最后,車聯(lián)網(wǎng)節(jié)點通過一致性共識算法確定信任列表,完成交易集共識和區(qū)塊驗證共識,從而達成區(qū)塊共識。但是ECCA算法仍需要解決以下3個問題:一是如何結(jié)合節(jié)點的信用值和具體情況等信息,實現(xiàn)信用等級的劃分與共識權(quán)限給予;二是如何考慮跨區(qū)下的節(jié)點身份變更問題,保證區(qū)塊共識效率;三是如何改進RPCA算法的相關(guān)協(xié)議,提高共識效率。這3個問題的具體解決如下。

圖1 網(wǎng)絡(luò)整體結(jié)構(gòu)示意圖

圖2 ECCA算法原理

3.1 信用等級機制

3.1.1 獎懲機制

3.1.2 信用值模型

在完成節(jié)點累積得分的統(tǒng)計后,需要一種信用值模型來調(diào)動驗證節(jié)點參與區(qū)塊共識的積極性和作為節(jié)點等級劃分與權(quán)限給予的依據(jù),即

3.1.3 信用等級劃分

考慮到需要結(jié)合節(jié)點的具體行為來實現(xiàn)節(jié)點信用等級劃分,因此由信用等級為A和B的車聯(lián)網(wǎng)節(jié)點所組成的驗證節(jié)點在各自區(qū)域內(nèi)采集具體包括當(dāng)前累積信用值、離線次數(shù)、離線時間、加入可信任列表次數(shù)和提供無效區(qū)塊次數(shù)等評估要素[14—16],并及時廣播各自所采集的信息。如果區(qū)域內(nèi)的驗證節(jié)點成功采集到當(dāng)前區(qū)域內(nèi)所有節(jié)點的評估要素,則通過基站將自身區(qū)域內(nèi)的評估要素廣播給自身區(qū)域內(nèi)的驗證節(jié)點與周圍區(qū)域的驗證節(jié)點。若區(qū)域內(nèi)驗證節(jié)點接收到周圍b個區(qū)域的評估要素信息與自身區(qū)域內(nèi)的評估要素,則該驗證節(jié)點執(zhí)行節(jié)點信用等級劃分,并將自身區(qū)域內(nèi)的節(jié)點信用等級劃分結(jié)果通過基站廣播給區(qū)域內(nèi)的其他節(jié)點。定義節(jié)點的4個信用等級,即

其中,CR 表示信用等級集合,且根據(jù)文獻[17,18]的取值規(guī)則,選擇各等級對應(yīng)的數(shù)值,即為A=80,B=70,C=60,D=50。相較于K-means聚類算法[19]的硬性劃分,F(xiàn)CM聚類算法[20]通過計算每個樣本點對所有簇中心的隸屬度,實現(xiàn)樣本點的柔性劃分,因此驗證節(jié)點通過該方法進行合理的信用等級劃分,其具體實現(xiàn)步驟如下:

步驟1 當(dāng)前迭代次數(shù)NI=0,驗證節(jié)點隨機

在完成節(jié)點的等級劃分后,驗證節(jié)點給予其相應(yīng)的權(quán)利。若節(jié)點的信用等級為A,則驗證節(jié)點給予其投票權(quán),區(qū)塊生成權(quán)和區(qū)塊驗證權(quán)。若節(jié)點的信用等級為B,則驗證節(jié)點給予其投票權(quán)和區(qū)塊驗證權(quán)。若節(jié)點信用等級為C,則驗證節(jié)點給予其投票權(quán)。若節(jié)點信用等級為D,則驗證節(jié)點不給予其任何權(quán)利。當(dāng)完成上述權(quán)利給予后,驗證節(jié)點將清除節(jié)點累積得分與累積信用值,重新開始累積得分的計算。

3.2 跨區(qū)下的節(jié)點身份變更機制

由于車聯(lián)網(wǎng)節(jié)點的移動會導(dǎo)致部分驗證節(jié)點從一個區(qū)域移動到另一個區(qū)域,發(fā)生跨區(qū)現(xiàn)象,可能導(dǎo)致當(dāng)前時刻某些區(qū)域內(nèi)驗證節(jié)點數(shù)量出現(xiàn)過少或過多,從而影響區(qū)塊共識效率。信用等級劃分需要經(jīng)過一定時間周期后,才能實現(xiàn)節(jié)點身份轉(zhuǎn)換,無法在短時間內(nèi)有效解決驗證節(jié)點跨區(qū)所帶來的問題,因此提出跨區(qū)下一般節(jié)點和驗證節(jié)點之間的身份變更機制,根據(jù)節(jié)點在區(qū)塊共識過程中的具體行為,及時調(diào)整當(dāng)前區(qū)域內(nèi)的節(jié)點身份,從而保證車聯(lián)網(wǎng)環(huán)境下的區(qū)塊共識效率。具體變更機制如下:

(1) 如果當(dāng)前區(qū)域驗證節(jié)點的數(shù)量過少,即滿足φ <?1時,φ表示當(dāng)前區(qū)域的驗證節(jié)點數(shù)量,?1表示當(dāng)前區(qū)域內(nèi)的驗證節(jié)點數(shù)量下限閾值,則會導(dǎo)致共識流程無法順利完成,干擾區(qū)塊正常上鏈,因此需要將一般節(jié)點轉(zhuǎn)換為驗證節(jié)點。即首先當(dāng)前區(qū)域內(nèi)每個節(jié)點嘗試與周圍節(jié)點建立通信測試。若成功建立通信過程,則將成功通信的節(jié)點添加到可通信列表中,并可根據(jù)實時通信情況及時更新該列表。若一般節(jié)點位于該節(jié)點的可通信列表且兩者通信次數(shù)大于閾值ε,則一般節(jié)點成功獲得該節(jié)點的認可。根據(jù)上述操作,區(qū)域內(nèi)隨機選擇的一個驗證節(jié)點能夠獲知當(dāng)前區(qū)域內(nèi)所有節(jié)點認可的一般節(jié)點信息,計算每個一般節(jié)點的被認可數(shù)量。其次,該驗證節(jié)點根據(jù)該區(qū)域內(nèi)一般節(jié)點的被認可數(shù)量進行降序排序,將前p個一般節(jié)點加入到預(yù)備驗證節(jié)點集合。計算預(yù)備驗證節(jié)點集合中的節(jié)點停留時間,即該區(qū)域內(nèi)成功上鏈的區(qū)塊數(shù)量與單個區(qū)塊成功上鏈時間的乘積,并進行降序排序,將排序結(jié)果的前?1-φ個一般節(jié)點轉(zhuǎn)化為驗證節(jié)點。最后,該驗證節(jié)點將一般節(jié)點的身份變更結(jié)果及時廣播,從而增加區(qū)域內(nèi)驗證節(jié)點的數(shù)量。

(2) 如果當(dāng)前區(qū)域驗證節(jié)點的數(shù)量過多,即滿足φ >?2時,?2表示當(dāng)前區(qū)域內(nèi)的驗證節(jié)點數(shù)量上限閾值,則會導(dǎo)致共識流程復(fù)雜,直接影響區(qū)塊共識效率,因此需要將驗證節(jié)點轉(zhuǎn)換為一般節(jié)點。當(dāng)驗證節(jié)點在當(dāng)前區(qū)域內(nèi)的停留時間短時,可體現(xiàn)其行為特點的評估要素數(shù)據(jù)量較少,導(dǎo)致網(wǎng)絡(luò)無法有效區(qū)分其是否為冒充驗證節(jié)點進行攻擊的惡意節(jié)點。如果當(dāng)前區(qū)域驗證節(jié)點的數(shù)量過多,可轉(zhuǎn)換一部分該類驗證節(jié)點為一般節(jié)點,從而降低驗證節(jié)點中存在惡意節(jié)點的風(fēng)險,因此選擇驗證節(jié)點在區(qū)域內(nèi)的停留時間作為其轉(zhuǎn)換為一般節(jié)點的轉(zhuǎn)換條件。即首先區(qū)域內(nèi)隨機選擇一個驗證節(jié)點,計算該區(qū)域內(nèi)所有驗證節(jié)點的停留時間(該區(qū)域內(nèi)成功上鏈的區(qū)塊數(shù)量與單個區(qū)塊成功上鏈時間的乘積)。然后,該驗證節(jié)點根據(jù)區(qū)域內(nèi)驗證節(jié)點的停留時間進行降序排序,并將排序結(jié)果的第?2個驗證節(jié)點之后的驗證節(jié)點轉(zhuǎn)換為一般節(jié)點。最后,該驗證節(jié)點將節(jié)點身份變更結(jié)果及時廣播,從而減少區(qū)域內(nèi)驗證節(jié)點數(shù)量。

3.3 改進的一致性共識算法

考慮到車聯(lián)網(wǎng)的時效性需求和節(jié)點異構(gòu),在RPCA算法的基礎(chǔ)上,改進可信任節(jié)點列表、交易集共識和區(qū)塊驗證共識等方法,從而提出一種改進的一致性共識算法。該算法由區(qū)域自身共識算法與多區(qū)域共識算法兩部分組成。當(dāng)該區(qū)域內(nèi)車聯(lián)網(wǎng)節(jié)點發(fā)現(xiàn)交易信息只關(guān)系到單個區(qū)域內(nèi)部時,則采用區(qū)域自身共識算法達成共識,并及時將共識結(jié)果上傳至自身區(qū)域的從鏈,實現(xiàn)數(shù)據(jù)的快速共識。當(dāng)車聯(lián)網(wǎng)節(jié)點發(fā)現(xiàn)交通事故、擁堵狀態(tài)等交易信息關(guān)系到多個區(qū)域時,則采用多區(qū)域共識算法達成共識,并上鏈至全局主鏈。同時主鏈與從鏈之間通過驗證節(jié)點的多重簽名實現(xiàn)雙向錨定,保證區(qū)塊的不可篡改性。上述兩種共識算法的選擇條件由交易事務(wù)所涉及的范圍來決定,且僅是參與區(qū)塊共識的節(jié)點數(shù)量不同,可信任節(jié)點列表,交易集共識、區(qū)塊共識等方法均相同。

3.3.1 可信任節(jié)點列表改進

在前面的節(jié)點信用等級機制和身份變更機制的基礎(chǔ)上,改進RPCA算法中的可信任節(jié)點列表,即驗證節(jié)點首先在其可通信列表中排除一般節(jié)點和惡意節(jié)點,然后計算其可通信列表中剩余節(jié)點分數(shù),最后根據(jù)分數(shù)從高到低選取剩余節(jié)點加入可信任節(jié)點列表。具體公式為

其中,sci,j表示第i個驗證節(jié)點的可通信列表中第j個節(jié)點的得分情況,CRi,j和Ti,j分別表示第i個驗證節(jié)點的可通信列表中第j個節(jié)點的信用等級和節(jié)點剩余時間,且節(jié)點剩余時間采用倒計時制,ωi,j表示第i個驗證節(jié)點的可通信列表完成第j個節(jié)點的添加時所經(jīng)歷過的中間傳遞損失因子。如果出現(xiàn)多個節(jié)點的得分情況相同,則在其中隨機選擇一個加入可信任列表。為了全面應(yīng)對節(jié)點異構(gòu)特性帶來的共識干擾問題,將可通信列表中未能成功加入可信任列表的其他驗證節(jié)點,組成備用可信任節(jié)點群。當(dāng)可信任列表中的節(jié)點出現(xiàn)意外情況時,從中隨機選擇節(jié)點來實現(xiàn)節(jié)點的切換。

3.3.2 交易集共識改進

在RPCA算法的交易集共識不僅需要經(jīng)過驗證節(jié)點的多輪投票,而且在最終達成共識的交易集中每筆交易都至少獲得β1比例的驗證節(jié)點認可。因此需要在保證共識安全性的前提下,改進驗證節(jié)點的投票權(quán),允許其在投出贊同票時同樣也可以投出反對票,從而提高共識效果。同時考慮不同信任等級節(jié)點所代表的重要性不同,通過式(10),采用不同的權(quán)重統(tǒng)計票數(shù),獲得投票結(jié)果。最后驗證節(jié)點根據(jù)每筆交易按投票結(jié)果從高到低進行排序,并選擇前?個交易作為交易集共識的最終結(jié)果

3.3.3 區(qū)塊驗證共識改進

ECCA算法改進區(qū)塊驗證共識,即隨機選擇一個信用等級為A的驗證節(jié)點負責(zé)區(qū)塊的生成。該方法不僅避免存在一般節(jié)點和惡意節(jié)點構(gòu)建區(qū)塊而導(dǎo)致高交易時延的風(fēng)險,而且在構(gòu)建區(qū)塊的效率上滿足車聯(lián)網(wǎng)需求。具體內(nèi)容為:

(1) 從滿足信任等級CR=A的驗證節(jié)點中隨機選擇節(jié)點負責(zé)區(qū)塊的生成。

(2) 負責(zé)區(qū)塊生成的驗證節(jié)點發(fā)送其計算所得的哈希值到其他的驗證節(jié)點,統(tǒng)一收集反饋信息。一旦反饋信息中認可比例達到一定閾值β2,則表明該區(qū)塊驗證共識達成,將區(qū)塊寫入到鏈中。

4 算法設(shè)計

ECCA算法將區(qū)塊鏈技術(shù)有效運用在車聯(lián)網(wǎng)環(huán)境中,其具體實現(xiàn)流程如表1所示。

表1 面向車聯(lián)網(wǎng)異構(gòu)節(jié)點的區(qū)塊鏈高效一致性共識算法(ECCA)算法流程

5 實驗分析

5.1 實驗場景和參數(shù)設(shè)置

為了綜合評價ECCA算法的性能,在intel i5-4210H CPU 2.90 GHz, 8 G內(nèi)存和GTX 960 M顯卡的試驗環(huán)境上,使用Golang語言實現(xiàn)一個由車聯(lián)網(wǎng)節(jié)點和基站組成的車聯(lián)網(wǎng)數(shù)據(jù)共享原型系統(tǒng)。在該原型系統(tǒng)中,假設(shè)車聯(lián)網(wǎng)節(jié)點可通過基站中繼的方式與其他節(jié)點進行數(shù)據(jù)交換,并令每個車聯(lián)網(wǎng)節(jié)點的運動速度為 sp,在固定時間間隔Vlas后,每個車聯(lián)網(wǎng)節(jié)點按式(11)更新當(dāng)前的位置

5.2 實驗結(jié)果分析

5.2.1 節(jié)點運動與信用值模型分析

考慮9×9 km的車聯(lián)網(wǎng)覆蓋區(qū)域,均勻劃分為9個區(qū)域大小均為3 km×3 km的網(wǎng)格,并以車聯(lián)網(wǎng)中惡意節(jié)點的比例為10%為例,說明算法的有效性。其中,在每個區(qū)域內(nèi)隨機設(shè)置1個基站和多個信用等級為A或B的運動節(jié)點作為驗證節(jié)點,隨機設(shè)置信用等級為C的運動節(jié)點和新生的運動節(jié)點作為一般節(jié)點,隨機設(shè)置信用等級為D的運動節(jié)點作為惡意節(jié)點。如圖3所示,由9個基站,135個驗證節(jié)點,38個一般節(jié)點和18個惡意節(jié)點組成的200個節(jié)點隨機分布在9個網(wǎng)格中。根據(jù)上述仿真場景,在仿真過程中,DPOS算法中的惡意節(jié)點通過離線方式累積幣齡,在后期重新上線對當(dāng)前區(qū)塊共識進行攻擊。RPCA算法中的惡意節(jié)點通過加入驗證節(jié)點的可信任列表的方式干擾交易集共識,從而實現(xiàn)對區(qū)塊共識的攻擊。在CDBFT和ECCA算法中的惡意節(jié)點選擇在前期累積信用值,獲得更多的權(quán)利,并在后期對共識過程發(fā)動攻擊。

圖3 200個節(jié)點的初始分布圖

在原型系統(tǒng)的基礎(chǔ)上,分析正常節(jié)點與惡意節(jié)點的信用值趨勢圖。如圖4所示,ECCA算法提出在共識成功情況下的獎勵機制,隨著共識輪次的增加,正常節(jié)點的累積得分逐漸增加,最終導(dǎo)致累積信用值的上升。由于ECCA算法需要保證節(jié)點多次參與區(qū)塊共識的積極性和防止因信用值過大而導(dǎo)致節(jié)點權(quán)力過于中心化,因此在前期逐漸提高正常節(jié)點信用值的上升速度,且在后期逐漸放緩正常節(jié)點信用值的上升速度。同時ECCA算法結(jié)合惡意節(jié)點的行為,提出在共識失敗情況下的懲罰機制,惡意節(jié)點隨著共識輪次的增加,累積得分逐漸減少,最終導(dǎo)致累積信用值的下降。由于ECCA算法為了快速區(qū)分惡意節(jié)點與正常節(jié)點和考慮到正常節(jié)點隨機選擇等因素,因此在前期逐漸提高惡意節(jié)點信用值的下降速度,且在后期逐漸放緩惡意節(jié)點信用值的下降速度。

圖4 節(jié)點信用值趨勢圖

5.2.2 參數(shù)選擇分析

選擇信用值模型參數(shù)t1為200, 400, 600, 800,1000, 1200,參數(shù)t2為100, 200, 300, 400, 500,節(jié)點數(shù)量為250和其他參數(shù),分析信用值模型參數(shù)對交易吞吐量的影響。如圖5所示,模型參數(shù)t2影響信用值模型中數(shù)值的變化速率。當(dāng)模型參數(shù)t2在100~300范圍內(nèi)不斷增加時,該模型在應(yīng)對惡意節(jié)點攻擊時,能以合理的變化速率完成節(jié)點的累積信用值,因此交易吞吐量出現(xiàn)上升趨勢。而當(dāng)模型參數(shù)t2在300~500范圍內(nèi)不斷增加時,累積信用值的變化速率下降,降低了正常節(jié)點參與多輪區(qū)塊的積極性,因此交易吞吐量出現(xiàn)下降趨勢。而模型參數(shù)t1影響信用值模型中數(shù)值的最大值與最小值。當(dāng)模型參數(shù)t1在200~600范圍內(nèi)不斷增加時,信用值模型的最大值與最小值差距過小,正常節(jié)點與惡意節(jié)點的信用值區(qū)別程度不明顯,導(dǎo)致信任等級劃分時耗時偏高,因此交易吞吐量出現(xiàn)下降趨勢。而當(dāng)模型參數(shù)t1在600~1000范圍內(nèi)不斷增加時,信用值模型的上下限逐漸擴大,正常節(jié)點與惡意節(jié)點的信用值區(qū)別程度不斷變大,提高了信任等級劃分效率,因此交易吞吐量出現(xiàn)上升趨勢。但當(dāng)模型參數(shù)t1達到1200時,信用值模型的區(qū)間過大,從而影響節(jié)點參與區(qū)塊共識的積極性,其交易吞吐量出現(xiàn)下降。總之,通過參數(shù)分析,ECCA算法選擇t1為1000和t2為300,可較好的區(qū)分正常節(jié)點和惡意節(jié)點。

圖5 信用值模型參數(shù)對交易吞吐量的影響

考慮ζ1+ζ2+ζ3=1,選擇節(jié)點投票權(quán)重ζ1為0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,節(jié)點投票權(quán)重ζ2為0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,節(jié)點數(shù)量為250和其他參數(shù),分析節(jié)點投票權(quán)重對交易吞吐量的影響。如圖6所示,當(dāng)節(jié)點投票權(quán)重ζ1取較高值,其他兩個權(quán)重取較低值時,交易吞吐量較大。這是因為:節(jié)點投票權(quán)重ζ1主要是影響信用等級為A的節(jié)點對交易集共識的投票結(jié)果。當(dāng)節(jié)點投票權(quán)重ζ1在0.1~0.7范圍內(nèi)不斷增加時,信用等級為A的節(jié)點對當(dāng)前交易集共識投票擁有更高的權(quán)重,使得可靠性較高的節(jié)點能夠影響投票結(jié)果,保證交易集的共識效率,因此交易吞吐量出現(xiàn)上升趨勢。當(dāng)節(jié)點投票權(quán)重ζ1為0.8時,交易集共識容易被信用等級為A的節(jié)點所控制,降低其他信用等級節(jié)點參與投票的積極性,因此交易吞吐量出現(xiàn)下降趨勢。當(dāng)節(jié)點投票參數(shù)ζ2在0.8~0.1范圍內(nèi)不斷下降時,信用等級為B的節(jié)點投票權(quán)重逐漸下降,導(dǎo)致其他信用等級的節(jié)點投票權(quán)重上升,同時信用等級為C的節(jié)點中的惡意節(jié)點容易干擾交易集共識的順利執(zhí)行,其交易吞吐量出現(xiàn)下降趨勢。因此在后續(xù)實驗中,選擇節(jié)點投票權(quán)重ζ1為0.7,ζ2為0.2和ζ3為0.1。

圖6 節(jié)點投票權(quán)重對交易吞吐量的影響

5.2.3 算法性能分析

選擇節(jié)點數(shù)量為200, 300, 400, 500, 600, 700,800和其他參數(shù),分析節(jié)點數(shù)量增加對交易吞吐量的影響。如圖7所示,隨著節(jié)點數(shù)量的上升,增加了部分區(qū)塊共識的時間,導(dǎo)致POS, DPOS, CDBFT和ECCA算法的交易吞吐量均呈下降趨勢。但ECCA算法的交易吞吐量明顯高于其他共識算法。這是因為:ECCA算法提出跨區(qū)下的節(jié)點身份變更機制與備用可信任節(jié)點群,及時調(diào)整節(jié)點的身份,避免因節(jié)點離線或跨區(qū)行為對區(qū)塊的共識效率產(chǎn)生影響。且在應(yīng)對惡意節(jié)點的攻擊方面,ECCA算法采用信用等級機制限制其共識權(quán)利,并隨機選擇高信用等級驗證節(jié)點完成區(qū)塊驗證共識,進一步降低惡意節(jié)點影響共識的可能性。DPOS和CDBFT算法雖然通過選擇代表節(jié)點的方式完成區(qū)塊共識,但是沒有考慮到車聯(lián)網(wǎng)中節(jié)點離線問題,一旦代表節(jié)點在網(wǎng)絡(luò)中離線,則需要重新發(fā)起投票。RPCA算法在共識過程中需要通過可信任列表來完成交易集共識與區(qū)塊驗證共識,且惡意節(jié)點的攻擊容易影響其共識。因此ECCA算法的交易吞吐量要始終優(yōu)于DPOS,CDBFT和RPCA算法的交易吞吐量。

圖7 節(jié)點數(shù)量對交易吞吐量的影響

選擇節(jié)點數(shù)量為200, 300, 400, 500, 600, 700,800和其他參數(shù),分析節(jié)點數(shù)量對平均交易時延的影響。如圖8所示,隨著節(jié)點數(shù)量的上升,共識算法被攻擊的次數(shù)增加,導(dǎo)致POS, DPOS, CDBFT和ECCA算法的平均交易時延均呈上升趨勢。這是因為:ECCA算法首先通過信用等級機制,綜合考慮節(jié)點的性能,實現(xiàn)權(quán)利的動態(tài)分配,并在驗證節(jié)點生成可信列表時考慮節(jié)點在通信過程中傳遞損失因子、信用等級等關(guān)鍵參數(shù),從而將性能良好且信用等級可靠的節(jié)點加入到可信任列表中,最終將平均交易時延維持在較低水平。CDBFT與DPOS算法僅僅通過幣齡或信譽值來選擇構(gòu)建區(qū)塊節(jié)點,無法綜合評價節(jié)點的性能。而RPCA算法的驗證節(jié)點選擇主要通過提前設(shè)置的方式,沒有考慮到外界環(huán)境問題,一旦驗證節(jié)點的性能受到影響,無法自動進行調(diào)整。因此ECCA算法的平均交易時延優(yōu)于DPOS, CDBFT和RPCA算法的平均交易時延。

圖8 節(jié)點數(shù)量對平均交易時延的影響

選擇節(jié)點數(shù)量為200, 300, 400, 500, 600, 700,800,和其他參數(shù),分析節(jié)點數(shù)量對平均節(jié)點通信開銷的影響。如圖9所示,隨著節(jié)點數(shù)量的上升,在交易廣播和區(qū)塊驗證等階段增加了節(jié)點間的通信數(shù)次,導(dǎo)致DPOS, CDBFT和ECCA算法的平均通信開銷均呈上升趨勢,但ECCA算法的平均節(jié)點通信開銷低于其他共識算法。這是因為:ECCA算法不僅根據(jù)車聯(lián)網(wǎng)事務(wù)所涉及范圍選擇不同的區(qū)域共識機制,減少參與區(qū)塊共識的節(jié)點數(shù)量,從而保證區(qū)塊的共識效率,而且在交易集共識過程中設(shè)置反對票與投票系數(shù),避免惡意節(jié)點所提交的交易集干擾共識,最終保證區(qū)塊共識效率。CDBFT與DPOS算法雖然通過代表節(jié)點來完成區(qū)塊共識,在一定程度上保證區(qū)塊共識安全性,但在代表節(jié)點的共識上需要經(jīng)過多個階段。RPCA算法每個驗證節(jié)點需要廣播自身交易集信息。因此ECCA算法的平均節(jié)點通信開銷遠優(yōu)于DPOS, CDBFT和RPCA算法的平均節(jié)點通信開銷。

圖9 節(jié)點數(shù)量對平均節(jié)點通信開銷的影響

選擇節(jié)點數(shù)量為200, 300, 400, 500, 600, 700,800,惡意節(jié)點比例為10%, 20%, 30%, 40%和其他參數(shù),分析惡意節(jié)點數(shù)量對ECCA算法查準(zhǔn)率的影響。如圖10所示,ECCA算法的查準(zhǔn)率均維持在一個較高值,且隨著節(jié)點數(shù)量與惡意節(jié)點比例的增加,ECCA算法的查準(zhǔn)率略微增加。這是因為:ECCA算法根據(jù)節(jié)點的共識行為信息,采用FCM聚類算法進行等級劃分,可有效檢測出惡意節(jié)點。隨著共識節(jié)點數(shù)量的增加,導(dǎo)致ECCA算法可獲得更多正常節(jié)點的加入可信任列表次數(shù)、活躍時間、離線次數(shù)、離線時間和延時時間等共識行為信息,正常節(jié)點和惡意節(jié)點的行為特征數(shù)據(jù)更明顯,因此其查準(zhǔn)率略微增加。同樣隨著惡意節(jié)點比例的增加,更多的惡意節(jié)點表現(xiàn)出共識攻擊行為特征,使得ECCA算法在進行信用等級劃分能有效發(fā)現(xiàn)惡意節(jié)點,使其查準(zhǔn)率略微增加。

圖10 惡意節(jié)點比例對查準(zhǔn)率的影響

選擇節(jié)點數(shù)量為200, 300, 400, 500, 600, 700,800,惡意節(jié)點比例為10%, 20%, 30%, 40%和其他參數(shù),分析惡意節(jié)點數(shù)量對ECCA算法查全率的影響。如圖11所示,隨著共識節(jié)點數(shù)量的增加,ECCA算法的查全率上升,隨著惡意節(jié)點比例的增加,ECCA算法的查全率略微下降,但是ECCA算法的查全率均維持在一個較高的值。這是因為:隨著共識節(jié)點數(shù)量的增加,ECCA算法的行為獎懲機制與信用值模型能夠全面衡量節(jié)點的共識行為,突出網(wǎng)絡(luò)內(nèi)正常節(jié)點與惡意節(jié)點的差異性,使得驗證節(jié)點在進行節(jié)點的信用等級劃分時更容易區(qū)分出惡意節(jié)點,導(dǎo)致查全率隨之上升。隨著惡意節(jié)點比例的逐漸增加,由于ECCA算法通過隨機選擇高信用等級的驗證節(jié)點完成區(qū)塊驗證共識,導(dǎo)致部分惡意節(jié)點未獲得進行攻擊的機會,使得在共識過程中其表現(xiàn)與正常節(jié)點無明顯差異,且只能將其劃分為一般節(jié)點,因此算法的查全率會略微下降。

6 結(jié)束語

本文提出一種面向車聯(lián)網(wǎng)異構(gòu)節(jié)點的區(qū)塊鏈高效一致性共識算法(ECCA)。首先,該算法將城市車聯(lián)網(wǎng)劃分為多個區(qū)域,并將車聯(lián)網(wǎng)節(jié)點分為驗證節(jié)點、一般節(jié)點和惡意節(jié)點。根據(jù)節(jié)點的參與區(qū)塊共識情況與行為信息,提出信用等級機制,包括獎懲機制與信用值模型和信用等級劃分的聚類方法。其次,提出跨區(qū)下的節(jié)點身份變更機制,并提出一種改進的一致性共識算法,包括可信任列表改進、交易集共識改進和區(qū)塊驗證共識改進。最后分析信用值模型,參數(shù)選擇,查全率和查準(zhǔn)率,比較DPOS, CDBFT, RPCA和ECCA算法的交易吞吐量、平均交易時延和平均節(jié)點通信開銷。仿真結(jié)果表明:ECCA算法能提高車聯(lián)網(wǎng)節(jié)點參與區(qū)塊共識的積極性、降低一般節(jié)點和惡意節(jié)點對區(qū)塊共識的影響,從而提高交易吞吐量、平均交易時延和平均節(jié)點通信開銷,比DPOS, RPCA和CDBFT算法更優(yōu)。但是ECCA算法沒有考慮到車聯(lián)網(wǎng)節(jié)點間的區(qū)塊共識收益問題,因此下一階段目標(biāo)研究適用于車聯(lián)網(wǎng)的區(qū)塊收益分配和積分兌換方案,進一步提高節(jié)點參與區(qū)塊共識的積極性。

猜你喜歡
區(qū)域
分割區(qū)域
探尋區(qū)域創(chuàng)新的密碼
科學(xué)(2020年5期)2020-11-26 08:19:22
基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
軟件(2020年3期)2020-04-20 01:45:18
小區(qū)域、大發(fā)展
商周刊(2018年15期)2018-07-27 01:41:20
論“戎”的活動區(qū)域
區(qū)域發(fā)展篇
區(qū)域經(jīng)濟
關(guān)于四色猜想
分區(qū)域
公司治理與技術(shù)創(chuàng)新:分區(qū)域比較
主站蜘蛛池模板: 国产成人久视频免费| 亚洲一道AV无码午夜福利| 国产亚洲精品91| 91久草视频| 狠狠色狠狠色综合久久第一次| 欧美不卡视频一区发布| 国产精品片在线观看手机版| 亚洲美女操| 欧美一级99在线观看国产| 香蕉久人久人青草青草| 91麻豆精品国产高清在线| 五月天丁香婷婷综合久久| a级毛片免费网站| 五月天久久综合国产一区二区| 三级欧美在线| 狠狠做深爱婷婷久久一区| 欧美日韩理论| 亚洲视频免费在线看| 国产导航在线| 在线免费看片a| 91久久偷偷做嫩草影院免费看| 亚洲精选无码久久久| 免费人成视网站在线不卡| 成人免费黄色小视频| 成年人福利视频| 国产亚洲欧美另类一区二区| 日韩午夜片| 欧美国产精品不卡在线观看 | 真人高潮娇喘嗯啊在线观看| 亚洲成人播放| 免费啪啪网址| 97在线视频免费观看| 尤物特级无码毛片免费| 成人字幕网视频在线观看| 日本免费一级视频| 久久综合一个色综合网| 婷婷六月综合网| 亚洲欧美日韩另类| 中国美女**毛片录像在线| 热这里只有精品国产热门精品| 国产视频欧美| 国产精品视频导航| 18禁高潮出水呻吟娇喘蜜芽| 国产成人精品三级| 97视频免费在线观看| 国产午夜福利在线小视频| 亚洲中文字幕在线精品一区| 91精品国产丝袜| 欧美日韩第三页| 五月天香蕉视频国产亚| 免费在线一区| 亚洲娇小与黑人巨大交| 99久久精品无码专区免费| 色婷婷成人| 手机在线看片不卡中文字幕| 狼友视频一区二区三区| 91精品免费久久久| 亚洲首页在线观看| 亚洲国产AV无码综合原创| 狠狠色综合久久狠狠色综合| 国产高清在线丝袜精品一区| 色婷婷在线播放| 欧美日韩第二页| 国产自在自线午夜精品视频| 久久青青草原亚洲av无码| 久久婷婷国产综合尤物精品| 亚洲欧美日韩成人高清在线一区| 久久综合丝袜日本网| 国产在线第二页| 一级爆乳无码av| 蜜臀AV在线播放| 91成人在线免费视频| 久久免费看片| 亚洲第七页| 亚洲日本韩在线观看| 亚洲国产一区在线观看| 国产精品99久久久| 这里只有精品在线播放| 精品国产一区91在线| 亚洲一区二区三区国产精华液| 国产在线视频欧美亚综合| 国产自在线拍|