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

一種基于哈希圖的移動自組網區塊鏈模型

2023-10-18 14:58:04宮在為黃建華顧彬寧宇豪張文韜
計算機應用研究 2023年9期

宮在為 黃建華 顧彬 寧宇豪 張文韜

摘 要:針對移動自組網存在的網絡覆蓋范圍有限、連接不穩定、節點協同時易遭受惡意攻擊等問題,結合區塊鏈技術增加數據的安全性與完整性,提出一種基于哈希圖的移動自組網區塊鏈模型。首先,提出一種分簇算法,將節點劃分為不同的簇,選舉簇首統計簇內節點數量,并寫入事件中進行傳播,以保證共識的順利進行;其次,對Gossip協議進行優化,提出FS-Gossip(fast spreading Gossip)協議,減少鄰居節點選擇的盲目性,提高傳播效率,增大新入簇節點的檢測速度;最后,改進哈希圖中復雜的共識計算,并提出一種基于簇首優先的傳播機制,在簇內節點應用輕量級共識與傳播機制,以加快事件確認速度,降低時延,提升吞吐量。仿真實驗結果驗證了模型在時延、吞吐量與傳播效率方面的優勢。

關鍵詞:區塊鏈;MANETs;哈希圖;Gossip協議;分簇

中圖分類號:TP309?? 文獻標志碼:A

文章編號:1001-3695(2023)09-003-0000-00

doi:10.19734/j.issn.1001-3695.2023.01.0020

Blockchain model for mobile Ad hoc networks based on hashgraph

Gong Zaiwei, Huang Jianhua, Gu Bin, Ning Yuhao, Zhang Wentao

(School of Information Science & Engineering, East China University of Science & Technology, Shanghai 200237, China)

Abstract:Aiming at the problems of mobile ad hoc networks, such as limited network coverage, unstable connection, and vulnerability to malicious attacks when nodes cooperate, this paper combined with blockchain technology to increase the security and integrity of data and proposed a blockchain model for mobile Ad hoc networks based on hashgraph. Firstly, this paper designed a clustering algorithm, which divided the nodes into different clusters, selected cluster heads to count the number of nodes in the cluster, and writed them to events for propagation to ensure the smooth progress of consensus.Secondly, it optimized the Gossip protocol, and proposed the FS-Gossip (fast spreading Gossip) protocol, which reduced the blindness of neighbor node selection, improved the propagation efficiency, and increased the detection speed of new cluster nodes.Finally, it improved the complex consensus calculation in hashgraph, and proposed a propagation mechanism based on cluster head priority. The lightweight consensus and propagation mechanism was applied to nodes in the cluster to speed up event confirmation, reduce delay, and improve throughput. The simulation results verify the advantages of the model in terms of delay, throughput and propagation efficiency.

Key words:blockchain; MANETs; hashgraph; Gossip protocol; clustering

0 引言

移動自組網(mobile Ad hoc networks,MANETs)是由一群移動節點自發組成無線網絡的技術[1],無須基站等固定的基礎設施,成網快速,易于搭建,具有很強的靈活性,適用于基礎設施被摧毀的緊急情況,或無法建設基礎設施的臨時場景,如軍事、搶險救援、偏遠野外使用等。移動自組網中,每個節點地位平等,既可成為消息的發送方、接收終端,也具備路由器的功能。當消息接收方節點超出通信覆蓋范圍,即無法實現直接通信時,借助網絡中其他節點的轉發傳遞,多跳通信可將消息送達。

移動自組網中節點的移動性會導致網絡傳輸不穩定,節點之間進行協作時易遭受竊聽、欺騙等安全攻擊[2]。自2008年比特幣[3]誕生以來,區塊鏈技術走入人們的視野,并獲得廣泛關注。它是一種綜合了分布式系統、網絡技術、密碼學、博弈論等學科的新興技術模式,將賬本數據分布式存儲在全網節點上,并設計共識機制維護賬本一致,實現了沒有中心化第三方的去信任結構,具有去中心化、可溯源、不可竄改的特點,可以用來解決分布式系統中的數據安全問題。一些學者探討了移動自組網環境中應用區塊鏈的可能性,文獻[4]提出了一個基于區塊鏈的組密鑰分發方案以解決無人機自組織網絡面臨的安全問題。為了減輕網絡攻擊并增強基于NDN的移動自組網的網絡層信任,文獻[5]提出了一種基于區塊鏈的系統架構,可以有效發現中毒分發內容并檢測內部攻擊者。在移動自組網中,當網絡受節點移動性的影響分裂為多個分區時,多個分區獨立共識會導致區塊鏈出現分叉。為消除分叉,網絡合并后需要刪除較短的分支鏈以保留最長鏈,導致會丟失先前在獨立網絡中生成的部分數據。2015年,Lewenberg等人[6]通過將通常的區塊鏈替換為有向無環圖(directed acyclic graph,DAG),提出了一種對區塊鏈拆分和合并具有魯棒性的結構,允許任何區塊都可以有多個父區塊,從而可以使區塊鏈集成因分叉未集成到主鏈中的區塊交易。文獻[7]將MANETs中復雜的節點流動問題抽象為網絡分裂與網絡合并兩種情況。網絡發生分裂時會形成多個分區,為了保證區塊鏈的可用性,分區內節點需繼續進行共識,且挖礦產生區塊的速率要與新的網絡規模相適應。網絡發生合并時,首先需同步來自其他網絡分區的區塊,然后發起一個合并交易,并由此繼續挖礦,產生新的區塊。文獻[8]通過有向無環圖來解決網絡移動性引發的分區問題,設計了區塊圖(blockgraph)結構來適應網絡拓撲的變化,每個網絡分區可以獨立共識以延伸本地區塊鏈,發生網絡合并時,通過產生合并塊指向之前分區的端塊,以適配分區產生的分叉,最終構成區塊圖結構區塊鏈。

文獻[9]提出的哈希圖(Hashgraph)是一種用于聯盟鏈或私有鏈的共識模型,共識環境為異步網絡,與移動自組網環境相符。在哈希圖中,無須進行挖礦與leader選舉,依靠流言協議傳播新產生的事件,用虛擬投票代替真實投票,節省了網絡開銷。文獻[10]在此基礎上進行改進,提出了Teegraph。通過可信執行環境(TEE)保障了自父原則的正確運行,可以抵御雙花攻擊,同時對區塊設置了傳播終止條件,解決哈希圖空區塊傳播造成的存儲浪費的問題。雖然哈希圖為MANETs環境中應用區塊鏈提供了一種可行的解決方案,但也存在一些問題。首先,移動自組網節點的頻繁移動會引發網絡拓撲動態變化,而哈希圖節點間地位平等,以全網共識為主,網絡發生分區時,節點無法得知分區內節點的數目,阻礙了分區內共識的進行;其次,哈希圖采用Gossip協議傳遞事件消息,對鄰居節點的選擇具有隨機性,影響了通信效果,并且不能迅速檢測出信息量較多的新入簇節點;最后,移動自組網節點資源有限,電池能量比較珍貴,而哈希圖共識計算復雜,步驟多,時延較高,會消耗較多的設備資源。

