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

基于通信延遲聚類和節(jié)點(diǎn)信譽(yù)的PBFT共識算法

2025-02-28 00:00:00石亦燃鄧小鴻張麗劉力匯劉勇

摘 要:針對現(xiàn)有基于分組策略的拜占庭容錯共識算法中存在的主節(jié)點(diǎn)不穩(wěn)定、延遲高等問題,提出一種基于通信延遲聚類和節(jié)點(diǎn)信譽(yù)的PBFT共識算法(CD-PBFT)。首先,設(shè)計(jì)了新的基于通信延遲的聚類算法對網(wǎng)絡(luò)中節(jié)點(diǎn)進(jìn)行分組,將通信延遲融合進(jìn)歐氏距離公式,讓系統(tǒng)中的節(jié)點(diǎn)根據(jù)混合距離進(jìn)行聚類,最終使各個集群中延遲之和達(dá)到最低,減少通信開銷,提升共識效率;其次,提出了基于綜合評價的信譽(yù)模型,綜合考慮節(jié)點(diǎn)延遲指數(shù)、共識行為和歷史信譽(yù),對節(jié)點(diǎn)進(jìn)行信譽(yù)評估,依據(jù)節(jié)點(diǎn)行為和延遲差異進(jìn)行信譽(yù)獎懲;最后,優(yōu)化主節(jié)點(diǎn)選取方式,建立了一種基于節(jié)點(diǎn)穩(wěn)定性和信譽(yù)模型的主節(jié)點(diǎn)選擇機(jī)制,通過信譽(yù)模型獲得節(jié)點(diǎn)的信譽(yù)值后,引入方差來衡量節(jié)點(diǎn)的信譽(yù)波動,選擇信譽(yù)高且方差小的節(jié)點(diǎn)擔(dān)任主節(jié)點(diǎn),提高主節(jié)點(diǎn)的安全性。實(shí)驗(yàn)結(jié)果表明,相較于PBFT,該算法平均吞吐量提高了126.8%,平均時延降低了68.3%。同時,與現(xiàn)有基于聚類的PBFT算法相比,CD-PBFT具有較為明顯的性能優(yōu)勢,能夠更靈活地應(yīng)用在大規(guī)模節(jié)點(diǎn)的聯(lián)盟鏈場景中。

關(guān)鍵詞: 區(qū)塊鏈; 通信延遲聚類; 共識算法; 信譽(yù)模型; PBFT

中圖分類號: TP301 文獻(xiàn)標(biāo)志碼: A 文章編號: 1001-3695(2025)02-003-0344-08

doi: 10.19734/j.issn.1001-3695.2024.07.0219

PBFT consensus algorithm based on communication

delay clustering and node’s reputation

Shi Yiran1, Deng Xiaohong2,3’, Zhang Li1, Liu Lihui1, Liu Yong1

(1.School of Information Engineering, Jiangxi University of Science amp; Technology, Ganzhou Jiangxi 341000, China; 2. School of Information Engineering, Gannan University of Science amp; Technology, Ganzhou Jiangxi 341000, China; 3.Key Laboratory of Cloud Computing amp; Big Data, Ganzhou Jiangxi 341000, China)

Abstract:Aiming at the problems of unstable primary nodes and high latency in the existing Byzantine fault-tolerant consensus algorithms based on grouping strategies, this paper proposed a PBFT consensus algorithm based on communication delay clustering and node reputation (CD-PBFT). Firstly, the algorithm designed a new clustering algorithm based on communication delay to group the nodes in the network, fused the communication delay into the Euclidean distance formula, and allowed the nodes in the system to be clustered based on the mixture of distances, which ultimately minimized the sum of the delays in each cluster, reduced the communication overhead, and improved the consensus efficiency. Secondly, the algorithm proposed a reputation model based on comprehensive evaluation, which took into account the node delay index, consensus behavior and historical reputation for evaluate the reputation of nodes, and rewarded and punished nodes based on their behavior and delay differences. Finally, it optimized the primary node selection method and established a primary node selection mechanism based on node stability and reputation model. After obtaining the reputation value of the node through the reputation model, it introduced the variance to measure the fluctuation of the node’s reputation, and selected the node with high reputation and small variance to be the primary node, which improved the security of the primary node. Experimental results show that compared with PBFT, the algorithm improves the average throughput by 126.8% and reduces the average delay by 68.3%. Meanwhile, compared with the existing clustering-based PBFT algorithm, CD-PBFT has more obvious performance advantages and can be more flexibly applied in large-scale node federation chain scenarios.

Key words:blockchain; communication delay clustering; consensus algorithm; reputation model; PBFT

0 引言

區(qū)塊鏈[1從本質(zhì)上來看是一種去中心化的數(shù)據(jù)庫,融合了P2P網(wǎng)絡(luò)、共識算法、非對稱加密等多種技術(shù),是互聯(lián)網(wǎng)技術(shù)高度融合的產(chǎn)物。區(qū)塊鏈技術(shù)作為一種新興技術(shù),在過去幾年中已經(jīng)得到了廣泛發(fā)展。到目前為止,區(qū)塊鏈技術(shù)已經(jīng)在教育[2、醫(yī)療3、金融、物聯(lián)網(wǎng)[4、能源5等諸多領(lǐng)域得到了落地應(yīng)用,這種融合將共同推動下一代價值互聯(lián)網(wǎng)的進(jìn)步,為各行各業(yè)帶來前所未有的便利。共識算法作為區(qū)塊鏈的核心技術(shù),維持著分布式系統(tǒng)的穩(wěn)定和安全,根據(jù)不同的應(yīng)用場景,選擇的區(qū)塊鏈框架不一樣,適用的共識機(jī)制也不同。在公有鏈中,以DPoS(delegated proof of stake)[6為例,它雖然解決了PoW存在的能源浪費(fèi)和效率低的問題,但是DPoS通過選舉部分節(jié)點(diǎn)作為代表節(jié)點(diǎn)會具有中心化風(fēng)險。在聯(lián)盟鏈中,以實(shí)用拜占庭容錯(practical Byzantine fault tolerance)[7為例,它雖然解決了原始拜占庭容錯算法的效率問題,將算法復(fù)雜度由指數(shù)級降低到多項(xiàng)式級,提升了拜占庭容錯算法在實(shí)際應(yīng)用中的可行性,但是也存在諸多不足之處,主要有以下兩個方面:a)PBFT算法運(yùn)行涉及多個階段且要求節(jié)點(diǎn)間進(jìn)行同步通信,這種通信過程或模式會讓它在實(shí)際應(yīng)用中面臨高延遲的問題;b)主節(jié)點(diǎn)選取隨意,主節(jié)點(diǎn)的角色由各節(jié)點(diǎn)輪流擔(dān)任,會導(dǎo)致惡意節(jié)點(diǎn)和不穩(wěn)定節(jié)點(diǎn)擔(dān)任主節(jié)點(diǎn),雖然可以通過視圖更換的方式更換主節(jié)點(diǎn),但是頻繁的視圖更換會增大系統(tǒng)通信開銷,降低共識效率。

針對PBFT存在的問題,研究者們主要通過下述兩種方法來進(jìn)行改進(jìn):

a)分組共識。例如Yang等人[8提出了一種基于PBFT的改進(jìn)算法,通過采用一致性哈希算法對共識節(jié)點(diǎn)進(jìn)行分組來避免節(jié)點(diǎn)間的大量通信,提高網(wǎng)絡(luò)的可擴(kuò)展性。Liu等人[9引入了優(yōu)化的三路快速排序算法將節(jié)點(diǎn)劃分為具有不同權(quán)限的主節(jié)點(diǎn)組、共識節(jié)點(diǎn)組和觀察節(jié)點(diǎn)組。通過限制觀測節(jié)點(diǎn)組中的節(jié)點(diǎn)參與共識來減少通信開銷。Zheng等人[10提出一種PBFT優(yōu)化算法,使用改進(jìn)的C4.5算法對節(jié)點(diǎn)進(jìn)行分類,選擇信用值高的節(jié)點(diǎn)組成主共識組,其他節(jié)點(diǎn)被劃分為子共識組,在主組和子組內(nèi)使用PBFT共識算法進(jìn)行共識。Sun等人[11提出一種基于K-means聚類的分組共識算法,采用K-means聚類算法對節(jié)點(diǎn)分組,對共識任務(wù)進(jìn)行分解,從鏈并行參與共識,主鏈完成全局共識,主從鏈?zhǔn)褂肞BFT算法達(dá)成共識。李俊吉等人[12根據(jù)信譽(yù)將節(jié)點(diǎn)分為收集器節(jié)點(diǎn)和普通共識節(jié)點(diǎn),并使收集器節(jié)點(diǎn)收集普通共識節(jié)點(diǎn)的投票消息,減少節(jié)點(diǎn)間通信,降低通信開銷。

b)信譽(yù)模型。例如李淑芝等人[13提出一種基于完美二叉樹通信拓?fù)涞陌菡纪ト蒎e共識算法,將信譽(yù)模型與可驗(yàn)證隨機(jī)函數(shù)(verifiable random function, VRF)[14結(jié)合,設(shè)計(jì)了R-VRF來抽取主節(jié)點(diǎn)。Liu等人[15提出了一種基于分組和信用的改進(jìn)PBFT共識算法,通過信譽(yù)值將系統(tǒng)中節(jié)點(diǎn)分為管理節(jié)點(diǎn)、候選節(jié)點(diǎn)和普通節(jié)點(diǎn),并從候選節(jié)點(diǎn)中選擇信譽(yù)高的節(jié)點(diǎn)作為管理節(jié)點(diǎn),以優(yōu)化主節(jié)點(diǎn)的選擇。Wu等人[16提出了一種基于聚類的分片共識算法,該算法引入節(jié)點(diǎn)信譽(yù)機(jī)制對節(jié)點(diǎn)的行為進(jìn)行監(jiān)督和評分,選擇信譽(yù)高的節(jié)點(diǎn)擔(dān)任代理節(jié)點(diǎn),提高主節(jié)點(diǎn)安全性。陳蘇明等人17根據(jù)節(jié)點(diǎn)信譽(yù)進(jìn)行分組以選取共識節(jié)點(diǎn),從共識節(jié)點(diǎn)中選取信譽(yù)高節(jié)點(diǎn)成為主節(jié)點(diǎn),提升主節(jié)點(diǎn)的可靠性。上述研究從不同的角度對PBFT算法進(jìn)行了優(yōu)化,第一種是通過分組共識的方式減少PBFT算法參與共識的節(jié)點(diǎn)數(shù),降低通信開銷。但是這種基于分組共識的PBFT改進(jìn)算法仍未考慮到節(jié)點(diǎn)間的延遲問題,且多數(shù)分組算法在分組后組內(nèi)外依舊采用PBFT機(jī)制達(dá)成共識,這種方式在節(jié)點(diǎn)數(shù)過多時會造成通信復(fù)雜度急劇增加,從而影響系統(tǒng)性能。例如K-means聚類算法雖然作為分組共識的常用方法來提高共識效率,但是這種方式主要基于節(jié)點(diǎn)的靜態(tài)特征進(jìn)行聚類,忽略了節(jié)點(diǎn)間的實(shí)際通信延遲,導(dǎo)致分組后的共識效率并未得到顯著提升。第二種是通過引入信譽(yù)評估模型的方式選擇信譽(yù)高的節(jié)點(diǎn)當(dāng)選主節(jié)點(diǎn),進(jìn)而降低主節(jié)點(diǎn)是惡意節(jié)點(diǎn)的概率。但是這種信譽(yù)評估方式并未考慮延遲指數(shù)對節(jié)點(diǎn)信譽(yù)的影響,具有一定的片面性。除此之外,根據(jù)信譽(yù)高低選取的主節(jié)點(diǎn)容易遭受頻繁的可預(yù)測攻擊,從而致使系統(tǒng)進(jìn)行多次視圖切換導(dǎo)致共識波動較大。

針對上述問題,本文提出基于通信延遲聚類和節(jié)點(diǎn)信譽(yù)的PBFT共識算法(communication delay clustering and node’s reputation based PBFT, CD-PBFT),本文主要工作如下:

a)提出新的基于通信延遲聚類分組策略(CD_K-means),對原始K-means算法進(jìn)行改進(jìn),不再只考慮單一的空間距離作為聚類特征,而是將通信延遲作為一個參數(shù)融入歐氏距離公式,讓系統(tǒng)中的節(jié)點(diǎn)根據(jù)混合距離進(jìn)行聚類分組,分組后節(jié)點(diǎn)分為主節(jié)點(diǎn)、共識節(jié)點(diǎn)及監(jiān)督節(jié)點(diǎn)三種類型。這種方式確保了集群內(nèi)部節(jié)點(diǎn)之間的延遲達(dá)到最小化,降低了節(jié)點(diǎn)間通信開銷。

b)設(shè)計(jì)了基于綜合評價的信譽(yù)模型,將延遲指數(shù)作為評估維度之一,提出新的信譽(yù)模型,選擇更穩(wěn)定的節(jié)點(diǎn)參與共識。通過綜合考慮節(jié)點(diǎn)延遲指數(shù)、共識行為和歷史信譽(yù),對節(jié)點(diǎn)進(jìn)行信譽(yù)評估,依據(jù)節(jié)點(diǎn)行為和延遲差異進(jìn)行信譽(yù)獎懲,提高了節(jié)點(diǎn)參與共識的積極性和共識效率。

c)優(yōu)化主節(jié)點(diǎn)選取方式,設(shè)計(jì)了一種基于節(jié)點(diǎn)穩(wěn)定性和信譽(yù)模型的主節(jié)點(diǎn)選擇機(jī)制。將節(jié)點(diǎn)穩(wěn)定性與信譽(yù)評估模型結(jié)合,在信譽(yù)的基礎(chǔ)上加入方差的概念,用方差衡量節(jié)點(diǎn)信譽(yù)波動。選擇信譽(yù)高且方差小的節(jié)點(diǎn)作為主節(jié)點(diǎn),確保主節(jié)點(diǎn)選取的可靠性。

1 問題提出

1.1 PBFT算法及存在的問題

PBFT算法包含了請求、預(yù)準(zhǔn)備、準(zhǔn)備、提交和回復(fù)五個階段,共識流程如圖1所示。從圖中可以看出,BFT共識流程存在通信開銷大的問題,在prepare和commit階段,各節(jié)點(diǎn)間相互通信和驗(yàn)證,隨著網(wǎng)絡(luò)規(guī)模擴(kuò)大,通信開銷會急劇上升。

PBFT主節(jié)點(diǎn)選擇方式主要分為通過視圖更換機(jī)制選取和根據(jù)節(jié)點(diǎn)信譽(yù)高低選取主節(jié)點(diǎn)兩種,兩種選擇方式對比如圖2所示。假設(shè)節(jié)點(diǎn)總數(shù)為N,當(dāng)前視圖編號為v,則主節(jié)點(diǎn)編號為p=v mod N,其中節(jié)點(diǎn)1、2、3為正常節(jié)點(diǎn),節(jié)點(diǎn)4為惡意節(jié)點(diǎn)。

視圖更換機(jī)制選擇主節(jié)點(diǎn)如圖2(a)所示。從圖中可以看出,主節(jié)點(diǎn)依次由節(jié)點(diǎn)1、2、3、4擔(dān)任,例如節(jié)點(diǎn)總數(shù)N=4,當(dāng)v=1時,根據(jù)p=v mod N,節(jié)點(diǎn)1成為主節(jié)點(diǎn)。依此類推,隨著視圖編號的變化,所有節(jié)點(diǎn)輪流擔(dān)任主節(jié)點(diǎn)。由于沒有條件限制,惡意節(jié)點(diǎn)4也能夠擔(dān)任主節(jié)點(diǎn),將會引起多次視圖更換,影響系統(tǒng)安全性和穩(wěn)定性。

針對該情況,目前比較常見的方式是引入信譽(yù)模型,根據(jù)信譽(yù)高低選擇主節(jié)點(diǎn),如圖2(b)所示,每個節(jié)點(diǎn)賦予不同信譽(yù)值(Ⅰlt;Ⅱlt;Ⅲlt;Ⅳ)。從圖中可以看出,當(dāng)v=1時,節(jié)點(diǎn)1的信譽(yù)是最高的,節(jié)點(diǎn)1連續(xù)擔(dān)任主節(jié)點(diǎn)。因?yàn)楣?jié)點(diǎn)1在共識中出現(xiàn)的惡意行為,節(jié)點(diǎn)1的信譽(yù)出現(xiàn)了變化,當(dāng)v=2時,發(fā)生了視圖變換,節(jié)點(diǎn)2成為當(dāng)前節(jié)點(diǎn)中信譽(yù)最高節(jié)點(diǎn),此時的主節(jié)點(diǎn)由節(jié)點(diǎn)2擔(dān)任。根據(jù)信譽(yù)選取主節(jié)點(diǎn)雖然解決了PBFT算法在主節(jié)點(diǎn)選擇上缺乏門檻限制的問題,但是這種方式選出的主節(jié)點(diǎn)通常是最高信譽(yù)節(jié)點(diǎn),存在可預(yù)測問題,容易遭受惡意攻擊從而引起頻繁視圖更換,造成共識不穩(wěn)定的情況。

1.2 K-means聚類算法及其存在的問題

K-means聚類算法[18作為無監(jiān)督聚類算法的代表,旨在將節(jié)點(diǎn)分為K個簇,使得每個節(jié)點(diǎn)與其所屬簇中心之間的距離之和最小。具體流程如下:

a)初始化。隨機(jī)選取K個節(jié)點(diǎn)作為初始簇中心。

b)分配節(jié)點(diǎn)。對于每一個節(jié)點(diǎn),根據(jù)其與各簇中心的距離,將其分配給距離最近的簇中心所對應(yīng)的簇。

c)更新簇中心。所有節(jié)點(diǎn)分配完畢之后,根據(jù)一個集群內(nèi)的所有節(jié)點(diǎn)重新計(jì)算該集群的中心節(jié)點(diǎn),作為新的簇中心。

d)迭代。重復(fù)步驟b)c),直到滿足某個停止條件,例如簇中心的變化非常小,或者達(dá)到了預(yù)設(shè)的迭代次數(shù)。

e)輸出。最終得到K個簇及其對應(yīng)的簇中心,每個節(jié)點(diǎn)都被分配到了最近的簇中。

圖3是K-means聚類的結(jié)果。從圖中可以看出,節(jié)點(diǎn)依據(jù)與簇中心的距離進(jìn)行分配,最終形成了3個集群,同集群中節(jié)點(diǎn)到簇中心的距離都是最近的。由此可知,K-means聚類算法只考慮到了距離因素對節(jié)點(diǎn)進(jìn)行分組,然而從圖1 的PBFT共識流程中可以看出,各節(jié)點(diǎn)間需要進(jìn)行多次通信,算法性能很大程度上與節(jié)點(diǎn)間延遲相關(guān)。因此,在PBFT算法中利用K-means聚類算法進(jìn)行聚類分組并不能有效解決高延遲的問題,需要對K-means聚類算法進(jìn)行優(yōu)化。

2 CD-PBFT算法

2.1 算法模型

本文提出的CD-PBFT算法分為3個步驟,總體算法模型如圖4所示,以12個節(jié)點(diǎn)為例進(jìn)行說明:

a)使用CD_K-means聚類算法分組。通過改進(jìn)的K-means算法對系統(tǒng)中的12個節(jié)點(diǎn)進(jìn)行分組,把通信延遲作為聚類特征,將與簇中心通信延遲低的節(jié)點(diǎn)劃分至當(dāng)前簇中,如圖12個節(jié)點(diǎn)被分為3個組,節(jié)點(diǎn)0、1、2為各組的主節(jié)點(diǎn)(初始簇中心節(jié)點(diǎn)即為主節(jié)點(diǎn)),節(jié)點(diǎn)5、8、11為監(jiān)督節(jié)點(diǎn),其余為共識節(jié)點(diǎn)(節(jié)點(diǎn)類型劃分在2.3節(jié)中介紹)。