本文對以上不足進行改進,提出一種基于哈希圖的移動自組網區塊鏈模型。該模型首先將無秩序的移動節點劃分成簇,并選舉簇首,以分層結構代替平面結構,減少節點移動帶來的控制開銷,并由簇首負責統計簇內節點數量,寫入事件中進行傳播,解決了缺少關鍵參數無法進行簇內共識的問題,提高了網絡管理能力;其次,對Gossip協議的不足進行改進,提出FS-Gossip(fast spreading Gossip)協議,以增大有效信息交換的概率,減少通信資源浪費;最后,對復雜的哈希圖共識進行改進,簡化了共識流程,并提出一種事件傳播機制,明確了事件的傳播方向,提高事件擴散的速度,降低時延。

本文的主要貢獻如下:a) 提出一種基于權值的分簇算法,并將簇首選舉的權值寫入事件中,代替節點間互相交換權值的方法,減少了通信開銷;b) 針對原始Gossip協議傳播效率較低的問題,提出一種快速FS-Gossip協議,減少鄰居節點選擇的盲目性,提高新入簇節點的檢測速度;c) 提出一種簡化的哈希圖共識機制,降低了事件確認的時延,提升區塊鏈的性能,同時提出一種基于簇首優先原則的傳播機制,加快事件的傳播速度。

1 相關工作

1.1 分區共識

區塊鏈最核心的部分是共識層,共識層應用共識算法實現全網節點數據的一致性,共識算法決定了區塊鏈的性能與效率。分區(partitioning)將節點劃分為不同分區,分而治之,并行共識,是一種提高區塊鏈性能和擴展性的有效方法[11],同時分區共識也與移動自組網的分簇共識相適應。Elastico[12]首先提出了區塊鏈分區的設計,節點運行PoW隨機進行分區,分區內共識使用PBFT,然而分區時挖礦的難度不好控制。OmniLedger[13]采用RandHound方案產生無偏隨機數,保證了分區的隨機性,卻可能導致單一分區內節點數量過少,降低區塊鏈安全性。文獻[14]提出一種基于雙鏈模型的分區共識協議,節點先進行地址隨機分區,交押金成為權益人,所擁有的權益再按份額隨機分區,避免分區內權益較大的節點壟斷出塊權,提升了權益分區的安全性。以上分區方法可以提前設計,屬于主動分區方法,網絡環境為部分同步,不同分區間同步數據延時較低。部分同步網絡模型對消息的到達時間作出假設,要求消息傳播有確定的時延上限,一旦網絡分裂,共識可能終止,抗攻擊性較差。而移動自組網的節點均處于不可預測的移動狀態中,發生網絡分裂后節點將依據地理位置被動進行分區,并在分區內繼續進行共識,不同分區間的區塊延時受諸多因素影響,消息傳輸沒有確定的時延上限,允許異步到達,情況更加復雜。

1.2 改進Gossip協議

Gossip協議(又稱流言傳播協議)具有簡單高效的特點,以及很好的可擴展性與魯棒性,常用于大規模點對點網絡的數據分發與傳播,然而原始Gossip協議在具體應用中可能引起冗余與延時,許多學者對Gossip協議進行研究,提出不少改進方案。文獻[15]提出一種基于 Gossip 的先推后拉的快速數據分發方法,主動推送和被動請求的切換以當前網絡中有效鏈路的概率閾值為分界點,減少了分發冗余量與帶寬浪費。文獻[16]提出一種改進的節點選擇算法 MR-Gossip(most reliable Gossip),結合模糊理論提出基于可靠性的節點選擇策略,提高搜索效率。文獻[17]提出基于改進Gossip協議的數據同步方法。運用環算法選舉領導者,提高數據同步效率,減少數據同步對系統整體性能的影響。文獻[18]提出一種樹型結構的傳播路由模型,加快傳播速度,降低收斂的時間,減少冗余。文獻[19]提出極化的Gossip協議,設置兩種Gossip轉發概率,傳播方向正確時加大擴散的概率,反之使用衰減概率。文獻[20]提出基于Gossip協議的信任收集共識算法,節點通過評估鄰近節點的信息度選擇通信節點,消息在通信過程中收集信任值,超過閾值,消息達成共識。目前改進方案大多應用于同步網絡,主要篩選信息度較高的鄰居節點進行通信,而在移動自組網環境中,節點在不同分簇間移動,新入簇節點會攜帶其他分簇的信息,為保證數據的安全性與一致性,這些新信息需迅速在該簇節點中同步并達成共識,所以除信息度這一因素,改進Gossip協議還需考慮節點的入簇時間,以加快新入簇節點的檢測速度。

2 基于哈希圖的移動自組網區塊鏈模型

2.1 模型結構

移動自組網邏輯上分為平面式和層次式兩種結構。平面式結構的特點是所有節點地位平等,網絡健壯性較強,但當網絡規模增大時,用于發現路由和位置管理的控制報文也隨之迅速增加,網絡效率顯著降低,存在可擴展性問題。層次結構將網絡節點劃分到不同的簇中,每個簇選擇一個簇首負責簇的管理,可以有效解決移動自組網的可擴展性問題,因此本文針對分簇結構研究移動自組網區塊鏈模型。圖1為本文采用的移動自組網分簇結構,相較于完全的分布式結構,分簇結構可以節省拓撲變化造成的控制開銷,更有利于Ad hoc網絡的擴展和管理,提高網絡的性能與實用性。通過分簇算法,將網絡中所有節點依據地理位置聚合成不同的簇。分簇后,有簇首、簇成員、網關三種角色,分別發揮不同的傳播作用,其中網關節點用于連接相鄰分簇,在不同分簇間傳遞信息實現跨簇通信。

形成簇結構后,每個節點在本地存儲一張全網的哈希圖,通過FS-Gossip協議選擇信息收益較大的鄰居節點,進行通信,更新并維護本地的哈希圖。節點產生或接收新事件,將按照一種傳播機制進行事件傳播,提高擴散的速度。

節點移動會導致網絡不斷發生分裂與合并,可能使某一分區內節點數量較少,這時如果惡意節點發動女巫攻擊,偽造多個身份控制共識過程,會嚴重影響系統的安全性,所以需對所有加入網絡的節點進行身份認證,本文假設模型應用場景為聯盟鏈或私有鏈。

2.2 哈希圖