b)進(jìn)入混合共識流程。完成分組后,在節(jié)點(diǎn)0、1、2內(nèi)部采取PBFT共識,而各組內(nèi)通過具有拜占庭容錯能力的Raft算法達(dá)成共識(將在2.4節(jié)中介紹)。

c)信譽(yù)模型計(jì)算信譽(yù)值。當(dāng)完成一輪共識后,根據(jù)信譽(yù)評估模型對節(jié)點(diǎn)在共識過程中的行為進(jìn)行信譽(yù)值的計(jì)算,在下一輪共識開始前,會依據(jù)信譽(yù)值的高低排序選出前20%節(jié)點(diǎn)進(jìn)行信譽(yù)方差計(jì)算,選擇信譽(yù)高且方差小的節(jié)點(diǎn)作為主節(jié)點(diǎn),并對所有節(jié)點(diǎn)進(jìn)行信譽(yù)值的更新。

2.2 CD_K-means聚類分組策略

為了優(yōu)化1.2節(jié)中K-means聚類算法存在的問題,使其分組結(jié)果中各個集群內(nèi)的延遲達(dá)到最優(yōu),本文提出一種新的基于通信延遲的聚類分組策略(communication delay based K-means, CD_K-means)。在CD_K-means聚類算法中,保留了距離特征,在得到不同節(jié)點(diǎn)的通信延遲后,最終通過兩者結(jié)合的混合距離進(jìn)行聚類得到最終分組結(jié)果。CD_K-means算法的主要內(nèi)容如下:

a)通信延遲。通常是指兩個節(jié)點(diǎn)間數(shù)據(jù)傳輸所需的總時間,主要包括傳輸時延、傳播時延、處理時延及排隊(duì)時延四個部分。總延遲計(jì)算公式為

D_com=D_tra+D_pro+D_dis+D_que(1)

其中:傳輸時延D_tra是節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀所需的時間;D_pro是指傳播時延,也就是數(shù)據(jù)從當(dāng)前節(jié)點(diǎn)傳輸?shù)搅硪还?jié)點(diǎn)所需要花費(fèi)的時間;D_dis和D_que分別是指處理時延及排隊(duì)時延。處理時延就是節(jié)點(diǎn)在收到分組后進(jìn)行處理所花費(fèi)的時間,排隊(duì)時延則是分組在輸入隊(duì)列中排隊(duì)等待處理所消耗的時間。

b)歐氏距離。通常指在多維空間中兩個點(diǎn)之間的真實(shí)距離,或者向量的自然長度(即該點(diǎn)到原點(diǎn)的距離)。歐氏距離計(jì)算公式為

d(x,Ki)=∑mj=1(xj-Kij2(2)

其中:x為節(jié)點(diǎn);Ki為第i個簇中心節(jié)點(diǎn);m是節(jié)點(diǎn)的特征維度;Kij為節(jié)點(diǎn)與簇中心節(jié)點(diǎn)的第j個屬性值。節(jié)點(diǎn)通過式(2)得到與簇中心之間的距離。

c)混合距離。將通信延遲與歐氏距離進(jìn)行結(jié)合。混合距離計(jì)算公式為

d_mix(x,Ki)==ω1×d(x,Ki)+ω2×D_com(x,Ki)(3)

其中:d_mix表示節(jié)點(diǎn)間的混合距離;通過控制ω1、ω2來調(diào)整兩者不同的重要程度,權(quán)重之間滿足ω12=1。

上述得出節(jié)點(diǎn)與簇中心節(jié)點(diǎn)的混合距離后,會進(jìn)行第一次聚類,將節(jié)點(diǎn)分配到合適的集群中,再遍歷所有節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)間的混合距離之和,不斷迭代更新直至集群內(nèi)混合距離之和達(dá)到最小。混合距離之和計(jì)算公式為

sumi=∑hy=0 ∑hz=0(ω1×∑mj=1(xyij-xzij22×D_com(xyij,xzij)(4)

其中:sumi表示第i個簇中心所在集群中各節(jié)點(diǎn)的成對距離之和;h表示為每個簇中心集群最終需要達(dá)到的節(jié)點(diǎn)數(shù),h=n/k。當(dāng)y=0或者z=0,x0i表示簇中心,通過變動y、z的值計(jì)算集群中不同節(jié)點(diǎn)間的混合距離。每個集群中的節(jié)點(diǎn)數(shù)量會滿足h=n/k,只有如此,才可以在一定程度上避免通信復(fù)雜度的增長引起的整體不平衡,從而使效率達(dá)到最優(yōu)。

算法1 CD_K-means聚類算法

輸入:簇中心數(shù)K;節(jié)點(diǎn)數(shù)x。

輸出:GroupResult(分組結(jié)果)。

K←Random.choice(k) //隨機(jī)選取k個簇中心節(jié)點(diǎn)

d_mix(x,Ki)←ω1×d(x,Ki)+ω2×D_com(x,Ki) /*計(jì)算節(jié)點(diǎn)與簇中心之間的混合距離*/

while Tlt;x/K 判斷集群內(nèi)節(jié)點(diǎn)數(shù)T是否滿足該數(shù)值

if d_mix(x,Ki)!=0 //得出混合距離最小的節(jié)點(diǎn)

min[K1,K2,…]←d_mix(x,Ki) /*將節(jié)點(diǎn)分配到離簇中心最近的集群中*/

for s_node[x]gt;0 //遍歷剩余節(jié)點(diǎn)

sumi←formula (4) //計(jì)算節(jié)點(diǎn)間的混合距離之和

if sumi!=0 //得出使sumi最小的節(jié)點(diǎn)

min[K1,K2,…]←sumi //把該節(jié)點(diǎn)分配到集群中

return GroupResult //得到分組結(jié)果

end if

end for

else

return 0

end if

end while

CD_K-means聚類算法分組過程如圖5所示,主要分為以下四個步驟:

a)在系統(tǒng)中隨機(jī)選取多個節(jié)點(diǎn)作為簇中心節(jié)點(diǎn)。以圖5為例,系統(tǒng)中節(jié)點(diǎn)總數(shù)為12,其中有3個節(jié)點(diǎn)擔(dān)任簇中心節(jié)點(diǎn)角色。

b)對其余節(jié)點(diǎn)(不包含簇中心節(jié)點(diǎn))執(zhí)行與簇中心節(jié)點(diǎn)間的通信延遲檢測,通過式(1)得到每個節(jié)點(diǎn)的延遲數(shù)據(jù)。其次,根據(jù)式(3)計(jì)算各節(jié)點(diǎn)與簇中心節(jié)點(diǎn)間的混合距離,把各節(jié)點(diǎn)分配到距離簇中心最近的集群中。圖中節(jié)點(diǎn)0、1、2為簇中心節(jié)點(diǎn),其余為共識節(jié)點(diǎn),此時完成了初始聚類。節(jié)點(diǎn)分為3個集群,集群0包含節(jié)點(diǎn)0、3、4、5、6;集群1包含節(jié)點(diǎn)1、10、11;集群2包含節(jié)點(diǎn)2、7、8、9。

c)從步驟b)的最后聚類結(jié)果可以看出,存在分組不均或集群內(nèi)的延遲還未達(dá)到最優(yōu)的情況,因此會再次調(diào)整分配。遍歷所有節(jié)點(diǎn),通過式(4)對各節(jié)點(diǎn)進(jìn)行sum值計(jì)算,并把使集群sum值最小的節(jié)點(diǎn)分配到該集群。以集群0中的節(jié)點(diǎn)3為例,原集群0中的節(jié)點(diǎn)3在進(jìn)行sum值計(jì)算后,發(fā)現(xiàn)與所有集群相比,它最終會使簇中心1的sum值最小,節(jié)點(diǎn)3被分配到集群1中,節(jié)點(diǎn)3就是變換節(jié)點(diǎn)。同理,節(jié)點(diǎn)4、7、8、11也是變換節(jié)點(diǎn)。此時集群0中包含節(jié)點(diǎn)0、7、5、6;集群1中包含節(jié)點(diǎn)1、3、8、10;集群2中包含節(jié)點(diǎn)2、4、11、9。

d)分組完成,得到最終分組結(jié)果。節(jié)點(diǎn)5、6、7被分配到簇中心0所在集群,節(jié)點(diǎn)3、8、10被分配到簇中心1所在集群,節(jié)點(diǎn)4、9、11被分配到簇中心2所在集群。

2.3 基于節(jié)點(diǎn)穩(wěn)定性和信譽(yù)模型的主節(jié)點(diǎn)選擇機(jī)制

為了提升主節(jié)點(diǎn)的穩(wěn)定性,降低惡意節(jié)點(diǎn)參與共識的概率,設(shè)計(jì)了基于節(jié)點(diǎn)穩(wěn)定性和信譽(yù)模型的主節(jié)點(diǎn)選擇機(jī)制。首先明確節(jié)點(diǎn)類型,不同節(jié)點(diǎn)承擔(dān)不同責(zé)任;其次通過信譽(yù)模型對節(jié)點(diǎn)在共識中的不同行為給予信譽(yù)獎懲;最后提出了新的主節(jié)點(diǎn)選擇機(jī)制。本節(jié)將從節(jié)點(diǎn)類型、信譽(yù)模型和主節(jié)點(diǎn)選擇三個方面進(jìn)行介紹。

a)節(jié)點(diǎn)類型。在CD-PBFT算法中,根據(jù)節(jié)點(diǎn)在共識過程中所具有的不同責(zé)任分為主節(jié)點(diǎn)、共識節(jié)點(diǎn)和監(jiān)督節(jié)點(diǎn)三類。首先,系統(tǒng)中節(jié)點(diǎn)通過CD_K-means聚類算法進(jìn)行分組,分組后各集群內(nèi)節(jié)點(diǎn)即為共識節(jié)點(diǎn),共識節(jié)點(diǎn)的數(shù)量取決于系統(tǒng)中節(jié)點(diǎn)總數(shù);其次,主節(jié)點(diǎn)從共識節(jié)點(diǎn)中產(chǎn)生,各集群內(nèi)通過信譽(yù)排序和方差計(jì)算選取主節(jié)點(diǎn);最后,監(jiān)督節(jié)點(diǎn)由各組信譽(yù)最高節(jié)點(diǎn)擔(dān)任,監(jiān)督節(jié)點(diǎn)的數(shù)量取決于集群的數(shù)量。不同類型節(jié)點(diǎn)所具有的權(quán)限如表1所示。

不同類型的節(jié)點(diǎn)會承擔(dān)不同的任務(wù)。其中,主節(jié)點(diǎn)具有協(xié)調(diào)管理整個系統(tǒng)的能力,共識節(jié)點(diǎn)參與共識,監(jiān)督節(jié)點(diǎn)將監(jiān)督組內(nèi)節(jié)點(diǎn)行為,并且該節(jié)點(diǎn)作為跟隨者參與組內(nèi)共識。

b)信譽(yù)模型。本文設(shè)置Cmax為每個節(jié)點(diǎn)所能達(dá)到的最高信譽(yù)值,Cinit為節(jié)點(diǎn)加入系統(tǒng)的初始信譽(yù)值。其中,Cmax的值為100,Cinit的值為40。為了防止節(jié)點(diǎn)在信譽(yù)值達(dá)到Cmax以后,節(jié)點(diǎn)消極共識,設(shè)計(jì)一種信譽(yù)等級制度。在節(jié)點(diǎn)信譽(yù)值達(dá)到最高值后,節(jié)點(diǎn)等級會加1,等級高的節(jié)點(diǎn)會獲得更高的系統(tǒng)利益分配,保持節(jié)點(diǎn)參與共識的積極性。

在共識過程中,節(jié)點(diǎn)之間會進(jìn)行通信,一個節(jié)點(diǎn)通信的及時性和穩(wěn)定性極大影響著共識效率的高低,本文中節(jié)點(diǎn)信譽(yù)將從延遲指數(shù)、節(jié)點(diǎn)共識行為及節(jié)點(diǎn)歷史信譽(yù)三個方面進(jìn)行評估。

(a)延遲指數(shù)。其為衡量節(jié)點(diǎn)在系統(tǒng)中通信延遲的相對大小,公式為

D_indexi=d_optdi×K(5)

其中:D_indexi表示節(jié)點(diǎn)i的延遲指數(shù),是一個相對指標(biāo),可以根據(jù)節(jié)點(diǎn)的延遲指數(shù)優(yōu)化節(jié)點(diǎn)布局,以減少整體的通信延遲,延遲指數(shù)越小意味著該節(jié)點(diǎn)的通信性能相對較好,反之通信效率較差;d_opt為集群中節(jié)點(diǎn)與簇中心之間的最優(yōu)延遲;di為節(jié)點(diǎn)i與簇中心之間的通信延遲值;K取值100。

(b)節(jié)點(diǎn)共識行為。為了降低惡意節(jié)點(diǎn)對共識過程的影響,根據(jù)節(jié)點(diǎn)的共識行為進(jìn)行不同程度的信譽(yù)獎懲。如果節(jié)點(diǎn)積極參與共識,并生成有效區(qū)塊,則節(jié)點(diǎn)被認(rèn)為是誠實(shí)節(jié)點(diǎn),進(jìn)行信譽(yù)獎勵。如果節(jié)點(diǎn)出現(xiàn)宕機(jī)行為或作惡行為時,該節(jié)點(diǎn)被認(rèn)為是惡意節(jié)點(diǎn),并進(jìn)行信譽(yù)懲罰。信譽(yù)獎勵公式為

R_rewji=Rpreviousji+K1×V(6)

其中:R_rewji表示第j組中第i個共識節(jié)點(diǎn)誠實(shí)行為后的信譽(yù)值;Rpreviousji表示在上一輪共識中第j組中第i個共識節(jié)點(diǎn)的信譽(yù)值;K1取值0.1;V表示根據(jù)該節(jié)點(diǎn)在共識過程中的誠實(shí)行為所獎勵的固定信譽(yù)值。信譽(yù)懲罰公式為

R_punji=Rpreviousji-K2×V1

if i有宕機(jī)行為

Rpreviousji-K3×V2if i有作惡行為(7)

其中:R_punji表示第j組中第i個共識節(jié)點(diǎn)惡意行為后的信譽(yù)值;K2=0.2,K3=0.3;V1、V2分別表示節(jié)點(diǎn)在共識過程中出現(xiàn)宕機(jī)行為或作惡行為時所扣除的固定信譽(yù)值。

(c)綜合信譽(yù)值。它是延遲指數(shù)、節(jié)點(diǎn)共識行為和節(jié)點(diǎn)歷史信譽(yù)值三部分的總和。計(jì)算公式如下:

C(i)=α×D_indexi+β×Rji+λ×Rpreviousji(8)

其中:Rji表示節(jié)點(diǎn)根據(jù)共識行為信譽(yù)得到獎勵或懲罰后的最終信譽(yù)值;α、β、λ分別為三者的權(quán)重且權(quán)重之間滿足α+β+λ=1,α、β、λ的取值為[0.1,0.8],可以通過動態(tài)調(diào)整權(quán)重值來變換三個部分在信譽(yù)評估模型中所占比重。

c)主節(jié)點(diǎn)選擇。針對1.1節(jié)中的主節(jié)點(diǎn)選擇問題,本文設(shè)置了一種將信譽(yù)與方差結(jié)合的主節(jié)點(diǎn)選擇機(jī)制。主節(jié)點(diǎn)選擇機(jī)制具體如圖6所示,分為以下三個步驟:

(a)信譽(yù)排序。節(jié)點(diǎn)在每輪共識完成后都會通過信譽(yù)模型進(jìn)行信譽(yù)更新,在第N輪共識開始前會對節(jié)點(diǎn)進(jìn)行信譽(yù)值排序。圖中節(jié)點(diǎn)2為N-1輪共識后信譽(yù)最高節(jié)點(diǎn),節(jié)點(diǎn)m為信譽(yù)最低節(jié)點(diǎn),在進(jìn)行排序后,按信譽(yù)高低依次為節(jié)點(diǎn)2、3、4等,最末為節(jié)點(diǎn)m。

(b)計(jì)算信譽(yù)方差。首先根據(jù)步驟(a)的信譽(yù)排序選出前20%節(jié)點(diǎn)。由于參與信譽(yù)方差計(jì)算的節(jié)點(diǎn)比例越大,低信譽(yù)節(jié)點(diǎn)參與共識的可能性就越大,為保持主節(jié)點(diǎn)擁有高信譽(yù)條件,設(shè)置閾值為20%。其次對閾值內(nèi)節(jié)點(diǎn)進(jìn)行信譽(yù)方差計(jì)算。圖中根據(jù)信譽(yù)高低從節(jié)點(diǎn)2到n為信譽(yù)前20%的節(jié)點(diǎn),收集該范圍內(nèi)節(jié)點(diǎn)前N-1輪共識的信譽(yù)數(shù)據(jù)并進(jìn)行方差計(jì)算。

對于每個節(jié)點(diǎn)i(i屬于高信譽(yù)范圍節(jié)點(diǎn)),計(jì)算其在前N-1輪中的平均信譽(yù):

R_avei=1N-1∑N-1j=1Rij(9)

其中:Rij表示節(jié)點(diǎn)i在第j輪共識中的信譽(yù)得分。對于節(jié)點(diǎn)i再次計(jì)算其在前N-1輪中的信譽(yù)方差,計(jì)算公式為

R_vari=1N-1∑N-1j=1(Rij-R_avei2(10)

(c)選取主節(jié)點(diǎn)。在步驟(b)的基礎(chǔ)上,由于篩選出了高信譽(yù)節(jié)點(diǎn),只需要比較閾值內(nèi)節(jié)點(diǎn)的信譽(yù)方差,選擇方差最小的節(jié)點(diǎn)作為第N輪共識的主節(jié)點(diǎn)。

主節(jié)點(diǎn)選擇機(jī)制如算法2所示。

算法2 主節(jié)點(diǎn)選擇算法

輸入:節(jié)點(diǎn)信譽(yù)數(shù)組CreditArray;分組結(jié)果GroupResult。

輸出:i(主節(jié)點(diǎn)編號)。

Sum_r=[] //定義候選節(jié)點(diǎn)數(shù)組

Variance_r=[] //定義方差數(shù)組

for each node in GroupResult //遍歷參與共識的所有節(jié)點(diǎn)

GroupResult[i]←CreditArray[i] //得出節(jié)點(diǎn)信譽(yù)值

end for

Sum_r[node]←Sort.GroupResult[Twenty_per.node] /*對節(jié)點(diǎn)排序,將信譽(yù)前20%節(jié)點(diǎn)存儲在Sum_r中*/

for Sum_r[node] //遍歷前20%節(jié)點(diǎn)

Variance_r[i]←1N-1∑N-1j=1(Rij-R_avei2 //計(jì)算節(jié)點(diǎn)信譽(yù)方差

end for

i←Min.Variance_r[i] //選擇信譽(yù)高且方差小的節(jié)點(diǎn)作為主節(jié)點(diǎn)

return i //返回主節(jié)點(diǎn)

2.4 混合共識

2.4.1 抗拜占庭的Raft共識

Raft屬于強(qiáng)領(lǐng)導(dǎo)者型共識算法,在任意給定時刻,組中只有一個領(lǐng)導(dǎo)者負(fù)責(zé)處理所有的請求和決策,這種方式簡化了系統(tǒng)復(fù)雜性。PBFT算法的通信復(fù)雜度為O(n2),Raft算法憑借其強(qiáng)領(lǐng)導(dǎo)性,它的通信復(fù)雜度為O(n),相較于PBFT算法,具有更高的效率達(dá)成共識,但是不具備拜占庭容錯能力。當(dāng)系統(tǒng)中存在惡意節(jié)點(diǎn)時具有嚴(yán)重的安全隱患,故而在本文中引入監(jiān)督節(jié)點(diǎn)對Raft安全性進(jìn)行改進(jìn),監(jiān)督節(jié)點(diǎn)會監(jiān)督組內(nèi)的領(lǐng)導(dǎo)者,并且它只作為跟隨者參與組內(nèi)共識。監(jiān)督節(jié)點(diǎn)通過對收到的不同領(lǐng)導(dǎo)者的消息進(jìn)行比對驗(yàn)證來判斷領(lǐng)導(dǎo)者是否是惡意節(jié)點(diǎn),若無惡意節(jié)點(diǎn)就會將日志消息廣播給各個組內(nèi)節(jié)點(diǎn),監(jiān)督節(jié)點(diǎn)的監(jiān)督行為主要分為比對、驗(yàn)證和選舉三個階段。

a)比對。在組內(nèi)共識階段里,監(jiān)督節(jié)點(diǎn)會收集領(lǐng)導(dǎo)者下發(fā)組內(nèi)其他節(jié)點(diǎn)的消息,然后進(jìn)行比對確認(rèn),如果發(fā)現(xiàn)領(lǐng)導(dǎo)者下發(fā)的消息存在不一致的情況,則說明領(lǐng)導(dǎo)者有欺詐行為,否則進(jìn)行第二階段。

b)驗(yàn)證。監(jiān)督節(jié)點(diǎn)會向其他監(jiān)督節(jié)點(diǎn)請求驗(yàn)證,其他組內(nèi)監(jiān)督節(jié)點(diǎn)會將其監(jiān)督域內(nèi)領(lǐng)導(dǎo)者下發(fā)的消息發(fā)送給該監(jiān)督節(jié)點(diǎn),通過驗(yàn)證后,若確認(rèn)其他領(lǐng)導(dǎo)者下發(fā)的消息與該疑似惡意節(jié)點(diǎn)的領(lǐng)導(dǎo)者不一致,即可判定該領(lǐng)導(dǎo)者為惡意節(jié)點(diǎn)。