本文基于哈希圖構建面向移動自組網的區塊鏈模型。2016年提出的哈希圖是一種基于Gossip協議的DAG共識算法,網絡中每個節點都在本地保存一張哈希圖,節點間通過Gossip協議更新本地副本,延續哈希圖。哈希圖中沒有區塊,由許多事件(event)組成,每個事件代表發生了一次Gossip通信,如圖2所示,節點A與D通信,接收了節點D當前哈希圖副本中的全部事件,更新結束時,節點A產生一個新事件,指向自身的上一個事件與節點D的當前事件,以新事件記錄本次的Gossip活動。哈希圖保存了節點間發生Gossip的歷史記錄,通過哈希圖可以清楚地看到事件傳播的路徑,即節點于何時、何處更新了本地的副本,事件在不斷地傳播中被其他節點見證并達成共識。

哈希圖用虛擬投票代替實際投票,具有節省通信開銷的優點,圖中完整保存了所有的交易信息,不會丟失交易。哈希圖完全異步,沒有leader,也無須工作量證明,因此本文將哈希圖用于網絡動態變化,不斷發生分裂與合并的MANETs環境。哈希圖事件結構如圖3所示,交易信息一項可以為空,當節點暫無交易,又收到其他節點的新事件,為了進行存儲與投票,就會創建一個空事件。

哈希圖通常應用于共識成員固定的聯盟鏈中,并假設成員節點的數量已知,進而判斷是否達到2/3的共識門檻。然而,在拓撲動態變化的MANETs環境中,全網節點被劃分為多個簇,簇成員形成共識組進行共識以繼續協同工作,節點移動性會導致節點不斷加入和離開簇,成員的動態變化使得節點無法及時獲知簇內節點數量,給簇內共識帶來挑戰。此外,哈希圖共識流程長,計算復雜,時延較高,會消耗較多的設備資源。針對這些問題,本文對分簇算法和Gossip協議進行改進,使得哈希圖可以更好地適配移動自組網區塊鏈的共識。本文設計了兩種特殊的事件結構,分別為選舉事件與簇首見證事件,選舉事件用于簇首選舉,簇首見證事件用于傳播簇內節點數量這一參數,將在后文介紹。

2.3 分簇算法

分簇是一種常見的應用于移動自組網的節點管理方法,模型將無規則無秩序的移動自組網節點劃分成簇,分而治之,與未分簇相比,節省了動態拓撲帶來的全局控制開銷,更有利于事件的傳播,同時提高了網絡的可擴展性。分簇時,節點依據地理位置,獲取鄰居列表,協同任務的節點組成一個簇,簇內任意節點間依靠單跳或多跳通信,可將消息傳達。超出分簇通信范圍的節點,可以加入其他分簇,或成為未分簇的自由節點。

分簇算法通常需選舉簇首對分簇進行管理,現有算法大多將簇首選舉所參考的數據值進行全網廣播,即網絡中所有節點廣播自己的數據,同時接收其他節點的數據,進行比較,按照算法定義的規則選出合適的簇首節點,該方法通信復雜度較高,占用較多的通信資源,可能導致區塊鏈在簇首選舉期間不可用。本文利用哈希圖傳播事件分布存儲的特點,對事件結構進行改進,借用事件的傳播散發選舉數據,將通信開銷由O(n2)降為O(n),同時保證區塊鏈的可用性。

本文簇首選舉算法設計如下:首先,所有節點進行初始化,建立自己的鄰居視圖,并獲得一些自身的性能數據。然后,節點綜合連接度、跳數和、活躍度、相對移動性、電池能量五個因素,代入權值公式算出能力值。本文通過設計一種特殊的事件結構,借助事件傳播捎帶能力值數據,減少節點間通過消息交換能力值數據造成的通信開銷。簇首選舉期的事件結構如圖4所示,其中包含時間戳、交易、自父事件的哈希值、其他父事件的哈希值以及能力值五個字段,增加的能力值字段用于選舉簇首。

通過在事件中增加能力值(capacity value)字段,節點存儲新事件的同時也獲得了其他節點的能力值數據。選舉事件可以附帶交易信息,在未選出簇首時,節點仍能發布交易,不影響區塊鏈功能的正常運行,待簇首選舉完成后對含有交易的事件進行共識確認。當簇內所有節點均發出了選舉事件,哈希圖中能力值最大的節點成為簇首。最后,所有節點確認自己的身份,簇首整理出當前簇成員列表,在同步哈希圖時,生成具有特殊結構的簇首見證事件,將簇內節點數量與成員列表傳播給其他節點,保證共識的順利進行。 分簇算法的流程如圖5所示。

本文將移動自組網的拓撲結構抽象成一張簡單的有向圖,記作G=(V,E),這里V表示網絡中所有節點組成的集合,E為邊集,表示兩個節點間是否可以直接通信。下面對使用的參數進行定義:

a)節點ID。移動自組網中每個節點具有唯一的標識,節點i的ID記為IDi。

b)鄰居節點集合。節點一跳鄰居視圖中的所有節點構成的集合,記為N(v)。

c)鄰居節點變化率。存在兩個時刻t1,t2,得到兩個時刻總共出現的鄰居節點數目為|N(v)t1∪N(v)t2|,兩個時刻重合的鄰居節點數目為|N(v)t1∩N(v)t2|,則

NCR(v)=|N(v)t1∩N(v)t2||N(v)t1∪N(v)t2|(1)

d)連接度。節點擁有鄰居節點的數量,記為Cd(connectivity degree),Cd=|N(v)|。

e)可通信節點列表。由節點在一跳或多跳通信范圍內可到達的節點組成,表中記錄節點ID與對應的跳數,節點通過周期性與鄰居節點交換此表來進行更新,記為ntable。

f)跳數和。節點將可通信節點列表中的跳數進行相加,跳數越少,節點的通信便利度越高,記為Hs(hop sum)。

設可通信節點列表中共有n個節點,即

Hs=∑ni=1ntable.hopi(2)

g)活躍度。節點在上一個epoch中創建事件的頻率,記為Ef(event frequency)。

h)相對移動性。節點相較于附近節點,移動性的強弱,記為Rm(relative mobility)。

i)電池能量。表示節點剩余的電池能量的多少,記為Bp(battery power)。

考慮到移動節點運算能力有限,因此簡化了相對移動性的計算,規定其近似等于鄰居節點變化率的倒數,即

Rm=1NCR(v)(3)

NCR(v)的值越大,節點的鄰居變化越小,節點越穩定,相對移動性越弱。

能力值計算公式為

Capacity(v)=αCd+βHs+γEf+δ1Rm+εBp(4)

Capacity(v)=αCd+βHs+γEf+δNCR(v)+εBp(5)

其中:α+β+γ+δ + ε=1。

可根據系統運行狀態調整每項的權重,改變簇首選舉的側重點,以獲得更高的系統性能。