c)選舉。在識別領(lǐng)導(dǎo)者為惡意節(jié)點(diǎn)之后,將發(fā)送〈Info,Ni,t,term〉給全體成員,罷免領(lǐng)導(dǎo)者身份重新選舉。其中,Info為信息標(biāo)識,Ni為監(jiān)督節(jié)點(diǎn)編號,term為任期。

2.4.2 共識流程

在對所有節(jié)點(diǎn)進(jìn)行CD_K-means聚類算法分組后,形成兩級共識機(jī)制,由各組內(nèi)領(lǐng)導(dǎo)者組成的委員會內(nèi)部使用PBFT機(jī)制進(jìn)行共識,而各組內(nèi)采用改進(jìn)的Raft算法進(jìn)行共識,具體流程如圖7所示。節(jié)點(diǎn)0~3構(gòu)成的委員會內(nèi)部使用PBFT達(dá)成共識,其中節(jié)點(diǎn)0為PBFT階段主節(jié)點(diǎn),其余為共識節(jié)點(diǎn)。在各組內(nèi),節(jié)點(diǎn)0~3為組內(nèi)領(lǐng)導(dǎo)者,節(jié)點(diǎn)30、31、32、33分別為組1~4的監(jiān)督節(jié)點(diǎn),其余節(jié)點(diǎn)為跟隨者。

a)客戶端請求階段。客戶端發(fā)送數(shù)據(jù)請求消息res給節(jié)點(diǎn)0,開始委員會內(nèi)部PBFT共識。

b)PBFT預(yù)準(zhǔn)備階段。主節(jié)點(diǎn)0分別向節(jié)點(diǎn)1、2、3廣播預(yù)準(zhǔn)備消息〈〈pre-parepre,VN,reqID,res〉σp,dig(res)〉。其中,VN表示視圖編號,reqID為客戶端發(fā)起請求編號,主節(jié)點(diǎn)0對res進(jìn)行自身數(shù)字簽名得到〈res〉σp,dig(res)用來存儲res的摘要信息。

c)準(zhǔn)備階段。節(jié)點(diǎn)1、2、3接收預(yù)準(zhǔn)備消息并進(jìn)行檢查,若通過,共識節(jié)點(diǎn)1、2、3會相互廣播準(zhǔn)備消息,該準(zhǔn)備消息由各節(jié)點(diǎn)進(jìn)行數(shù)字簽名得到。當(dāng)各節(jié)點(diǎn)收到不低于2f個消息,則表示準(zhǔn)備階段完成。

d)確認(rèn)階段。節(jié)點(diǎn)0~3相互廣播確認(rèn)消息〈commit,VN,reqID,dig(res),i〉σi,各節(jié)點(diǎn)收到不低于2f+1個確認(rèn)消息,則該階段完成,進(jìn)入組內(nèi)共識。

e)組內(nèi)Raft共識。PBFT中節(jié)點(diǎn)0~3即為Raft各組內(nèi)領(lǐng)導(dǎo)者,各組內(nèi)都存在一個監(jiān)督節(jié)點(diǎn),其他節(jié)點(diǎn)為跟隨者。領(lǐng)導(dǎo)者0~3廣播消息。消息中包括區(qū)塊B、領(lǐng)導(dǎo)者編號Ni、消息簽名δi

(a)監(jiān)督節(jié)點(diǎn)對比消息。以組0為例,監(jiān)督節(jié)點(diǎn)30對領(lǐng)導(dǎo)者0下發(fā)的消息進(jìn)行收集并進(jìn)行對比驗(yàn)證,若在規(guī)定時間內(nèi)收到3n/4個相同交易集數(shù)據(jù)則進(jìn)行下一階段。

(b)監(jiān)督階段驗(yàn)證。監(jiān)督節(jié)點(diǎn)30會向其他監(jiān)督節(jié)點(diǎn)31、32、33廣播〈verify,Ci,dig,timestampR,term〉,其中verify代表驗(yàn)證消息,Ci是當(dāng)前組內(nèi)監(jiān)督節(jié)點(diǎn)編號,當(dāng)前區(qū)塊的交易集信息存儲在dig中,timestampR為時間戳,當(dāng)前組內(nèi)領(lǐng)導(dǎo)者0任期為term。驗(yàn)證本組領(lǐng)導(dǎo)者0下發(fā)信息與其他組領(lǐng)導(dǎo)者1、2、3是否一致,若一致,則驗(yàn)證成功。Ci在規(guī)定時間內(nèi)收到監(jiān)督節(jié)點(diǎn)31、32、33驗(yàn)證消息超過M/2,即向本組節(jié)點(diǎn)10、20、30發(fā)送確認(rèn)消息,否則,發(fā)送領(lǐng)導(dǎo)者重選信息。

(c)跟隨者回復(fù)階段。通過監(jiān)督驗(yàn)證后,各跟隨者響應(yīng)領(lǐng)導(dǎo)者0~3的消息,同步完成后,向領(lǐng)導(dǎo)者0~3發(fā)送回復(fù)消息。

f)PBFT提交階段。各領(lǐng)導(dǎo)者收到超過組內(nèi)一半數(shù)量的回復(fù)消息后認(rèn)為組內(nèi)達(dá)成共識,進(jìn)入提交階段,節(jié)點(diǎn)0~3向客戶端回復(fù)消息〈reply,VN,timestamp,C,i,req〉σi,其中req為本次請求最終執(zhí)行結(jié)果,C為客戶端編號。客戶端收到至少f+1個一致的回復(fù)消息后,本輪共識完成。

3 算法分析

3.1 安全性分析

本文CD-PBFT算法是PBFT算法的改進(jìn)版本,在由簇中心節(jié)點(diǎn)組成的委員會內(nèi)部共識中,其安全性由PBFT的共識特性保證。其中,預(yù)準(zhǔn)備、準(zhǔn)備和提交這三階段過程保證了拜占庭惡意節(jié)點(diǎn)不超過1/3時的系統(tǒng)安全性。在組內(nèi)共識中,設(shè)計(jì)了監(jiān)督節(jié)點(diǎn)來保證了系統(tǒng)中在含有拜占庭惡意節(jié)點(diǎn)時的安全性。監(jiān)督節(jié)點(diǎn)通過比對、驗(yàn)證、選舉三個步驟提高了Raft算法的抗拜占庭能力并對下述情況進(jìn)行了安全性保證:a)領(lǐng)導(dǎo)者下發(fā)消息不一致。對于這種問題,監(jiān)督節(jié)點(diǎn)會在收集信息后進(jìn)行對比驗(yàn)證,若出現(xiàn)驗(yàn)證失敗的情況,監(jiān)督節(jié)點(diǎn)向管理中心申請對該領(lǐng)導(dǎo)者的罷免,并觸發(fā)領(lǐng)導(dǎo)者重選舉機(jī)制。b)領(lǐng)導(dǎo)者發(fā)起虛假請求。領(lǐng)導(dǎo)者偽造請求下發(fā)到組內(nèi),監(jiān)督節(jié)點(diǎn)會通過向其他監(jiān)督節(jié)點(diǎn)發(fā)送請求驗(yàn)證消息進(jìn)行確認(rèn),若收到一定數(shù)量的成功消息則判定該領(lǐng)導(dǎo)者作惡,觸發(fā)領(lǐng)導(dǎo)者重選舉機(jī)制。c)領(lǐng)導(dǎo)者的惡意攔截。當(dāng)領(lǐng)導(dǎo)者對區(qū)塊請求進(jìn)行攔截時,監(jiān)督節(jié)點(diǎn)依舊能通過監(jiān)督策略中的驗(yàn)證步驟覺察領(lǐng)導(dǎo)者的惡意行為并更換該惡意領(lǐng)導(dǎo)者。通過上述分析方法,可以得出結(jié)論,CD-PBFT算法能夠在保證系統(tǒng)安全性的前提下進(jìn)行共識。