分簇成功后產生了簇首、簇成員和網關三種角色。簇首負責統計每一輪次中簇成員的數量,收集并管理本簇及其他簇產生的新事件,并依據傳播機制運行Gossip算法;簇成員承擔中間路由的功能,在傳播過程中檢查事件,存儲簇內一致的分布式賬本;網關是指能與兩個或多個簇直接通信的節點,負責簇間事件的傳播,連接不同簇,提高了區塊的擴散效率。

分簇完成后,節點維護鄰居列表,發送的Hello消息格式為

Helloi = (IDi | Statusi | hopi | eventi | tlivei | timestamp | ski(hash))

其中:字段IDi表示節點i的唯一標識ID;Statusi表示節點i的狀態,如果節點未分簇,值為0,如果節點是網關節點,值為1,如果節點是簇成員節點,值為分簇ID(clusterID),本文設置分簇ID為簇首ID; hopi表示節點i距離簇首的跳數;eventi表示節點i擁有事件的數量;tlivei表示節點i從該簇誕生起,在簇內生存的時間,一旦節點離開該簇,tlivei清空為零;timestamp表示節點i發出消息的時間戳;ski(hash)表示節點i將整條消息取哈希值,并用私鑰簽名,防止其他節點偽造消息,提高安全性。

為了保證系統的安全性,簇首需要定期更換。然而,頻繁地分簇會引起網絡動蕩,使區塊鏈的性能下降。因此,本文模型采用劃分任期、簇首失效時發起替換的機制,規定簇首的任期為一個紀元(epoch),若紀元未結束,而簇首出現故障無法工作,或在運動中移出該簇,則觸發簇首更換算法,節點產生選舉事件,選出新的簇首。如果當前紀元已結束,該簇所有節點更新自身性能數據,重新計算能力值并創建簇首選舉事件,選出新的簇首,開啟下一個紀元。簇首更換算法如算法1所示。

算法1 簇首更換算法

輸入:出現故障的當前簇首節點。

輸出:新的簇首節點。

while (node CurrentCH fails) do // 節點CurrentCH表示當前簇首節點

if (current epoch ends = = true) // 判斷當前epoch是否結束

Call clustering algorithm ; /* 如果當前epoch結束,調用分簇算法,重新分簇 */

else

create election event ; // 創建簇首選舉事件

exchange election events and grow local Hashgraph ; /* 交換選舉事件,并發展哈希圖*/

check the max number of capacity value in local Hashgraph ; /* 在本地哈希圖副本中查找最大的能力值 */

node N = getNodeID (max number) ; // 獲得該節點的ID

node N becomes NewCH ;// 新簇首選舉結束

end if

end while

2.4 FS- Gossip協議

本文針對移動自組網的需求,對Gossip協議進行了改進。Gossip協議于1978年被提出,是一種簡單高效的數據分發方法,具有良好的可擴展性與魯棒性,在點對點網絡中發揮關鍵的作用。當一個節點需要同步消息時,它不與服務器進行連接,而是隨機從對等的鄰居節點中選擇節點轉發消息,其他節點收到消息后同理,該過程類似于流行病或謠言的傳播。常見的Gossip協議交換信息有三種方法:

a) 基于推(push)的方法,節點A將信息發送給節點B,節點B根據收到的信息進行更新;

b) 基于拉(pull)的方法,節點A向節點B主動請求,節點B將信息發給節點A,A進行更新;

c) 基于推/拉(push/pull)的方法,A與B相互發送信息給對方。

哈希圖中采用了基于拉的方法,即節點隨機請求一個鄰居節點,該鄰居節點將存儲的所有事件發送給原節點,原節點更新本地的哈希圖并創建一個新事件,代表了此次Gossip過程。

然而,Gossip協議具有隨機性與盲目性,進行鄰居的選擇時,不同節點的概率是相等的,容易造成延時與冗余,浪費通信資源,使性能下降,無法滿足移動自組網的需求。為了更快速地傳播事件,提高復制速度,節點應增大優質鄰居節點的選擇概率,進行有效的信息互換,減少無效的Gossip次數,避免冗余的通信量與資源浪費,本文提出改進的Gossip協議,即FS-Gossip(fast spreading Gossip)。

在FS-Gossip協議中,假設節點Nodei共有m個鄰居,鄰居節點列表為{n1,n2,…,nm},從本地哈希圖事件的時間戳,可得節點Nodei上一次與鄰居節點nj (1≤j≤m)發生Gossip的時間為t0(i,j),當前時間為t。節點Nodei周期性發送Hello消息,維護鄰居列表,并通過鄰居節點回復的Hello消息中的參數值計算概率,選擇概率較高的鄰居節點進行拉,實現Gossip信息收益最大化。

設k為收益預估值,k計算公式如下:

k=μ |eventi-eventj|+λ(t-t0(i,j))(6)

其中:0≤μ≤1,0≤λ≤1·μ、λ為歸一化調節因子。當節點處于同一分簇時,節點擁有事件數量的差值越大,距離上一次Gossip同步過去的時間越久,預估發生Gossip后的信息收益越大。

當一節點離開它所在簇,加入Nodei節點所在簇,成為Nodei節點的鄰居時,由于該節點可能存儲了其他簇的事件,有效信息更多,可知該節點被選中的概率應高于同簇的其他鄰居節點,發生Gossip的優先級更高。

將k代入概率p的計算公式:

p=11+e-(φk+ω)? 0≤p≤1(7)

其中:φ為調節系數,防止φk值過大,影響公式的效果;ω為判斷項,通過將Hello消息中的簇內生存時間字段tlive與設置的閾值相比較,可判斷該鄰居節點是否處于同簇。若該節點簇內生存時間大于閾值,可推知處于同簇,ω值為0;反之,簇內生存時間小于閾值,可推知該節點為新節點,要么離開其他簇加入此簇,要么是新加入區塊鏈網絡的節點,這時,ω取上限值,以提高與之進行Gossip的概率。

ω=0?? tlive>bounduppertlive

其中,被判定為同簇節點的閾值bound與簇首上一輪次(round)共識所用時間及事件差異率有關。上一輪所用共識時間越長,閾值越高,簇內生存時間不足一個輪次的新節點將被快速檢測出來。事件差異率大,說明新節點信息差較大,閾值也將提高。

哈希圖中節點同步事件時,為節省帶寬開銷,通常不直接發送一張完整的哈希圖,而是發送一張節點存儲事件表,表中記錄了對不同節點分別存儲了多少事件,對面節點根據此表,將缺少的事件補給原節點。

設全網共v個節點,節點Nodei與其鄰居節點nj發生存儲差異的事件數量計算公式如下:

difference(i,j)=∑vr=1|store(i,r)-store(j,r)| (9)

可以得到相比于節點Nodei,事件差異率為

eventrate=difference(i,j)eventi(10)

閾值將依據簇內運行狀態與新節點存儲情況,進行動態調整,計算如下:

bound=(1+eventrate)tround(11)

2.5 共識算法

哈希圖的共識中,每個節點首先產生一個見證事件,隨著Gossip的不斷進行,當節點存儲的副本中能看到超過2/3個上一輪的見證事件時,就產生新一輪的見證事件。達成共識需要經過虛擬投票、統計投票、確定聲望三個階段,結果是一個事件至少經過三輪,才能達成共識,劃分輪次計算復雜,消耗了設備資源,且事件確認的時延較高。本文對共識過程進行了簡化與改進,設置共識結果有簇內共識與全網共識兩種。若一個事件被簇內超過2/3的節點直接或間接地引用,則達成簇內共識;若一個事件被全網超過2/3的節點直接或間接地引用,則達成全網共識。在移動自組網環境中,隨著節點的自由移動,網絡完全徹底地分裂,沒有網關節點時,不同分簇間很難直接通信,導致最終達成全網同步的時間不可預知,故以簇內共識的時延為準,縮短達成共識所需的時間。

確定簇內節點的成員和數量,對簇內共識的達成具有關鍵作用。如圖6所示,本文將簇首發出的見證事件設置為特殊結構,增加了簇內節點數量、簇成員列表兩個字段。在每一輪共識中,簇成員節點通過簇首發出的見證事件,獲知本輪簇內節點數量與成員列表,從而可以判斷是否達到創建見證事件的門檻。簇內節點發生變動共有兩種情況:一種由節點數的改變直接顯示出來;另一種節點數未變,但簇成員組成發生變化。通過簇首見證事件攜帶的信息,簇內節點可以及時獲知成員情況,進而判斷是否達成共識。

本文的快速共識過程包括兩個步驟,事件最少經過兩輪就能確認。第一步為尋找候選的極佳見證事件(superb witness event),第二步為統計投票,判斷是否確定成為極佳見證事件,并劃分出達成共識的事件。當任意節點創建第n輪見證事件時,說明該節點已經收到超過分簇節點數2/3的n-1輪的見證事件,在這些上一輪次的事件中,如果存在一條或多條路徑,從同一個見證事件起始,連接了其他所有事件,那么這一見證事件就成為極佳見證事件。即存在一個見證事件,在同輪次中,被超過2/3的簇內節點引用過,該事件就達成共識,被該事件引用的所有父事件也達成了共識。共識確認示意圖如圖7所示。

假如某一時刻的全局哈希圖如圖7(a)所示,分簇中的節點B創建第三輪B3見證事件時,從圖7(b)本地哈希圖副本中可以發現D2→A2和D2→B2這兩條路徑,分簇中節點數目為4,路徑中節點的數目超過了2/3的共識門檻,可以得知D2為極佳見證事件,D2所引用的所有第一輪的事件達成了共識。同理,從圖7(c)中可以發現,節點C創建C3見證事件時,看到D2被A2、B2、C2均驗證過,也能得到D2為極佳見證事件,并劃分出共識確認的事件。

如果節點創建第n輪見證事件時,發現本地哈希圖副本中,不存在滿足條件的n-1輪極佳見證事件,就繼續創建新事件,不斷地從鄰居節點處同步最新的副本,發展哈希圖,直到找出極佳見證事件。

3 傳播機制

本文設計一種基于簇首優先的傳播機制,包括簇內傳播與簇間傳播兩種傳播方式。節點收到新的含交易事件后,根據鄰居節點Hello消息中的跳數(hop)進行篩選,選擇更靠近簇首的鄰居節點傳播本地副本,通過明確事件的傳播方向,確保簇首優先收到包含交易事件并進行檢查,以加快事件的傳播速度與新入簇節點的發現速度,降低傳播冗余。

3.1 簇內傳播機制

事件的簇內傳播,總體思路為簇成員節點收到含交易的非空事件后,先檢查本地哈希圖副本中是否有簇首發出的事件引用過它,如沒有引用則判定為新交易事件,則先沿著跳數減少的方向傳播事件,優先讓簇首更新本地哈希副本,保存該事件,在簇首引用后,再沿著跳數增加的方向,傳播給簇內其他節點。簇內傳播過程如圖8所示。

圖8(a)中簇內一個成員節點產生了一個新的含交易事件,標記為單詞event的首字母“e”,該節點隨即將新事件以Gossip的方式傳播給鄰居節點,鄰居節點收到事件后,檢查本地哈希圖副本,發現簇首未直接或間接引用過該事件,則調用簇首優先(CH-First)算法,沿著跳數減少趨近簇首的傳播路徑,篩選鄰居節點進行傳播,簇首優先算法的執行過程如算法2所示。其他節點收到事件后同理,如圖8(b)所示。簇首收到事件,檢查格式、私鑰簽名無誤后,就傳播給鄰居節點,如圖8(c)所示。成員節點收到含有簇首引用事件的哈希圖,則按照跳數增加的方向進行傳播,最后,簇內全部節點都會收到該事件。通過明確事件傳播方向,可以建立有效的傳播秩序,避免傳播過程的混亂現象,減少通信冗余。

簇首優先算法的執行過程見算法2。

算法2 簇首優先算法

輸入:鄰居節點列表NeighborList。

輸出:距離簇首更近的鄰居節點。

while (receive non-empty event with no CH event reference) do /* 收到的非空事件沒有簇首的引用 */

find hop data in NeighborList ; /* 在鄰居列表中查找鄰居節點距離簇首的跳數 */

hop ← min(hop); // 找到最小的跳數

node N = getNodeID (hop) ; // 獲得該鄰居節點的ID

gossip to node N;// 將更新事件發給該鄰居節點,CH-First算法結束

end while

3.2 簇間傳播機制

通過判斷有無網關節點,可將事件的簇間傳播劃分為兩種情況。當簇間存在網關節點時,簇間傳播總體思路為依靠網關節點,實現事件的跨簇傳遞。如果一個節點同時處于兩個或多個簇首的通信范圍內,那么該節點不屬于任何一個分簇,成為獨立的網關節點。如果兩個分簇距離較近,邊緣節點之間可以直接通信,那么就設定ID較小的邊緣節點成為網關節點。不同分簇之間可能會由網關節點相連,也可能彼此孤立沒有連接。如果分簇間存在網關節點,那么由網關節點作為溝通的橋梁,與不同簇的節點進行Gossip通信,實現事件的跨簇傳播。

網關節點位于不同簇首之間時,借助網關節點的事件簇間傳播過程如圖9所示。圖9(a)中簇C2的簇首收到簇內的事件后,首先判斷鄰居列表中是否包含網關節點,如果不包含,則不涉及借助網關節點的簇間傳播;如果包含,再判斷該事件是否曾經發送給網關節點。如果已發送過,則不再發送;如果從未發送過,則優先發給網關節點,如圖9(b)所示。網關節點收到簇C2的更新事件,立刻傳播給鄰居列表中的其他簇的節點,如圖9(c)所示,將其傳播給簇C1的簇首。簇C1的簇首再選擇鄰居節點進行通信,如圖9(d)所示,將其他簇更新的哈希圖在本簇中傳播開來,最后,簇C1、C2中所有的節點都擁有了更新的事件。