3.2 適用場景分析

自動駕駛車隊(duì)是車聯(lián)網(wǎng)技術(shù)的一個典型應(yīng)用,由多輛具備自動駕駛能力的車輛組成,這些車隊(duì)中的車輛需要實(shí)時共享路況信息、行駛計(jì)劃、緊急制動信號等關(guān)鍵數(shù)據(jù),以確保車隊(duì)的安全及高效運(yùn)行,對實(shí)時性和數(shù)據(jù)一致性的要求極高。區(qū)塊鏈提供了一個分布式的數(shù)據(jù)存儲和共享平臺,使得多個自動駕駛車輛之間能夠?qū)崟r地共享數(shù)據(jù),另外區(qū)塊鏈技術(shù)中的共識機(jī)制可以用于自動駕駛車隊(duì)中的決策協(xié)商過程。每輛車可以作為區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn),通過共識算法達(dá)成一致的決策。設(shè)想在基于區(qū)塊鏈的自動駕駛車隊(duì)實(shí)時調(diào)度與協(xié)同駕駛系統(tǒng)中,參與方包括自動駕駛汽車、云端服務(wù)平臺和監(jiān)管機(jī)構(gòu)。若在該系統(tǒng)中使用傳統(tǒng)PBFT共識算法會存在以下問題:a)缺少對實(shí)際應(yīng)用中延遲動態(tài)變化的考慮,會導(dǎo)致車輛不能及時獲得一致的信息并作出響應(yīng);b)缺少信譽(yù)機(jī)制,低信譽(yù)車輛會影響車隊(duì)的運(yùn)行及安全;c)缺少主節(jié)點(diǎn)選取門檻限制,出現(xiàn)提交錯誤數(shù)據(jù)或延遲大等問題的車輛擔(dān)任主節(jié)點(diǎn)會影響共識完成效率。

CD-PBFT算法通過通信延遲聚類分組和優(yōu)化的主節(jié)點(diǎn)選取機(jī)制,使自動駕駛車隊(duì)中的車輛能夠更快地交換數(shù)據(jù)并達(dá)成共識,提高了車隊(duì)的實(shí)時響應(yīng)能力,同時選取穩(wěn)定的車輛為主節(jié)點(diǎn)能避免因節(jié)點(diǎn)故障或性能問題導(dǎo)致的共識延遲和錯誤。提出的基于綜合評價的信譽(yù)模型激勵了車輛積極參與共識,同時識別和隔離低信譽(yù)節(jié)點(diǎn),確保了整體可靠性和安全性。綜上所述,CD-PBFT算法能較好地適用于實(shí)時性高的應(yīng)用場景。CD-PBFT在自動駕駛車隊(duì)中的部署可分為以下四個步驟。

a)節(jié)點(diǎn)初始化。將每輛自動駕駛汽車作為一個節(jié)點(diǎn),參與共識和數(shù)據(jù)交換,通過CD_K-means算法進(jìn)行聚類,使每個車隊(duì)中車輛間延遲最低。

b)數(shù)據(jù)收集。每輛自動駕駛汽車通過其內(nèi)置的傳感器實(shí)時收集路況信息、車輛狀態(tài)等數(shù)據(jù)。

c)實(shí)施CD-PBFT算法共識。將CD-PBFT算法作為共識機(jī)制,用于確保車輛間達(dá)成一致的決策和數(shù)據(jù)狀態(tài)。通過基于綜合評價的信譽(yù)模型對車輛進(jìn)行信譽(yù)評估,根據(jù)其行為進(jìn)行獎懲。使用本文提出的主節(jié)點(diǎn)選擇機(jī)制選擇車隊(duì)中信譽(yù)高且信譽(yù)穩(wěn)定的車輛作為主節(jié)點(diǎn),使用區(qū)塊鏈技術(shù)作為數(shù)據(jù)存儲和傳輸?shù)姆植际狡脚_,確保車輛能夠?qū)崟r共享路況、行駛計(jì)劃、緊急制動信號等關(guān)鍵數(shù)據(jù),每輛車產(chǎn)生的數(shù)據(jù)可以被記錄在區(qū)塊鏈上,形成不可竄改的數(shù)據(jù)歷史記錄。

d)實(shí)時監(jiān)控和反饋。通過監(jiān)管機(jī)構(gòu)檢測車輛狀態(tài)、共識過程的進(jìn)展和數(shù)據(jù)交換情況,及時發(fā)現(xiàn)并處理異常情況。使用云端服務(wù)平臺分析車隊(duì)數(shù)據(jù)和區(qū)塊鏈交易數(shù)據(jù),提供決策支持和優(yōu)化建議,定期向車隊(duì)成員反饋其表現(xiàn)評估結(jié)果。

3.3 通信開銷分析

本節(jié)對CD-PBFT共識算法單次共識所需的通信開銷與傳統(tǒng)PBFT及文獻(xiàn)[11]進(jìn)行對比分析。文獻(xiàn)[11]通過K-means對節(jié)點(diǎn)進(jìn)行聚類分組,同時優(yōu)化共識流程來達(dá)到降低整體通信開銷的目的,而CD-PBFT算法對K-means算法進(jìn)行了改進(jìn),因此相較于其他優(yōu)化算法,文獻(xiàn)[11]更具對比價值。在這里假設(shè)分組數(shù)為M,組內(nèi)節(jié)點(diǎn)數(shù)為n,因而總節(jié)點(diǎn)數(shù)為N=M×n。

a)PBFT算法的單次共識通信次數(shù)。正如前面所述,PBFT所有節(jié)點(diǎn)會進(jìn)行相互通信,在客戶端向主節(jié)點(diǎn)發(fā)送請求消息后,主節(jié)點(diǎn)將向N-1個從節(jié)點(diǎn)發(fā)送預(yù)準(zhǔn)備消息;在準(zhǔn)備階段,N-1個從節(jié)點(diǎn)會將準(zhǔn)備消息發(fā)送給除去自身外其他N-1個節(jié)點(diǎn),在這個過程中會產(chǎn)生(N-1)2次通信;在確認(rèn)階段,N個節(jié)點(diǎn)會向N-1個節(jié)點(diǎn)發(fā)送確認(rèn)消息,該階段產(chǎn)生N×(N-1)次通信。在完成回復(fù)階段后,系統(tǒng)內(nèi)節(jié)點(diǎn)完成整個共識階段的通信次數(shù)為

T1=1+(N-1)+(N-1)(N-1)+N(N-1)+N=2N2-N+1(11)

b)CD-PBFT算法的單次共識通信次數(shù)。該算法在由簇中心節(jié)點(diǎn)組成的委員會內(nèi)部共識階段和組內(nèi)Raft共識階段中均會產(chǎn)生節(jié)點(diǎn)通信。在前者共識中,會產(chǎn)生(M-1)2+M2次節(jié)點(diǎn)通信。而在Raft共識階段,會產(chǎn)生3Mn-2M次通信。因此,節(jié)點(diǎn)完成一次CD-PBFT共識所需的通信次數(shù)為

T2=(M-1)2+M2+3M(n-1)+M=2M2-4M+3Mn+1(12)

c)文獻(xiàn)[11]的單次共識通信次數(shù)。該算法對節(jié)點(diǎn)進(jìn)行分組后,組內(nèi)組外使用PBFT機(jī)制達(dá)成共識,整個共識階段的通信次數(shù)為

T3=(2n2-n-1)M+2M2-M=2M2+(2n2-n-2)M(13)

在假設(shè)分組數(shù)M=8的情況下,N=M×n,組內(nèi)節(jié)點(diǎn)數(shù)n≥4。可知T1=128n2-8n+1,T2=24n+96,T3=16n2-8n+112。比較T1、T2、T3大小如式(14)(15)所示。

T1-T3=112n2-111(14)

T3-T2=16(n-1)2(15)

當(dāng)n≥4時,T1-T3gt;0,T3-T2gt;0,從而可知T1gt;T3gt;T2。PBFT的通信開銷是最大的,文獻(xiàn)[11]次之,CD-PBFT的通信開銷最小。圖8為當(dāng)分組數(shù)為8,節(jié)點(diǎn)總數(shù)逐漸增加時,三種算法的通信開銷對比情況。可以看出,三種算法隨著節(jié)點(diǎn)總數(shù)增加,整體都呈現(xiàn)不同程度的上升趨勢。在節(jié)點(diǎn)總數(shù)比較少時,三種算法的通信開銷相對比較接近;當(dāng)節(jié)點(diǎn)總數(shù)增加以后,傳統(tǒng)PBFT的通信開銷呈現(xiàn)急速上升的趨勢;在節(jié)點(diǎn)總數(shù)相同時,CD-PBFT的通信開銷遠(yuǎn)低于PBFT與文獻(xiàn)[11]。這種現(xiàn)象的本質(zhì)原因是本文算法采用了分組和混合共識(PBFT+Raft)機(jī)制,而文獻(xiàn)[11]雖然使用了分組策略,但是組內(nèi)組外仍舊使用PBFT,因此本文算法具有更大優(yōu)勢。與PBFT和文獻(xiàn)[11]相比,CD-PBFT通信開銷分別平均降低了90.2%與58.1%,就總體而言,CD-PBFT通信開銷更低。

4 仿真實(shí)驗(yàn)

為了驗(yàn)證CD-PBFT的有效性,本實(shí)驗(yàn)在采用Intel CoreTM i7-13700H 2.40 GHz處理器、16 GB內(nèi)存的Windows 11系統(tǒng)環(huán)境下進(jìn)行,軟件環(huán)境為Go 1.14,通過配置多臺虛擬機(jī)加端口映射的方式模擬多節(jié)點(diǎn)環(huán)境,映射方式如表2所示。本章從主節(jié)點(diǎn)選擇效果、共識時延及吞吐量這三個方面對CD-PBFT與其他算法進(jìn)行對比實(shí)驗(yàn)分析。