邊緣節點成為網關節點時,簇間傳播過程如圖10所示。圖10(a)中兩個分簇逐漸靠近,邊緣節點取得聯系。根據設定的規則,ID較小的邊緣節點成為網關節點,如圖10(b)所示,簇C2的邊緣節點將本簇的新事件同步至網關節點。網關節點再將事件傳播至其他分簇的節點,如圖10(c)所示。簇C1的簇首節點將收到的事件在本簇中傳播開來,如圖10(d)所示,最終實現了簇C1、C2哈希圖的同步。

當簇間不存在網關節點,無法借助網關節點直接進行事件同步時,簇間傳播的總體思路為依靠移動入簇的新節點,實現分簇間事件的同步。由于移動,節點可能離開原簇,加入新簇,在此過程中,節點可將自身存儲的原簇事件同步至新簇,同時,接收并存儲新簇的事件,這一過程實現了不同簇間事件的傳播。無網關節點的事件簇間傳播過程如圖11所示。

圖11(a)中簇C2的簇內事件同步結束后,簇C2的某一成員節點由于移動,脫離了簇C2的通信范圍,成為未分簇節點,如圖11(b)所示。該節點移動至簇C1的通信范圍內,加入了簇C1,并建立了新的鄰居視圖。根據FS-Gossip算法,該節點被鄰居節點以較大概率選中,發生Gossip同步,簇C1節點收到新事件后,對本地哈希圖進行檢查,發現沒有本簇簇首的引用事件,則調用CH-First算法,沿著趨近簇首的傳播路徑,優先傳播給簇首,如圖11(c)所示。簇C1的簇首再選擇鄰居節點進行通信,將其他簇的事件在本簇中傳播開來,最后,簇C1依靠簇C2移動過來的節點,成功同步了簇C2的哈希圖,結果如圖11(d)所示。

4 安全性分析

本章討論模型的安全性,并具體分析模型如何防范聯盟鏈中幾種常見的安全攻擊。

a)雙花攻擊。在雙花攻擊中,惡意節點建立分叉,創建兩個新事件,使兩個事件引用同一個自父事件,如果兩個事件均能通過共識確認,節點就成功發動了雙花攻擊。在本文共識中,通過選舉極佳見證事件并投票,只有被超過2/3個節點檢查無誤并引用過的事件,才能達成共識。而雙花攻擊的兩個事件,最多只能有一條分叉被超過2/3的節點見證并通過共識,此時另一條分叉因引用節點少于1/3而無法通過共識,或兩條分叉均無法達到2/3的共識門檻。兩種情況下,惡意節點的雙花攻擊均無法成功實現。

b)女巫(Sybil)攻擊。女巫攻擊指惡意節點冒充多個身份,實現數量在分簇中占據優勢,從而操縱共識。在本文模型中,為保障數據隱私與安全,假設模型應用場景為聯盟鏈或私有鏈,節點加入網絡需進行注冊和身份認證,所有節點的公鑰公開已知,身份可以相互驗證,一個節點無法通過申請多個公鑰冒充多個節點,從而可以防范女巫攻擊。

c)拒絕服務(DoS)攻擊。在DoS攻擊中,攻擊者將大量信息發送給弱點節點,使該節點無法將有限的設備資源用于區塊鏈網絡,從而影響區塊鏈的性能,弱點節點通常為領導者節點。本文模型中共識算法沒有領導者,所有節點共同維護共識的正確進行。即使攻擊者攻破某個節點,剩余節點也可以正常維持整個區塊鏈系統,進而有效抵抗DoS攻擊。

d)針對領導者的攻擊。多出現于能預先確認領導者的PBFT算法。惡意節點通過預知領導者是哪一節點,從而發動攻擊,阻礙共識的正常進行。在本文模型中,沒有領導者來主導共識。簇首節點僅對共識具有推動作用,一旦失效可以進行替換。同時,根據權值公式中的能力值影響因素,簇首是分簇內性能較高的節點,具有應對攻擊的防范能力。通過發布簇首選舉事件,驗證并比較其他節點能力值的高低來選舉簇首,確保了選舉的公平性。

5 實驗

本章從分簇數量、活躍度、吞吐量、平均共識時延、FS-Gossip協議五個方面對模型的性能進行測試,以此驗證模型的可用性。

實驗的硬件環境為一臺MacBook Air,處理器為八核Apple M1,內存8 GB,軟件環境為Eclipse IDE 4.24.0。為模擬多個節點建立分簇拓撲并創建新事件、同步哈希圖,實驗采用JAVA多線程技術,每個線程代表一個節點,線程與線程之間可以相互通信,以傳遞參數。

5.1 分簇數量與模型性能的關系

本實驗測試不同分簇數量對模型性能的影響,探究當節點總數固定時,劃分為多少個簇才能使全網總吞吐量到達最大值。本文對比的區塊鏈模型為Hashgraph與Teegraph。Teegraph模型改進了Hashgraph,引入可信執行環境,節點在此環境下無法發起雙花攻擊,從而無須多輪次的見證檢查雙花事件,加速了共識,可應用于移動自組網區塊鏈。實驗假設全網共有60個節點,且每個簇的節點數量相同,每個節點每隔400 ms創建一個新事件,最后根據各個分簇的吞吐量值,累計求和得到全網的總吞吐量。如果分簇數量不能整除,就取近似的整數值,仍保證節點總數為60。當分簇數量為15時,每個簇僅有4個節點,是進行拜占庭共識的最少節點數,故當全網節點總數為60時,最大分簇數量為15。分簇數量決定了簇的大小,進而會影響模型的性能。

實驗結果如圖12所示,本文模型的吞吐量始終高于Hashgraph,平均提高了約32.2%,但略低于Teegraph,僅下降了3.8%。原因在于Teegraph沒有設計不同共識組節點的管理機制與Gossip協議的優化方法,主要研究共識層算法,本文引入了分簇節點管理、事件傳播管理,且節點未裝備可信執行環境,這些都會增加一定的共識開銷,但本文算法性能只是略有下降,且解決了Teegraph沒有考慮的節點與事件管理問題。實驗結果也可以看出,模型存在最佳分簇數,使全網總吞吐量達到最大值,當實驗的分簇數量為10個時,全網總吞吐量達到最高值,為每秒140個事件。這一結論可為設計具體應用提供參考。

5.2 活躍度與模型性能

本實驗測試節點活躍度對模型性能的影響,設置了多組不同的創建事件頻率,記錄平均時延,實驗結果如圖13所示。可以看出,事件創建間隔越長,節點產生新事件頻率越低,共識越慢,時延越高,本文提出的確定極佳事件快速共識機制的時延增速慢于Hashgraph,略高于Teegraph。本文通過節點計算能力值選舉簇首,而能力值公式中除了電池能量、相對移動性等客觀因素外,還考慮了活躍度這一主觀因素,能夠激勵節點提高活躍度,增加創建事件頻率,加快共識進程,因此時延性能要明顯好于Hashgraph,在考慮節點與事件管理功能的前提下與Teegraph基本相同。

5.3 吞吐量測試

吞吐量是評價系統性能的重要指標之一,體現了單位時間內達成共識確認的事件的多少,吞吐量越大,系統的處理能力越強。本實驗測試改進后共識機制的吞吐量,并與Hashgraph、Teegraph進行對比,假設每個節點創建新事件的頻率不變,實驗結果如圖14所示。從圖中可以看出,本文共識算法的吞吐量高于Hashgraph,與Teegraph不相上下,原因是本文提出的共識算法在節點不裝配可信執行環境的情況下,確保安全性的同時縮短了共識輪次,簡化了共識流程,增大有效Gossip的發生概率,提高系統吞吐量。

5.4 共識時延測試

本實驗測試改進后共識機制的時延,并與Hashgraph、Teegraph進行對比。共識時延用來評價事件從產生到完成事件確認所經歷的時長,一些特殊應用對共識時延要求很高,對交易確認速度比較敏感。共識時延越低,代表交易確認越快,模型越高效。實驗結果如圖15所示。從圖中可以看出,本文共識算法的時延明顯低于Hashgraph,僅略高于Teegraph。這是由于Hashgraph共識需經過虛擬投票、統計投票、確定聲望三個階段,事件至少經過三輪才能達成共識,增加了時延;Teegraph因為裝入可信執行環境,將共識門檻由2/3降至1/2,不再劃分輪次,提升了共識速度。本文共識步驟較為簡潔,最快經過兩輪就能達成共識,雖然未通過裝備可信執行環境來減輕節點負擔,且對節點與事件的管理也帶來一些性能損耗,但時延相比Teegraph僅略有增加。

5.5 FS-Gossip測試

本文設計事件同步率這一變量,來評價Gossip協議的通信效果。圖中橫坐標代表全局哈希圖中事件的數目,縱坐標事件同步率體現了節點對這些事件的平均存儲比例。隨著節點擴展哈希圖,產生的事件越來越多,全網節點平均存儲事件的數目與當前全局哈希圖所擁有的事件數目作百分比,就得到事件同步率。實驗分別對兩種情況進行測試,一種情況為簇內節點間距較小,任一節點均處于其他節點的通信范圍內,節點間可以互相通信;另一種情況為簇內節點間距較大,每個節點擁有自身的鄰居列表,不相鄰的節點傳遞信息需借助中間節點,并設置了一種拓撲情況進行實驗。節點間距較小時,實驗結果如圖16所示。從圖中可以看出,在6個和9個節點兩種情況下,產生的事件數相等時,本文提出的FS-Gossip算法更容易選擇高信息收益的鄰居節點進行通信,平均事件同步率均高于隨機Gossip算法。

節點間距較大時,設置了兩種拓撲情況進行實驗,圖17(a)展示了簇內有6個節點時的一種拓撲情況,由于節點間距離較遠,節點2只能與節點1、5發生通信,簇內其他節點不在節點2通信范圍內,故無法與之直接通信。同理,圖17(b)展示了簇內有9個節點時一種可能的拓撲情況。

實驗結果如圖18所示。從圖中可以看出,在6個節點和9個節點兩種情況下,本文提出的FS-Gossip算法增加了信息收益大的鄰居節點的選擇概率,事件同步率均高于隨機Gossip算法。

6 結束語

本文提出一種基于哈希圖的移動自組網區塊鏈模型,解決了移動自組網環境下,由于網絡不斷發生分裂與合并,導致事件同步不及時、影響共識的問題。模型首先依據地理位置,對全網節點進行分簇,并選舉簇首,設計了特殊的事件結構,由簇首統計并傳播簇內節點數量這一影響共識的關鍵參數,解決了由于節點數量不明確導致簇內共識無法進行的問題;其次,提出FS-Gossip協議,通過在Hello消息中增加字段,計算信息收益,篩選鄰居節點,提高了事件同步效率;最后,對哈希圖中復雜的共識機制進行改進,將原來的三步共識縮減為兩步,在確保安全性不變的同時,提升了共識速度,降低了時延。實驗結果表明,本文模型在兼具安全性的同時,提高了吞吐量與事件同步率,降低了時延。

參考文獻:

[1]李少謙,蘭嵐.無線Ad hoc網絡技術[J].中興通信技術,2002(1):9-12.(Li Shaoqian,Lan Lan.Wireless Ad hoc network technology[J].ZTE Communications,2002(1):9-12.)

[2]宋建華,洪帆,何曉冰.移動Ad hoc網的典型網絡攻擊與防范[J].微計算機應用,2007(5):454-459.(Song Jianhua,Hong Fan,He Xiaobing.Typical network attacks and prevention of mobile Ad hoc networks[J].Network New Media Technology,2007(5):454-459.)

[3]Nakamoto S.Bitcoin:a peer-to-peer electronic cash system[EB/OL].(2008).https://bitcoin.org/en/bitcoin-paper.

[4]Li Xinghua,Wang Yunwei,Vijayakumar P,et al.Blockchain-based mutual-healing group key distribution scheme in unmanned aerial vehicles ad-hoc network[J].IEEE Trans on Vehicular Technology,2019,68(11):11309-11322.

[5]Lei Kai,Zhang Qichao,Lou Junjun,et al.Securing ICN-based UAV Ad hoc networks with blockchain[J].IEEE Communications Magazine,2019,57(6):26-32.

[6]Lewenberg Y,Sompolinsky Y,Zohar A.Inclusive block chain protocols[M]//Bhme R,Okamoto T.Financial cryptography and data security.Berlin:Heidelberg:Springer,2015:528-547.

[7]Laube A,Martin S,Al Agha K.A solution to the split & merge problem for blockchain-based applications in ad hoc networks[C]//Proc of the 8th International Conference on Performance Evaluation and Modeling in Wired and Wireless Networks.Piscataway,NJ:IEEE Press,2019:1-6.

[8]Cordova D,Laube A,Nguyen T M T,et al.Blockgraph:a blockchain for mobile Ad hoc networks[C]//Proc of the 4th Cyber Security in Networking Conference.Piscataway,NJ:IEEE Press,2020:1-8.

[9]Baird L.The swirlds hashgraph consensus algorithm:fair,fast,Byzantine fault tolerance,SWIRLDS-TR-2016-01[R].[S.l.]:Swirlds,Inc.,2018.

[10]Fu Xiang,Wang Huaimin,Shi Peichang,et al.Teegraph:a blockchain consensus algorithm based on TEE and DAG for data sharing in IoT[J].Journal of Systems Architecture,2022,122(C):102344.