信譽(yù)評估是一個動態(tài)過程,為了適應(yīng)節(jié)點(diǎn)變化,對信譽(yù)模型中的延遲指數(shù)、節(jié)點(diǎn)共識行為及歷史信譽(yù)設(shè)定了權(quán)重值。為了選出最適合的權(quán)重比值,考慮到延遲指數(shù)對分組結(jié)果和信譽(yù)模型的影響,實(shí)驗(yàn)中設(shè)置了三組延遲指數(shù)權(quán)重占比逐漸增長的方案,分別為(0.1,0.4,0.5)、(0.3,0.4,0.3)、(0.4,0.3,0.3),觀察延遲指數(shù)權(quán)重占比的逐漸增長對節(jié)點(diǎn)信譽(yù)的影響,實(shí)驗(yàn)結(jié)果如圖9所示。從圖9可以看出,隨著共識輪次的增加,節(jié)點(diǎn)信譽(yù)值在不同參數(shù)下呈上升趨勢,與其他參數(shù)曲線相比,當(dāng)權(quán)重設(shè)置為(0.1,0.4,0.5),節(jié)點(diǎn)信譽(yù)變化最平穩(wěn),且隨著延遲指數(shù)權(quán)重的逐漸增大,節(jié)點(diǎn)信譽(yù)變化越不穩(wěn)定。因此本文的權(quán)重參數(shù)最終設(shè)定為(0.1,0.4,0.5)。

4.1 主節(jié)點(diǎn)選擇效果

為了驗(yàn)證本文提出的主節(jié)點(diǎn)選擇機(jī)制是否比根據(jù)信譽(yù)高低選主機(jī)制具有更好的穩(wěn)定性,將CD-PBFT與KBFT[16進(jìn)行比較,KBFT具有改進(jìn)類算法中比較典型的選主方式,通過選擇信譽(yù)高的節(jié)點(diǎn)作為主節(jié)點(diǎn)來提高主節(jié)點(diǎn)安全性,以KBFT作為比較對象,更能突出CD-PBFT的選主效果。首先,測試了本文的主節(jié)點(diǎn)選擇機(jī)制,模擬了16個節(jié)點(diǎn)進(jìn)行10次共識,分析了節(jié)點(diǎn)在共識過程中存在不同行為時,節(jié)點(diǎn)信譽(yù)方差的變化情況。其次,對比了CD-PBFT和KBFT在不同共識輪次時,視圖更換次數(shù)的變化情況。CD-PBFT節(jié)點(diǎn)信譽(yù)變化如圖10所示,兩個算法的視圖更換次數(shù)對比如圖11所示。在圖10中,由于第1輪共識中主節(jié)點(diǎn)為初始簇中心節(jié)點(diǎn),且主節(jié)點(diǎn)選擇機(jī)制是對當(dāng)前共識的前N-1輪共識信譽(yù)進(jìn)行計(jì)算,所以為使得數(shù)據(jù)有效從第3輪開始。1號節(jié)點(diǎn)為中途作惡節(jié)點(diǎn),2、3為誠實(shí)節(jié)點(diǎn),4號節(jié)點(diǎn)為后進(jìn)入前20%信譽(yù)范圍的節(jié)點(diǎn),對于持續(xù)作惡節(jié)點(diǎn),會在信譽(yù)篩選中被排除在高信譽(yù)范圍外。從圖中可以看出,由于1號節(jié)點(diǎn)為中途作惡節(jié)點(diǎn),它在第3輪共識開始進(jìn)行持續(xù)作惡,在第6輪共識結(jié)束后也就是第7輪共識開始前進(jìn)行信譽(yù)篩選,被排除在高信譽(yù)范圍外。此時4號節(jié)點(diǎn)正好因?yàn)槠淞己霉沧R行為信譽(yù)累加到一定程度加入進(jìn)來,而2號與3號節(jié)點(diǎn)持續(xù)誠實(shí)行為,且2號節(jié)點(diǎn)的信譽(yù)方差在進(jìn)行實(shí)驗(yàn)的多次共識輪次中保持最低,在大部分共識中持續(xù)擔(dān)當(dāng)主節(jié)點(diǎn)。

從圖11可以看出,隨著共識輪次的增加,CD-PBFT和KBFT的視圖更換次數(shù)都呈現(xiàn)增長的趨勢。與KBFT相比,CD-PBFT的增長趨勢會更加緩慢,在相同共識輪次的情況下,CD-PBFT的視圖更換次數(shù)低于KBFT。這是因?yàn)楸疚乃惴ㄌ岢隽艘环N新的主節(jié)點(diǎn)選擇機(jī)制,從圖中可以看出,與常見的根據(jù)信譽(yù)高低選主方式相比,本文的選主方式使主節(jié)點(diǎn)具有更高的穩(wěn)定性。

4.2 共識時延

共識時延是客戶端發(fā)起請求到被確認(rèn)上鏈所需的總時間。假設(shè)節(jié)點(diǎn)在完成一次共識中,在Treq時刻客戶端發(fā)起請求,Treply為收到回復(fù)消息的時間。共識時延的計(jì)算公式為

DelayTime=Treply-Treq(16)

為了控制實(shí)驗(yàn)誤差,取多次共識時延測試結(jié)果的平均值為最終結(jié)果。在相同條件下,將本文算法與PBFT、Raft和文獻(xiàn)[11]這三種共識算法進(jìn)行時延對比分析,實(shí)驗(yàn)結(jié)果如圖12所示。

從圖12可以看出,四種算法在節(jié)點(diǎn)數(shù)量較少時的時延差別不大,都隨著共識節(jié)點(diǎn)數(shù)量的增加而逐步上升,傳統(tǒng)PBFT的共識時延隨著系統(tǒng)中節(jié)點(diǎn)數(shù)量的增加呈指數(shù)級增長,而Raft的時延是四種算法里增長最緩慢平穩(wěn)的。相比PBFT,CD-PBFT平均時延降低了68.3%。PBFT復(fù)雜的通信過程和惡意節(jié)點(diǎn)導(dǎo)致的頻繁視圖更換使得節(jié)點(diǎn)數(shù)增加時時延快速增大。由于文獻(xiàn)[11]與CD-PBFT都采用了分組策略優(yōu)化節(jié)點(diǎn)間的通信量,系統(tǒng)的時延都上升緩慢,相較于文獻(xiàn)[11],CD-PBFT呈現(xiàn)出上升的趨勢,但由于共識流程是混合共識,隨著節(jié)點(diǎn)數(shù)的增加,CD-PBFT的時延明顯低于文獻(xiàn)[11]。

另外,為了分析出CD-PBFT在不同場景下共識時延的變化情況,本實(shí)驗(yàn)通過控制分組數(shù)與組內(nèi)節(jié)點(diǎn)數(shù)進(jìn)行了測試,結(jié)果如圖13所示。

從圖13可以看出,對于CD-PBFT控制分組數(shù)增加組內(nèi)節(jié)點(diǎn)數(shù)和控制組內(nèi)節(jié)點(diǎn)數(shù)增加分組數(shù)這兩種情況,共識時延都呈現(xiàn)逐漸上升的趨勢,且隨著節(jié)點(diǎn)總數(shù)增加,控制組內(nèi)節(jié)點(diǎn)數(shù)(組內(nèi)節(jié)點(diǎn)數(shù)為4)比控制分組數(shù)的共識時延會更高。這是因?yàn)殡S著節(jié)點(diǎn)總數(shù)增加,保持組內(nèi)節(jié)點(diǎn)數(shù)不變(組內(nèi)節(jié)點(diǎn)數(shù)為4),增加分組數(shù),會造成PBFT共識的節(jié)點(diǎn)增多,進(jìn)而增加了共識時延。而保持分組數(shù)不變(分組數(shù)為8),只增加組內(nèi)節(jié)點(diǎn)數(shù),也會造成共識時延的增加,同樣是增加總節(jié)點(diǎn)數(shù),由于增加分組數(shù)實(shí)際上是擴(kuò)大了PBFT共識節(jié)點(diǎn)數(shù),增加了PBFT階段共識耗時,所以保持組內(nèi)節(jié)點(diǎn)數(shù)不變比保持分組數(shù)不變會引起更高時延。實(shí)驗(yàn)結(jié)果表明,CD-PBFT可以在節(jié)點(diǎn)規(guī)模擴(kuò)大時仍然具有較高的共識效率。

4.3 吞吐量

吞吐量是指系統(tǒng)在單位時間內(nèi)處理的事務(wù)數(shù)量。為了驗(yàn)證CD-PBFT的效率,與傳統(tǒng)PBFT和文獻(xiàn)[11]進(jìn)行了比較,實(shí)驗(yàn)測試了12、14、16、18、20、22和24個節(jié)點(diǎn)的三種算法的吞吐量,同樣,取多次測試結(jié)果的平均值為最終結(jié)果。吞吐量計(jì)算公式如下:

TPS=TransactionΔtΔt(17)

式(17)假設(shè)在Δt的出塊時間內(nèi)區(qū)塊能夠處理TransactionΔt條交易,系統(tǒng)中節(jié)點(diǎn)數(shù)量會對吞吐量有著很大影響。本實(shí)驗(yàn)測試了不同節(jié)點(diǎn)數(shù)量情況下三種算法的吞吐量,實(shí)驗(yàn)結(jié)果如圖14所示。從圖14可以看出,三種算法的吞吐量整體趨勢隨著節(jié)點(diǎn)數(shù)的增大而減小。CD-PBFT的吞吐量整體是最高的,PBFT的吞吐量是處于比較低的位置,相較于PBFT,CD-PBFT的平均吞吐量提高了126.8%。PBFT因?yàn)橛休^高的通信復(fù)雜度,并且需要全部節(jié)點(diǎn)參與共識導(dǎo)致吞吐量較低。且由于CD-PBFT引入的主節(jié)點(diǎn)選擇機(jī)制減少了視圖更換的次數(shù),在共識流程方面采用混合共識策略有效降低了通信開銷,所以CD-PBFT的吞吐量明顯高于文獻(xiàn)[11]及PBFT。不僅如此,與共識時延的測試相同,CD-PBFT同樣也進(jìn)行了不同條件下的吞吐量變化實(shí)驗(yàn),結(jié)果如圖15所示。