[11]劉懿中,劉建偉,張宗洋,等.區塊鏈共識機制研究綜述[J].密碼學報,2019,6(4):395-432.(Liu Yizhong,Liu Jianwei,Zhang Zongyang,et al.Overview of research on blockchain consensus mechanism[J].Journal of Cryptologic Research,2019,6(4):395-432.)

[12]Luu L,Narayanan V,Zheng Chaodong,et al.A secure sharding protocol for open blockchains[C]//Proc of ACM SIGSAC Conference on Computer and Communications Security.New York,NY:ACM Press,2016:17-30.

[13]Kokoris-Kogias E,Jovanovic P,Gasser L,et al.Omniledger:a secure,scale-out,decentralized ledger via sharding[C]//Proc of IEEE Symposium on Security and Privacy.San Francisco,CA:IEEE Press,2018:583-598.

[14]黃建華,黃雪茹,季鈺翔,等.一種基于雙鏈模型的分區共識協議[J].計算機應用研究,2021,38(2):356-362.(Huang Jianhua,Huang Xueru,Ji Yuxiang,et al.A sharding consensus protocol based on dual blockchains[J].Journal of Application Reserch of Computers,2021,38(2):356-362.)

[15]馬行空.基于Gossip的多源快速數據分發技術研究 [D].湖南:國防科技大學,2009.(Ma Xingkong.Research of Gossip-based multisource flash data dissemination technology[D].Hunan:National University of Defense Technology,2009.)

[16]張娓娓,范訓禮,房鼎益.基于模糊理論的P2P流媒體節點選擇算法[J].計算機工程,2009,35(23):88-90.(Zhang Weiwei,Fan Xunli,Fang Dingyi.A P2P streaming media node selection algorithm based on fuzzy theory[J].Computer Engineering,2009,35(23):88-90.)

[17]田振興,代杰.基于改進Gossip協議的數據同步設計[J].指揮信息系統與技術,2017,8(5):99-103.(Tian Zhenxing,Dai Jie.Data synchronization design based on improved Gossip protocol[J].Command Information System and Technology,2017,8(5):99-103.)

[18]Kan Jia,Zou Lingyi,Liu B,et al.Boost blockchain broadcast propagation with tree routing[M]//Qiu M.Smart blockchain.Cham:Springer,2018:77-85.

[19]Beraldi R.The polarized Gossip protocol for path discovery in MANETs[J].Ad hoc Networks,2008,6(1):79-91.

[20]張奇文,王志強,張逸謙.基于Gossip協議的信任收集共識算法研究[J].計算機科學,2020,47(S1):391-394.(Zhang Qiwen,Wang Zhiqiang,Zhang Yiqian.Research on trust collection consensus algorithm based on Gossip protocol[J].Computer Science,2020,47(S1):391-394.)

[21]徐晶晶,張欣慧,許必宵,等.無線傳感器網絡分簇算法綜述[J].計算機科學,2017,44(2):31-37.(Zhang Jingjing,Zhang Xinhui,Xu Bixiao,et al.Overview of clustering algorithms in wireless sensor networks[J].Computer Science,2017,44(2):31-37.)

[22]周藝華,賈立圓,賈玉欣,等.基于信譽度的Hashgraph共識算法[J].計算機應用研究,2021,38(9):2590-2593,2599.(Zhou Yihua,Jia Liyuan,Jia Yuxin,et al.Hashgraph consensus algorithm based on credit[J].Application Reserch of Computers,2021,38(9):2590-2593,2599.)

收稿日期:2023-01-16;

修回日期:2023-03-16

基金項目:國家自然科學基金資助項目(62076094)

作者簡介:宮在為(2000-),女,黑龍江密山人,碩士,主要研究方向為區塊鏈;黃建華(1963-),男(通信作者),湖南懷化人,副教授,博士,主要研究方向為計算機網絡與信息安全(jhhuang@ecust.edu.cn);顧彬(1999-),男,上海人,碩士,主要研究方向為區塊鏈;寧宇豪(1998-),男,山西運城人,碩士,主要研究方向為區塊鏈;張文韜(1999-),男,浙江紹興人,碩士,主要研究方向為區塊鏈.

主站蜘蛛池模板: 99精品一区二区免费视频| 在线永久免费观看的毛片| 色爽网免费视频| 制服丝袜亚洲| 99er这里只有精品| 97人妻精品专区久久久久| 亚洲天堂区| 国产99视频精品免费观看9e| 国产国模一区二区三区四区| 亚洲欧洲一区二区三区| 91精品专区国产盗摄| 9999在线视频| 思思热在线视频精品| 国产精品林美惠子在线观看| 人妻少妇乱子伦精品无码专区毛片| 国产99久久亚洲综合精品西瓜tv| 亚洲精品天堂自在久久77| 亚洲人人视频| 欧美日韩亚洲国产主播第一区| 超碰91免费人妻| 午夜免费小视频| 精品国产自在在线在线观看| 456亚洲人成高清在线| 青青青视频蜜桃一区二区| 国产高清在线观看| 成人毛片在线播放| 少妇极品熟妇人妻专区视频| 日韩免费毛片视频| www.亚洲一区| 亚洲欧洲日本在线| 国产一区二区丝袜高跟鞋| 国产在线拍偷自揄拍精品| 精品国产www| 国产91熟女高潮一区二区| 一本一道波多野结衣一区二区 | 91精品国产一区| 亚洲无码熟妇人妻AV在线| 欧美特黄一级大黄录像| 成人一区在线| 国产精品白浆在线播放| 欧美人与牲动交a欧美精品| 3D动漫精品啪啪一区二区下载| 欧美在线精品一区二区三区| 欧美在线视频a| 九色视频在线免费观看| 99热最新在线| 999精品免费视频| 国产性爱网站| 伊人无码视屏| 激情乱人伦| 久久综合五月| 最新国语自产精品视频在| 亚洲AV无码不卡无码| 热九九精品| 一级毛片高清| 亚洲国产日韩欧美在线| 亚洲无码日韩一区| 自拍偷拍欧美| 国产丝袜第一页| 91视频99| 国产成人亚洲精品色欲AV| 午夜激情婷婷| 国产精品久久久久久久久| 99精品热视频这里只有精品7| 日韩成人在线一区二区| 77777亚洲午夜久久多人| 欧美一区二区三区欧美日韩亚洲| 黄色免费在线网址| 人妻少妇乱子伦精品无码专区毛片| 国产精品久久久久久久伊一| 成年网址网站在线观看| 97在线免费视频| 国产精品白浆无码流出在线看| 青草精品视频| 黄色国产在线| 69精品在线观看| 99热这里只有免费国产精品 | 亚洲资源站av无码网址| 欧美国产菊爆免费观看 | 亚洲男人的天堂在线观看| 日韩激情成人| 国产女人在线视频|