從圖15可以看出,隨著節(jié)點(diǎn)數(shù)量變化吞吐量呈現(xiàn)的趨勢是不一樣的。第一種情況(控制分組數(shù),增加組內(nèi)節(jié)點(diǎn)數(shù))的吞吐量逐漸上升,第二種情況(控制組內(nèi)節(jié)點(diǎn)數(shù),增加分組數(shù))的吞吐量緩慢下降,且在節(jié)點(diǎn)數(shù)為32時,兩者吞吐量相同。這是因?yàn)閷τ贑D-PBFT,控制分組數(shù)(分組數(shù)為8),適當(dāng)增加組內(nèi)節(jié)點(diǎn)數(shù),節(jié)點(diǎn)并發(fā)度是影響的主要原因,算法的共識效率影響較小,TPS逐漸增大。當(dāng)組內(nèi)節(jié)點(diǎn)數(shù)被控制在4,增加分組數(shù)時,共識效率是影響TPS的主要因素,因此分組數(shù)增加后,TPS逐漸下降。而當(dāng)節(jié)點(diǎn)數(shù)為32時,兩種情況的分組數(shù)和組內(nèi)節(jié)點(diǎn)數(shù)分別相等。實(shí)驗(yàn)表明,CD-PBFT確實(shí)具有比較好的性能,能更好地適用于對TPS有要求的聯(lián)盟鏈應(yīng)用場景。

5 結(jié)束語

本文提出了一種基于通信延遲聚類和節(jié)點(diǎn)信譽(yù)的共識算法CD-PBFT,能夠在保障系統(tǒng)安全性的條件下,降低系統(tǒng)通信開銷并提升系統(tǒng)運(yùn)行效率。本文采用CD-K-means聚類算法對節(jié)點(diǎn)進(jìn)行分組,通過將通信延遲與歐氏距離相結(jié)合的方式,使各集群內(nèi)延遲達(dá)到最優(yōu),提高共識效率。同時,提出基于綜合評價的信譽(yù)模型,依據(jù)節(jié)點(diǎn)行為和延遲差異進(jìn)行不同的信譽(yù)獎懲。最后,設(shè)計(jì)了新的主節(jié)點(diǎn)選擇機(jī)制,使主節(jié)點(diǎn)具有更高的安全性。實(shí)驗(yàn)結(jié)果表明,該算法具有低時延高吞吐量的高效優(yōu)勢。在主節(jié)點(diǎn)選擇方面,與選擇信譽(yù)高節(jié)點(diǎn)為主節(jié)點(diǎn)的方式相比,其具有更好的穩(wěn)定性。但是本文算法在節(jié)點(diǎn)動態(tài)加入退出方面還有待進(jìn)一步研究。未來將對算法繼續(xù)優(yōu)化,并在具體的應(yīng)用領(lǐng)域中進(jìn)行推廣應(yīng)用。

參考文獻(xiàn):

[1]Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. (2008) [2024-04-26]. http://bitcoin. org/bitcoin. pdf.

[2]Alsobhi H A, Alakhtar R A, Ubaid A, et al. Blockchain-based micro-credentialing system in higher education institutions: systematic literature review [J]. Knowledge-Based Systems, 2023, 265(1): 110238.

[3]Qu Zhiguo, Zhang Zhexi, Zheng Min, et al. A quantum blockchain-enabled framework for secure private electronic medical records in Internet of Medical Things [J]. Information Sciences, 2022, 612(1): 942-958.

[4]Tanwar S, Ribadiya D, Bhattacharya P, et al. Fusion of blockchain and IoT in scientific publishing: taxonomy, tools, and future directions [J]. Future Generation Computer Systems, 2023, 142(1): 248-275.

[5]Wu Ying, Wu Yanpeng, Guerrero J M, et al. Decentralized transactive energy community in edge grid with positive buildings and interactive electric vehicles [J]. International Journal of Electrical Power and Energy Systems, 2022, 135(1): 107510.

[6]Li Wangchun, Deng Xiaohong, Liu Juan, et al. Delegated proof of stake consensus mechanism based on community discovery and credit incentive [J]. Entropy, 2023, 25: 1320.

[7]Castro M, Liskov B. Practical Byzantine fault tolerance [C]// Proc of the 3rd Symposium on Operating Systems Design and Implementation. New Orleans: USENIX Association, 1999: 173-186.

[8]Yang Jian, Jia Zhenhong, Su Ruiguo, et al. Improved fault-tolerant consensus based on the PBFT algorithm [J]. IEEE Access, 2022, 10(1): 30274-30283.

[9]Liu Juan, Deng Xiaohong, Li Wangchun, et al. CG-PBFT: an efficient PBFT algorithm based on credit grouping [J]. Journal of Cloud Computing-Advances Systems and Applications, 2024, 13: 74.

[10]Zheng Xiandong, Feng Wenlong, Huang Mengxing, et al. Optimization of PBFT algorithm based on improved C4. 5 [J]. Mathematical Problems in Engineering, 2021, 4(1): 1-7.

[11]Sun Yi, Fan Ying. Improved PBFT algorithm based on K-means clustering for emergency scenario swarm robotic systems [J]. IEEE Access, 2023, 11: 121753-121765.

[12]李俊吉, 張佳琦. 基于信譽(yù)機(jī)制的改進(jìn)PBFT共識算法 [J]. 計(jì)算機(jī)應(yīng)用研究, 2024, 41 (6): 1628-1634. (Li Junji, Zhang Jiaqi. Improved PBFT consensus algorithm based on reputation mechanism [J]. Application Research of Computers, 2024, 41(6): 1628-1634.)

[13]李淑芝, 熊偉志, 鄧小鴻, 等. 基于完美二叉樹通信拓?fù)涞陌菡纪ト蒎e共識算法 [J]. 電子與信息學(xué)報(bào), 2023, 45(7): 2484-2493. (Li Shuzhi, Xiong Weizhi, Deng Xiaohong, et al. Byzantine fault-tolerance consensus algorithm based on perfect binary tree communication [J]. Journal of Electronics amp; Information Technology, 2023, 45(7): 2484-2493.)

[14]Micali S, Rabin M, Vadhan S, et al. Verifiable random functions [C]// Proc of the 40th Annual Symposium on Foundations of Computer Science. Piscataway, NJ: IEEE Press, 1999: 120-130.

[15]Liu Shannan, Zhang Ronghua, Liu Changzheng, et al. An improved PBFT consensus algorithm based on grouping and credit grading [J]. Scientific Reports, 2023, 13(1): 13030.

[16]Wu Xiaoxiong, Jiang Wangxi, Song Mingyang, et al. An efficient sharding consensus algorithm for consortium chains [J]. Scientific Reports, 2023, 13(1): 1-14.

[17]陳蘇明, 王冰, 陳玉全, 等. 基于節(jié)點(diǎn)分組信譽(yù)模型的改進(jìn)PBFT共識算法 [J]. 計(jì)算機(jī)應(yīng)用研究, 2023, 40(10): 2916-2921. (Chen Suming, Wang Bing, Chen Yuquan, et al. Improved PBFT consensus algorithm based on node grouping reputation model [J]. Application Research of Computers, 2023, 40(10): 2916-2921.)

[18]Yu Dengxiu, Xu Hao, Chen C L, et al. Dynamic coverage control based on K-means [J]. IEEE Trans on Industrial Electronics, 2022, 69(5): 5333-5341.

主站蜘蛛池模板: 久久久久久久97| 国产精品亚洲а∨天堂免下载| 欧美区一区| 国产麻豆精品手机在线观看| 在线a视频免费观看| 四虎永久在线| 黄色网站在线观看无码| 无码电影在线观看| 九九热视频精品在线| 国产精品hd在线播放| 亚洲日产2021三区在线| 欧美日韩国产综合视频在线观看 | 国产视频一区二区在线观看| 永久在线精品免费视频观看| 999国产精品永久免费视频精品久久 | 国产麻豆aⅴ精品无码| 国产成人综合网在线观看| 综合久久五月天| 亚洲成a人片| 色哟哟色院91精品网站| 久久成人免费| 成人免费午间影院在线观看| 亚洲人免费视频| 99九九成人免费视频精品| 色网站免费在线观看| 91欧美在线| 午夜欧美在线| 伦伦影院精品一区| 久久99这里精品8国产| 欧美亚洲一区二区三区在线| 婷婷在线网站| 无码 在线 在线| 久久综合伊人 六十路| 亚洲无线一二三四区男男| 国产女同自拍视频| 国产一区二区三区夜色| 久久久无码人妻精品无码| 日韩欧美一区在线观看| 国产精品极品美女自在线看免费一区二区| 国产精品中文免费福利| 国产精品午夜福利麻豆| 男女男免费视频网站国产| 无码免费视频| 欧美爱爱网| 欧美福利在线观看| 91小视频在线观看| 日韩小视频网站hq| 国产美女91呻吟求| 欧美午夜久久| 国产91高跟丝袜| 9966国产精品视频| 在线亚洲精品自拍| 国产在线日本| 91麻豆精品国产高清在线| 国产精品漂亮美女在线观看| 国产成人AV综合久久| 免费jizz在线播放| 国产一级毛片yw| 欧美www在线观看| 日本欧美视频在线观看| 国产成人高清精品免费| 免费一级成人毛片| 尤物在线观看乱码| 欧美在线一二区| 中文字幕66页| 日韩午夜福利在线观看| 国产精品网址在线观看你懂的| 国产中文一区a级毛片视频 | 欧美福利在线观看| 亚洲精品高清视频| 欧美黄网在线| 亚洲首页在线观看| 亚洲精品无码高潮喷水A| 毛片网站在线播放| 动漫精品啪啪一区二区三区| 国产福利一区视频| 亚洲欧美日本国产综合在线 | 国产精品jizz在线观看软件| 欧美亚洲第一页| 成人毛片免费在线观看| 在线中文字幕网| 在线无码私拍|