• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于哈希圖的移動(dòng)自組網(wǎng)區(qū)塊鏈模型

    2023-10-18 14:58:04宮在為黃建華顧彬寧宇豪張文韜
    關(guān)鍵詞:區(qū)塊鏈

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

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

    關(guān)鍵詞:區(qū)塊鏈;MANETs;哈希圖;Gossip協(xié)議;分簇

    中圖分類號(hào):TP309?? 文獻(xiàn)標(biāo)志碼:A

    文章編號(hào):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 引言

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

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

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

    本文對(duì)以上不足進(jìn)行改進(jìn),提出一種基于哈希圖的移動(dòng)自組網(wǎng)區(qū)塊鏈模型。該模型首先將無(wú)秩序的移動(dòng)節(jié)點(diǎn)劃分成簇,并選舉簇首,以分層結(jié)構(gòu)代替平面結(jié)構(gòu),減少節(jié)點(diǎn)移動(dòng)帶來(lái)的控制開(kāi)銷(xiāo),并由簇首負(fù)責(zé)統(tǒng)計(jì)簇內(nèi)節(jié)點(diǎn)數(shù)量,寫(xiě)入事件中進(jìn)行傳播,解決了缺少關(guān)鍵參數(shù)無(wú)法進(jìn)行簇內(nèi)共識(shí)的問(wèn)題,提高了網(wǎng)絡(luò)管理能力;其次,對(duì)Gossip協(xié)議的不足進(jìn)行改進(jìn),提出FS-Gossip(fast spreading Gossip)協(xié)議,以增大有效信息交換的概率,減少通信資源浪費(fèi);最后,對(duì)復(fù)雜的哈希圖共識(shí)進(jìn)行改進(jìn),簡(jiǎn)化了共識(shí)流程,并提出一種事件傳播機(jī)制,明確了事件的傳播方向,提高事件擴(kuò)散的速度,降低時(shí)延。

    本文的主要貢獻(xiàn)如下:a) 提出一種基于權(quán)值的分簇算法,并將簇首選舉的權(quán)值寫(xiě)入事件中,代替節(jié)點(diǎn)間互相交換權(quán)值的方法,減少了通信開(kāi)銷(xiāo);b) 針對(duì)原始Gossip協(xié)議傳播效率較低的問(wèn)題,提出一種快速FS-Gossip協(xié)議,減少鄰居節(jié)點(diǎn)選擇的盲目性,提高新入簇節(jié)點(diǎn)的檢測(cè)速度;c) 提出一種簡(jiǎn)化的哈希圖共識(shí)機(jī)制,降低了事件確認(rèn)的時(shí)延,提升區(qū)塊鏈的性能,同時(shí)提出一種基于簇首優(yōu)先原則的傳播機(jī)制,加快事件的傳播速度。

    1 相關(guān)工作

    1.1 分區(qū)共識(shí)

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

    1.2 改進(jìn)Gossip協(xié)議

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

    2 基于哈希圖的移動(dòng)自組網(wǎng)區(qū)塊鏈模型

    2.1 模型結(jié)構(gòu)

    移動(dòng)自組網(wǎng)邏輯上分為平面式和層次式兩種結(jié)構(gòu)。平面式結(jié)構(gòu)的特點(diǎn)是所有節(jié)點(diǎn)地位平等,網(wǎng)絡(luò)健壯性較強(qiáng),但當(dāng)網(wǎng)絡(luò)規(guī)模增大時(shí),用于發(fā)現(xiàn)路由和位置管理的控制報(bào)文也隨之迅速增加,網(wǎng)絡(luò)效率顯著降低,存在可擴(kuò)展性問(wèn)題。層次結(jié)構(gòu)將網(wǎng)絡(luò)節(jié)點(diǎn)劃分到不同的簇中,每個(gè)簇選擇一個(gè)簇首負(fù)責(zé)簇的管理,可以有效解決移動(dòng)自組網(wǎng)的可擴(kuò)展性問(wèn)題,因此本文針對(duì)分簇結(jié)構(gòu)研究移動(dòng)自組網(wǎng)區(qū)塊鏈模型。圖1為本文采用的移動(dòng)自組網(wǎng)分簇結(jié)構(gòu),相較于完全的分布式結(jié)構(gòu),分簇結(jié)構(gòu)可以節(jié)省拓?fù)渥兓斐傻目刂崎_(kāi)銷(xiāo),更有利于Ad hoc網(wǎng)絡(luò)的擴(kuò)展和管理,提高網(wǎng)絡(luò)的性能與實(shí)用性。通過(guò)分簇算法,將網(wǎng)絡(luò)中所有節(jié)點(diǎn)依據(jù)地理位置聚合成不同的簇。分簇后,有簇首、簇成員、網(wǎng)關(guān)三種角色,分別發(fā)揮不同的傳播作用,其中網(wǎng)關(guān)節(jié)點(diǎn)用于連接相鄰分簇,在不同分簇間傳遞信息實(shí)現(xiàn)跨簇通信。

    形成簇結(jié)構(gòu)后,每個(gè)節(jié)點(diǎn)在本地存儲(chǔ)一張全網(wǎng)的哈希圖,通過(guò)FS-Gossip協(xié)議選擇信息收益較大的鄰居節(jié)點(diǎn),進(jìn)行通信,更新并維護(hù)本地的哈希圖。節(jié)點(diǎn)產(chǎn)生或接收新事件,將按照一種傳播機(jī)制進(jìn)行事件傳播,提高擴(kuò)散的速度。

    節(jié)點(diǎn)移動(dòng)會(huì)導(dǎo)致網(wǎng)絡(luò)不斷發(fā)生分裂與合并,可能使某一分區(qū)內(nèi)節(jié)點(diǎn)數(shù)量較少,這時(shí)如果惡意節(jié)點(diǎn)發(fā)動(dòng)女巫攻擊,偽造多個(gè)身份控制共識(shí)過(guò)程,會(huì)嚴(yán)重影響系統(tǒng)的安全性,所以需對(duì)所有加入網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行身份認(rèn)證,本文假設(shè)模型應(yīng)用場(chǎng)景為聯(lián)盟鏈或私有鏈。

    2.2 哈希圖

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

    哈希圖用虛擬投票代替實(shí)際投票,具有節(jié)省通信開(kāi)銷(xiāo)的優(yōu)點(diǎn),圖中完整保存了所有的交易信息,不會(huì)丟失交易。哈希圖完全異步,沒(méi)有l(wèi)eader,也無(wú)須工作量證明,因此本文將哈希圖用于網(wǎng)絡(luò)動(dòng)態(tài)變化,不斷發(fā)生分裂與合并的MANETs環(huán)境。哈希圖事件結(jié)構(gòu)如圖3所示,交易信息一項(xiàng)可以為空,當(dāng)節(jié)點(diǎn)暫無(wú)交易,又收到其他節(jié)點(diǎn)的新事件,為了進(jìn)行存儲(chǔ)與投票,就會(huì)創(chuàng)建一個(gè)空事件。

    哈希圖通常應(yīng)用于共識(shí)成員固定的聯(lián)盟鏈中,并假設(shè)成員節(jié)點(diǎn)的數(shù)量已知,進(jìn)而判斷是否達(dá)到2/3的共識(shí)門(mén)檻。然而,在拓?fù)鋭?dòng)態(tài)變化的MANETs環(huán)境中,全網(wǎng)節(jié)點(diǎn)被劃分為多個(gè)簇,簇成員形成共識(shí)組進(jìn)行共識(shí)以繼續(xù)協(xié)同工作,節(jié)點(diǎn)移動(dòng)性會(huì)導(dǎo)致節(jié)點(diǎn)不斷加入和離開(kāi)簇,成員的動(dòng)態(tài)變化使得節(jié)點(diǎn)無(wú)法及時(shí)獲知簇內(nèi)節(jié)點(diǎn)數(shù)量,給簇內(nèi)共識(shí)帶來(lái)挑戰(zhàn)。此外,哈希圖共識(shí)流程長(zhǎng),計(jì)算復(fù)雜,時(shí)延較高,會(huì)消耗較多的設(shè)備資源。針對(duì)這些問(wèn)題,本文對(duì)分簇算法和Gossip協(xié)議進(jìn)行改進(jìn),使得哈希圖可以更好地適配移動(dòng)自組網(wǎng)區(qū)塊鏈的共識(shí)。本文設(shè)計(jì)了兩種特殊的事件結(jié)構(gòu),分別為選舉事件與簇首見(jiàn)證事件,選舉事件用于簇首選舉,簇首見(jiàn)證事件用于傳播簇內(nèi)節(jié)點(diǎn)數(shù)量這一參數(shù),將在后文介紹。

    2.3 分簇算法

    分簇是一種常見(jiàn)的應(yīng)用于移動(dòng)自組網(wǎng)的節(jié)點(diǎn)管理方法,模型將無(wú)規(guī)則無(wú)秩序的移動(dòng)自組網(wǎng)節(jié)點(diǎn)劃分成簇,分而治之,與未分簇相比,節(jié)省了動(dòng)態(tài)拓?fù)鋷?lái)的全局控制開(kāi)銷(xiāo),更有利于事件的傳播,同時(shí)提高了網(wǎng)絡(luò)的可擴(kuò)展性。分簇時(shí),節(jié)點(diǎn)依據(jù)地理位置,獲取鄰居列表,協(xié)同任務(wù)的節(jié)點(diǎn)組成一個(gè)簇,簇內(nèi)任意節(jié)點(diǎn)間依靠單跳或多跳通信,可將消息傳達(dá)。超出分簇通信范圍的節(jié)點(diǎn),可以加入其他分簇,或成為未分簇的自由節(jié)點(diǎn)。

    分簇算法通常需選舉簇首對(duì)分簇進(jìn)行管理,現(xiàn)有算法大多將簇首選舉所參考的數(shù)據(jù)值進(jìn)行全網(wǎng)廣播,即網(wǎng)絡(luò)中所有節(jié)點(diǎn)廣播自己的數(shù)據(jù),同時(shí)接收其他節(jié)點(diǎn)的數(shù)據(jù),進(jìn)行比較,按照算法定義的規(guī)則選出合適的簇首節(jié)點(diǎn),該方法通信復(fù)雜度較高,占用較多的通信資源,可能導(dǎo)致區(qū)塊鏈在簇首選舉期間不可用。本文利用哈希圖傳播事件分布存儲(chǔ)的特點(diǎn),對(duì)事件結(jié)構(gòu)進(jìn)行改進(jìn),借用事件的傳播散發(fā)選舉數(shù)據(jù),將通信開(kāi)銷(xiāo)由O(n2)降為O(n),同時(shí)保證區(qū)塊鏈的可用性。

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

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

    本文將移動(dòng)自組網(wǎng)的拓?fù)浣Y(jié)構(gòu)抽象成一張簡(jiǎn)單的有向圖,記作G=(V,E),這里V表示網(wǎng)絡(luò)中所有節(jié)點(diǎn)組成的集合,E為邊集,表示兩個(gè)節(jié)點(diǎn)間是否可以直接通信。下面對(duì)使用的參數(shù)進(jìn)行定義:

    a)節(jié)點(diǎn)ID。移動(dòng)自組網(wǎng)中每個(gè)節(jié)點(diǎn)具有唯一的標(biāo)識(shí),節(jié)點(diǎn)i的ID記為IDi。

    b)鄰居節(jié)點(diǎn)集合。節(jié)點(diǎn)一跳鄰居視圖中的所有節(jié)點(diǎn)構(gòu)成的集合,記為N(v)。

    c)鄰居節(jié)點(diǎn)變化率。存在兩個(gè)時(shí)刻t1,t2,得到兩個(gè)時(shí)刻總共出現(xiàn)的鄰居節(jié)點(diǎn)數(shù)目為|N(v)t1∪N(v)t2|,兩個(gè)時(shí)刻重合的鄰居節(jié)點(diǎn)數(shù)目為|N(v)t1∩N(v)t2|,則

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

    d)連接度。節(jié)點(diǎn)擁有鄰居節(jié)點(diǎn)的數(shù)量,記為Cd(connectivity degree),Cd=|N(v)|。

    e)可通信節(jié)點(diǎn)列表。由節(jié)點(diǎn)在一跳或多跳通信范圍內(nèi)可到達(dá)的節(jié)點(diǎn)組成,表中記錄節(jié)點(diǎn)ID與對(duì)應(yīng)的跳數(shù),節(jié)點(diǎn)通過(guò)周期性與鄰居節(jié)點(diǎn)交換此表來(lái)進(jìn)行更新,記為ntable。

    f)跳數(shù)和。節(jié)點(diǎn)將可通信節(jié)點(diǎn)列表中的跳數(shù)進(jìn)行相加,跳數(shù)越少,節(jié)點(diǎn)的通信便利度越高,記為Hs(hop sum)。

    設(shè)可通信節(jié)點(diǎn)列表中共有n個(gè)節(jié)點(diǎn),即

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

    g)活躍度。節(jié)點(diǎn)在上一個(gè)epoch中創(chuàng)建事件的頻率,記為Ef(event frequency)。

    h)相對(duì)移動(dòng)性。節(jié)點(diǎn)相較于附近節(jié)點(diǎn),移動(dòng)性的強(qiáng)弱,記為Rm(relative mobility)。

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

    考慮到移動(dòng)節(jié)點(diǎn)運(yùn)算能力有限,因此簡(jiǎn)化了相對(duì)移動(dòng)性的計(jì)算,規(guī)定其近似等于鄰居節(jié)點(diǎn)變化率的倒數(shù),即

    Rm=1NCR(v)(3)

    NCR(v)的值越大,節(jié)點(diǎn)的鄰居變化越小,節(jié)點(diǎn)越穩(wěn)定,相對(duì)移動(dòng)性越弱。

    能力值計(jì)算公式為

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

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

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

    可根據(jù)系統(tǒng)運(yùn)行狀態(tài)調(diào)整每項(xiàng)的權(quán)重,改變簇首選舉的側(cè)重點(diǎn),以獲得更高的系統(tǒng)性能。

    分簇成功后產(chǎn)生了簇首、簇成員和網(wǎng)關(guān)三種角色。簇首負(fù)責(zé)統(tǒng)計(jì)每一輪次中簇成員的數(shù)量,收集并管理本簇及其他簇產(chǎn)生的新事件,并依據(jù)傳播機(jī)制運(yùn)行Gossip算法;簇成員承擔(dān)中間路由的功能,在傳播過(guò)程中檢查事件,存儲(chǔ)簇內(nèi)一致的分布式賬本;網(wǎng)關(guān)是指能與兩個(gè)或多個(gè)簇直接通信的節(jié)點(diǎn),負(fù)責(zé)簇間事件的傳播,連接不同簇,提高了區(qū)塊的擴(kuò)散效率。

    分簇完成后,節(jié)點(diǎn)維護(hù)鄰居列表,發(fā)送的Hello消息格式為

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

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

    為了保證系統(tǒng)的安全性,簇首需要定期更換。然而,頻繁地分簇會(huì)引起網(wǎng)絡(luò)動(dòng)蕩,使區(qū)塊鏈的性能下降。因此,本文模型采用劃分任期、簇首失效時(shí)發(fā)起替換的機(jī)制,規(guī)定簇首的任期為一個(gè)紀(jì)元(epoch),若紀(jì)元未結(jié)束,而簇首出現(xiàn)故障無(wú)法工作,或在運(yùn)動(dòng)中移出該簇,則觸發(fā)簇首更換算法,節(jié)點(diǎn)產(chǎn)生選舉事件,選出新的簇首。如果當(dāng)前紀(jì)元已結(jié)束,該簇所有節(jié)點(diǎn)更新自身性能數(shù)據(jù),重新計(jì)算能力值并創(chuàng)建簇首選舉事件,選出新的簇首,開(kāi)啟下一個(gè)紀(jì)元。簇首更換算法如算法1所示。

    算法1 簇首更換算法

    輸入:出現(xiàn)故障的當(dāng)前簇首節(jié)點(diǎn)。

    輸出:新的簇首節(jié)點(diǎn)。

    while (node CurrentCH fails) do // 節(jié)點(diǎn)CurrentCH表示當(dāng)前簇首節(jié)點(diǎn)

    if (current epoch ends = = true) // 判斷當(dāng)前epoch是否結(jié)束

    Call clustering algorithm ; /* 如果當(dāng)前epoch結(jié)束,調(diào)用分簇算法,重新分簇 */

    else

    create election event ; // 創(chuàng)建簇首選舉事件

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

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

    node N = getNodeID (max number) ; // 獲得該節(jié)點(diǎn)的ID

    node N becomes NewCH ;// 新簇首選舉結(jié)束

    end if

    end while

    2.4 FS- Gossip協(xié)議

    本文針對(duì)移動(dòng)自組網(wǎng)的需求,對(duì)Gossip協(xié)議進(jìn)行了改進(jìn)。Gossip協(xié)議于1978年被提出,是一種簡(jiǎn)單高效的數(shù)據(jù)分發(fā)方法,具有良好的可擴(kuò)展性與魯棒性,在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中發(fā)揮關(guān)鍵的作用。當(dāng)一個(gè)節(jié)點(diǎn)需要同步消息時(shí),它不與服務(wù)器進(jìn)行連接,而是隨機(jī)從對(duì)等的鄰居節(jié)點(diǎn)中選擇節(jié)點(diǎn)轉(zhuǎn)發(fā)消息,其他節(jié)點(diǎn)收到消息后同理,該過(guò)程類似于流行病或謠言的傳播。常見(jiàn)的Gossip協(xié)議交換信息有三種方法:

    a) 基于推(push)的方法,節(jié)點(diǎn)A將信息發(fā)送給節(jié)點(diǎn)B,節(jié)點(diǎn)B根據(jù)收到的信息進(jìn)行更新;

    b) 基于拉(pull)的方法,節(jié)點(diǎn)A向節(jié)點(diǎn)B主動(dòng)請(qǐng)求,節(jié)點(diǎn)B將信息發(fā)給節(jié)點(diǎn)A,A進(jìn)行更新;

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

    哈希圖中采用了基于拉的方法,即節(jié)點(diǎn)隨機(jī)請(qǐng)求一個(gè)鄰居節(jié)點(diǎn),該鄰居節(jié)點(diǎn)將存儲(chǔ)的所有事件發(fā)送給原節(jié)點(diǎn),原節(jié)點(diǎn)更新本地的哈希圖并創(chuàng)建一個(gè)新事件,代表了此次Gossip過(guò)程。

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

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

    設(shè)k為收益預(yù)估值,k計(jì)算公式如下:

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

    其中:0≤μ≤1,0≤λ≤1·μ、λ為歸一化調(diào)節(jié)因子。當(dāng)節(jié)點(diǎn)處于同一分簇時(shí),節(jié)點(diǎn)擁有事件數(shù)量的差值越大,距離上一次Gossip同步過(guò)去的時(shí)間越久,預(yù)估發(fā)生Gossip后的信息收益越大。

    當(dāng)一節(jié)點(diǎn)離開(kāi)它所在簇,加入Nodei節(jié)點(diǎn)所在簇,成為Nodei節(jié)點(diǎn)的鄰居時(shí),由于該節(jié)點(diǎn)可能存儲(chǔ)了其他簇的事件,有效信息更多,可知該節(jié)點(diǎn)被選中的概率應(yīng)高于同簇的其他鄰居節(jié)點(diǎn),發(fā)生Gossip的優(yōu)先級(jí)更高。

    將k代入概率p的計(jì)算公式:

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

    其中:φ為調(diào)節(jié)系數(shù),防止φk值過(guò)大,影響公式的效果;ω為判斷項(xiàng),通過(guò)將Hello消息中的簇內(nèi)生存時(shí)間字段tlive與設(shè)置的閾值相比較,可判斷該鄰居節(jié)點(diǎn)是否處于同簇。若該節(jié)點(diǎn)簇內(nèi)生存時(shí)間大于閾值,可推知處于同簇,ω值為0;反之,簇內(nèi)生存時(shí)間小于閾值,可推知該節(jié)點(diǎn)為新節(jié)點(diǎn),要么離開(kāi)其他簇加入此簇,要么是新加入?yún)^(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn),這時(shí),ω取上限值,以提高與之進(jìn)行Gossip的概率。

    ω=0?? tlive>bounduppertlive

    其中,被判定為同簇節(jié)點(diǎn)的閾值bound與簇首上一輪次(round)共識(shí)所用時(shí)間及事件差異率有關(guān)。上一輪所用共識(shí)時(shí)間越長(zhǎng),閾值越高,簇內(nèi)生存時(shí)間不足一個(gè)輪次的新節(jié)點(diǎn)將被快速檢測(cè)出來(lái)。事件差異率大,說(shuō)明新節(jié)點(diǎn)信息差較大,閾值也將提高。

    哈希圖中節(jié)點(diǎn)同步事件時(shí),為節(jié)省帶寬開(kāi)銷(xiāo),通常不直接發(fā)送一張完整的哈希圖,而是發(fā)送一張節(jié)點(diǎn)存儲(chǔ)事件表,表中記錄了對(duì)不同節(jié)點(diǎn)分別存儲(chǔ)了多少事件,對(duì)面節(jié)點(diǎn)根據(jù)此表,將缺少的事件補(bǔ)給原節(jié)點(diǎn)。

    設(shè)全網(wǎng)共v個(gè)節(jié)點(diǎn),節(jié)點(diǎn)Nodei與其鄰居節(jié)點(diǎn)nj發(fā)生存儲(chǔ)差異的事件數(shù)量計(jì)算公式如下:

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

    可以得到相比于節(jié)點(diǎn)Nodei,事件差異率為

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

    閾值將依據(jù)簇內(nèi)運(yùn)行狀態(tài)與新節(jié)點(diǎn)存儲(chǔ)情況,進(jìn)行動(dòng)態(tài)調(diào)整,計(jì)算如下:

    bound=(1+eventrate)tround(11)

    2.5 共識(shí)算法

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

    確定簇內(nèi)節(jié)點(diǎn)的成員和數(shù)量,對(duì)簇內(nèi)共識(shí)的達(dá)成具有關(guān)鍵作用。如圖6所示,本文將簇首發(fā)出的見(jiàn)證事件設(shè)置為特殊結(jié)構(gòu),增加了簇內(nèi)節(jié)點(diǎn)數(shù)量、簇成員列表兩個(gè)字段。在每一輪共識(shí)中,簇成員節(jié)點(diǎn)通過(guò)簇首發(fā)出的見(jiàn)證事件,獲知本輪簇內(nèi)節(jié)點(diǎn)數(shù)量與成員列表,從而可以判斷是否達(dá)到創(chuàng)建見(jiàn)證事件的門(mén)檻。簇內(nèi)節(jié)點(diǎn)發(fā)生變動(dòng)共有兩種情況:一種由節(jié)點(diǎn)數(shù)的改變直接顯示出來(lái);另一種節(jié)點(diǎn)數(shù)未變,但簇成員組成發(fā)生變化。通過(guò)簇首見(jiàn)證事件攜帶的信息,簇內(nèi)節(jié)點(diǎn)可以及時(shí)獲知成員情況,進(jìn)而判斷是否達(dá)成共識(shí)。

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

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

    如果節(jié)點(diǎn)創(chuàng)建第n輪見(jiàn)證事件時(shí),發(fā)現(xiàn)本地哈希圖副本中,不存在滿足條件的n-1輪極佳見(jiàn)證事件,就繼續(xù)創(chuàng)建新事件,不斷地從鄰居節(jié)點(diǎn)處同步最新的副本,發(fā)展哈希圖,直到找出極佳見(jiàn)證事件。

    3 傳播機(jī)制

    本文設(shè)計(jì)一種基于簇首優(yōu)先的傳播機(jī)制,包括簇內(nèi)傳播與簇間傳播兩種傳播方式。節(jié)點(diǎn)收到新的含交易事件后,根據(jù)鄰居節(jié)點(diǎn)Hello消息中的跳數(shù)(hop)進(jìn)行篩選,選擇更靠近簇首的鄰居節(jié)點(diǎn)傳播本地副本,通過(guò)明確事件的傳播方向,確保簇首優(yōu)先收到包含交易事件并進(jìn)行檢查,以加快事件的傳播速度與新入簇節(jié)點(diǎn)的發(fā)現(xiàn)速度,降低傳播冗余。

    3.1 簇內(nèi)傳播機(jī)制

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

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

    簇首優(yōu)先算法的執(zhí)行過(guò)程見(jiàn)算法2。

    算法2 簇首優(yōu)先算法

    輸入:鄰居節(jié)點(diǎn)列表NeighborList。

    輸出:距離簇首更近的鄰居節(jié)點(diǎn)。

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

    find hop data in NeighborList ; /* 在鄰居列表中查找鄰居節(jié)點(diǎn)距離簇首的跳數(shù) */

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

    node N = getNodeID (hop) ; // 獲得該鄰居節(jié)點(diǎn)的ID

    gossip to node N;// 將更新事件發(fā)給該鄰居節(jié)點(diǎn),CH-First算法結(jié)束

    end while

    3.2 簇間傳播機(jī)制

    通過(guò)判斷有無(wú)網(wǎng)關(guān)節(jié)點(diǎn),可將事件的簇間傳播劃分為兩種情況。當(dāng)簇間存在網(wǎng)關(guān)節(jié)點(diǎn)時(shí),簇間傳播總體思路為依靠網(wǎng)關(guān)節(jié)點(diǎn),實(shí)現(xiàn)事件的跨簇傳遞。如果一個(gè)節(jié)點(diǎn)同時(shí)處于兩個(gè)或多個(gè)簇首的通信范圍內(nèi),那么該節(jié)點(diǎn)不屬于任何一個(gè)分簇,成為獨(dú)立的網(wǎng)關(guān)節(jié)點(diǎn)。如果兩個(gè)分簇距離較近,邊緣節(jié)點(diǎn)之間可以直接通信,那么就設(shè)定ID較小的邊緣節(jié)點(diǎn)成為網(wǎng)關(guān)節(jié)點(diǎn)。不同分簇之間可能會(huì)由網(wǎng)關(guān)節(jié)點(diǎn)相連,也可能彼此孤立沒(méi)有連接。如果分簇間存在網(wǎng)關(guān)節(jié)點(diǎn),那么由網(wǎng)關(guān)節(jié)點(diǎn)作為溝通的橋梁,與不同簇的節(jié)點(diǎn)進(jìn)行Gossip通信,實(shí)現(xiàn)事件的跨簇傳播。

    網(wǎng)關(guān)節(jié)點(diǎn)位于不同簇首之間時(shí),借助網(wǎng)關(guān)節(jié)點(diǎn)的事件簇間傳播過(guò)程如圖9所示。圖9(a)中簇C2的簇首收到簇內(nèi)的事件后,首先判斷鄰居列表中是否包含網(wǎng)關(guān)節(jié)點(diǎn),如果不包含,則不涉及借助網(wǎng)關(guān)節(jié)點(diǎn)的簇間傳播;如果包含,再判斷該事件是否曾經(jīng)發(fā)送給網(wǎng)關(guān)節(jié)點(diǎn)。如果已發(fā)送過(guò),則不再發(fā)送;如果從未發(fā)送過(guò),則優(yōu)先發(fā)給網(wǎng)關(guān)節(jié)點(diǎn),如圖9(b)所示。網(wǎng)關(guān)節(jié)點(diǎn)收到簇C2的更新事件,立刻傳播給鄰居列表中的其他簇的節(jié)點(diǎn),如圖9(c)所示,將其傳播給簇C1的簇首。簇C1的簇首再選擇鄰居節(jié)點(diǎn)進(jìn)行通信,如圖9(d)所示,將其他簇更新的哈希圖在本簇中傳播開(kāi)來(lái),最后,簇C1、C2中所有的節(jié)點(diǎn)都擁有了更新的事件。

    邊緣節(jié)點(diǎn)成為網(wǎng)關(guān)節(jié)點(diǎn)時(shí),簇間傳播過(guò)程如圖10所示。圖10(a)中兩個(gè)分簇逐漸靠近,邊緣節(jié)點(diǎn)取得聯(lián)系。根據(jù)設(shè)定的規(guī)則,ID較小的邊緣節(jié)點(diǎn)成為網(wǎng)關(guān)節(jié)點(diǎn),如圖10(b)所示,簇C2的邊緣節(jié)點(diǎn)將本簇的新事件同步至網(wǎng)關(guān)節(jié)點(diǎn)。網(wǎng)關(guān)節(jié)點(diǎn)再將事件傳播至其他分簇的節(jié)點(diǎn),如圖10(c)所示。簇C1的簇首節(jié)點(diǎn)將收到的事件在本簇中傳播開(kāi)來(lái),如圖10(d)所示,最終實(shí)現(xiàn)了簇C1、C2哈希圖的同步。

    當(dāng)簇間不存在網(wǎng)關(guān)節(jié)點(diǎn),無(wú)法借助網(wǎng)關(guān)節(jié)點(diǎn)直接進(jìn)行事件同步時(shí),簇間傳播的總體思路為依靠移動(dòng)入簇的新節(jié)點(diǎn),實(shí)現(xiàn)分簇間事件的同步。由于移動(dòng),節(jié)點(diǎn)可能離開(kāi)原簇,加入新簇,在此過(guò)程中,節(jié)點(diǎn)可將自身存儲(chǔ)的原簇事件同步至新簇,同時(shí),接收并存儲(chǔ)新簇的事件,這一過(guò)程實(shí)現(xiàn)了不同簇間事件的傳播。無(wú)網(wǎng)關(guān)節(jié)點(diǎn)的事件簇間傳播過(guò)程如圖11所示。

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

    4 安全性分析

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

    a)雙花攻擊。在雙花攻擊中,惡意節(jié)點(diǎn)建立分叉,創(chuàng)建兩個(gè)新事件,使兩個(gè)事件引用同一個(gè)自父事件,如果兩個(gè)事件均能通過(guò)共識(shí)確認(rèn),節(jié)點(diǎn)就成功發(fā)動(dòng)了雙花攻擊。在本文共識(shí)中,通過(guò)選舉極佳見(jiàn)證事件并投票,只有被超過(guò)2/3個(gè)節(jié)點(diǎn)檢查無(wú)誤并引用過(guò)的事件,才能達(dá)成共識(shí)。而雙花攻擊的兩個(gè)事件,最多只能有一條分叉被超過(guò)2/3的節(jié)點(diǎn)見(jiàn)證并通過(guò)共識(shí),此時(shí)另一條分叉因引用節(jié)點(diǎn)少于1/3而無(wú)法通過(guò)共識(shí),或兩條分叉均無(wú)法達(dá)到2/3的共識(shí)門(mén)檻。兩種情況下,惡意節(jié)點(diǎn)的雙花攻擊均無(wú)法成功實(shí)現(xiàn)。

    b)女巫(Sybil)攻擊。女巫攻擊指惡意節(jié)點(diǎn)冒充多個(gè)身份,實(shí)現(xiàn)數(shù)量在分簇中占據(jù)優(yōu)勢(shì),從而操縱共識(shí)。在本文模型中,為保障數(shù)據(jù)隱私與安全,假設(shè)模型應(yīng)用場(chǎng)景為聯(lián)盟鏈或私有鏈,節(jié)點(diǎn)加入網(wǎng)絡(luò)需進(jìn)行注冊(cè)和身份認(rèn)證,所有節(jié)點(diǎn)的公鑰公開(kāi)已知,身份可以相互驗(yàn)證,一個(gè)節(jié)點(diǎn)無(wú)法通過(guò)申請(qǐng)多個(gè)公鑰冒充多個(gè)節(jié)點(diǎn),從而可以防范女巫攻擊。

    c)拒絕服務(wù)(DoS)攻擊。在DoS攻擊中,攻擊者將大量信息發(fā)送給弱點(diǎn)節(jié)點(diǎn),使該節(jié)點(diǎn)無(wú)法將有限的設(shè)備資源用于區(qū)塊鏈網(wǎng)絡(luò),從而影響區(qū)塊鏈的性能,弱點(diǎn)節(jié)點(diǎn)通常為領(lǐng)導(dǎo)者節(jié)點(diǎn)。本文模型中共識(shí)算法沒(méi)有領(lǐng)導(dǎo)者,所有節(jié)點(diǎn)共同維護(hù)共識(shí)的正確進(jìn)行。即使攻擊者攻破某個(gè)節(jié)點(diǎn),剩余節(jié)點(diǎn)也可以正常維持整個(gè)區(qū)塊鏈系統(tǒng),進(jìn)而有效抵抗DoS攻擊。

    d)針對(duì)領(lǐng)導(dǎo)者的攻擊。多出現(xiàn)于能預(yù)先確認(rèn)領(lǐng)導(dǎo)者的PBFT算法。惡意節(jié)點(diǎn)通過(guò)預(yù)知領(lǐng)導(dǎo)者是哪一節(jié)點(diǎn),從而發(fā)動(dòng)攻擊,阻礙共識(shí)的正常進(jìn)行。在本文模型中,沒(méi)有領(lǐng)導(dǎo)者來(lái)主導(dǎo)共識(shí)。簇首節(jié)點(diǎn)僅對(duì)共識(shí)具有推動(dòng)作用,一旦失效可以進(jìn)行替換。同時(shí),根據(jù)權(quán)值公式中的能力值影響因素,簇首是分簇內(nèi)性能較高的節(jié)點(diǎn),具有應(yīng)對(duì)攻擊的防范能力。通過(guò)發(fā)布簇首選舉事件,驗(yàn)證并比較其他節(jié)點(diǎn)能力值的高低來(lái)選舉簇首,確保了選舉的公平性。

    5 實(shí)驗(yàn)

    本章從分簇?cái)?shù)量、活躍度、吞吐量、平均共識(shí)時(shí)延、FS-Gossip協(xié)議五個(gè)方面對(duì)模型的性能進(jìn)行測(cè)試,以此驗(yàn)證模型的可用性。

    實(shí)驗(yàn)的硬件環(huán)境為一臺(tái)MacBook Air,處理器為八核Apple M1,內(nèi)存8 GB,軟件環(huán)境為Eclipse IDE 4.24.0。為模擬多個(gè)節(jié)點(diǎn)建立分簇拓?fù)洳?chuàng)建新事件、同步哈希圖,實(shí)驗(yàn)采用JAVA多線程技術(shù),每個(gè)線程代表一個(gè)節(jié)點(diǎn),線程與線程之間可以相互通信,以傳遞參數(shù)。

    5.1 分簇?cái)?shù)量與模型性能的關(guān)系

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

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

    5.2 活躍度與模型性能

    本實(shí)驗(yàn)測(cè)試節(jié)點(diǎn)活躍度對(duì)模型性能的影響,設(shè)置了多組不同的創(chuàng)建事件頻率,記錄平均時(shí)延,實(shí)驗(yàn)結(jié)果如圖13所示??梢钥闯觯录?chuàng)建間隔越長(zhǎng),節(jié)點(diǎn)產(chǎn)生新事件頻率越低,共識(shí)越慢,時(shí)延越高,本文提出的確定極佳事件快速共識(shí)機(jī)制的時(shí)延增速慢于Hashgraph,略高于Teegraph。本文通過(guò)節(jié)點(diǎn)計(jì)算能力值選舉簇首,而能力值公式中除了電池能量、相對(duì)移動(dòng)性等客觀因素外,還考慮了活躍度這一主觀因素,能夠激勵(lì)節(jié)點(diǎn)提高活躍度,增加創(chuàng)建事件頻率,加快共識(shí)進(jìn)程,因此時(shí)延性能要明顯好于Hashgraph,在考慮節(jié)點(diǎn)與事件管理功能的前提下與Teegraph基本相同。

    5.3 吞吐量測(cè)試

    吞吐量是評(píng)價(jià)系統(tǒng)性能的重要指標(biāo)之一,體現(xiàn)了單位時(shí)間內(nèi)達(dá)成共識(shí)確認(rèn)的事件的多少,吞吐量越大,系統(tǒng)的處理能力越強(qiáng)。本實(shí)驗(yàn)測(cè)試改進(jìn)后共識(shí)機(jī)制的吞吐量,并與Hashgraph、Teegraph進(jìn)行對(duì)比,假設(shè)每個(gè)節(jié)點(diǎn)創(chuàng)建新事件的頻率不變,實(shí)驗(yàn)結(jié)果如圖14所示。從圖中可以看出,本文共識(shí)算法的吞吐量高于Hashgraph,與Teegraph不相上下,原因是本文提出的共識(shí)算法在節(jié)點(diǎn)不裝配可信執(zhí)行環(huán)境的情況下,確保安全性的同時(shí)縮短了共識(shí)輪次,簡(jiǎn)化了共識(shí)流程,增大有效Gossip的發(fā)生概率,提高系統(tǒng)吞吐量。

    5.4 共識(shí)時(shí)延測(cè)試

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

    5.5 FS-Gossip測(cè)試

    本文設(shè)計(jì)事件同步率這一變量,來(lái)評(píng)價(jià)Gossip協(xié)議的通信效果。圖中橫坐標(biāo)代表全局哈希圖中事件的數(shù)目,縱坐標(biāo)事件同步率體現(xiàn)了節(jié)點(diǎn)對(duì)這些事件的平均存儲(chǔ)比例。隨著節(jié)點(diǎn)擴(kuò)展哈希圖,產(chǎn)生的事件越來(lái)越多,全網(wǎng)節(jié)點(diǎn)平均存儲(chǔ)事件的數(shù)目與當(dāng)前全局哈希圖所擁有的事件數(shù)目作百分比,就得到事件同步率。實(shí)驗(yàn)分別對(duì)兩種情況進(jìn)行測(cè)試,一種情況為簇內(nèi)節(jié)點(diǎn)間距較小,任一節(jié)點(diǎn)均處于其他節(jié)點(diǎn)的通信范圍內(nèi),節(jié)點(diǎn)間可以互相通信;另一種情況為簇內(nèi)節(jié)點(diǎn)間距較大,每個(gè)節(jié)點(diǎn)擁有自身的鄰居列表,不相鄰的節(jié)點(diǎn)傳遞信息需借助中間節(jié)點(diǎn),并設(shè)置了一種拓?fù)淝闆r進(jìn)行實(shí)驗(yàn)。節(jié)點(diǎn)間距較小時(shí),實(shí)驗(yàn)結(jié)果如圖16所示。從圖中可以看出,在6個(gè)和9個(gè)節(jié)點(diǎn)兩種情況下,產(chǎn)生的事件數(shù)相等時(shí),本文提出的FS-Gossip算法更容易選擇高信息收益的鄰居節(jié)點(diǎn)進(jìn)行通信,平均事件同步率均高于隨機(jī)Gossip算法。

    節(jié)點(diǎn)間距較大時(shí),設(shè)置了兩種拓?fù)淝闆r進(jìn)行實(shí)驗(yàn),圖17(a)展示了簇內(nèi)有6個(gè)節(jié)點(diǎn)時(shí)的一種拓?fù)淝闆r,由于節(jié)點(diǎn)間距離較遠(yuǎn),節(jié)點(diǎn)2只能與節(jié)點(diǎn)1、5發(fā)生通信,簇內(nèi)其他節(jié)點(diǎn)不在節(jié)點(diǎn)2通信范圍內(nèi),故無(wú)法與之直接通信。同理,圖17(b)展示了簇內(nèi)有9個(gè)節(jié)點(diǎn)時(shí)一種可能的拓?fù)淝闆r。

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

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

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

    參考文獻(xiàn):

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

    [2]宋建華,洪帆,何曉冰.移動(dòng)Ad hoc網(wǎng)的典型網(wǎng)絡(luò)攻擊與防范[J].微計(jì)算機(jī)應(yīng)用,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]劉懿中,劉建偉,張宗洋,等.區(qū)塊鏈共識(shí)機(jī)制研究綜述[J].密碼學(xué)報(bào),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]黃建華,黃雪茹,季鈺翔,等.一種基于雙鏈模型的分區(qū)共識(shí)協(xié)議[J].計(jì)算機(jī)應(yīng)用研究,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的多源快速數(shù)據(jù)分發(fā)技術(shù)研究 [D].湖南:國(guó)防科技大學(xué),2009.(Ma Xingkong.Research of Gossip-based multisource flash data dissemination technology[D].Hunan:National University of Defense Technology,2009.)

    [16]張娓娓,范訓(xùn)禮,房鼎益.基于模糊理論的P2P流媒體節(jié)點(diǎn)選擇算法[J].計(jì)算機(jī)工程,2009,35(23):88-90.(Zhang Weiwei,F(xiàn)an Xunli,F(xiàn)ang Dingyi.A P2P streaming media node selection algorithm based on fuzzy theory[J].Computer Engineering,2009,35(23):88-90.)

    [17]田振興,代杰.基于改進(jìn)Gossip協(xié)議的數(shù)據(jù)同步設(shè)計(jì)[J].指揮信息系統(tǒng)與技術(shù),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]張奇文,王志強(qiáng),張逸謙.基于Gossip協(xié)議的信任收集共識(shí)算法研究[J].計(jì)算機(jī)科學(xué),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]徐晶晶,張欣慧,許必宵,等.無(wú)線傳感器網(wǎng)絡(luò)分簇算法綜述[J].計(jì)算機(jī)科學(xué),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]周藝華,賈立圓,賈玉欣,等.基于信譽(yù)度的Hashgraph共識(shí)算法[J].計(jì)算機(jī)應(yīng)用研究,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

    基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(62076094)

    作者簡(jiǎn)介:宮在為(2000-),女,黑龍江密山人,碩士,主要研究方向?yàn)閰^(qū)塊鏈;黃建華(1963-),男(通信作者),湖南懷化人,副教授,博士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)與信息安全(jhhuang@ecust.edu.cn);顧彬(1999-),男,上海人,碩士,主要研究方向?yàn)閰^(qū)塊鏈;寧宇豪(1998-),男,山西運(yùn)城人,碩士,主要研究方向?yàn)閰^(qū)塊鏈;張文韜(1999-),男,浙江紹興人,碩士,主要研究方向?yàn)閰^(qū)塊鏈.

    猜你喜歡
    區(qū)塊鏈
    區(qū)塊鏈對(duì)互聯(lián)網(wǎng)金融發(fā)展的重塑與挑戰(zhàn)分析
    基于區(qū)塊鏈技術(shù)的海上散裝液體化學(xué)品運(yùn)輸安全監(jiān)管方法
    保險(xiǎn)企業(yè)的區(qū)塊鏈技術(shù)應(yīng)用方向選擇研究
    區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用與前景研究
    區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
    商情(2016年40期)2016-11-28 11:24:12
    “區(qū)塊鏈”發(fā)展現(xiàn)狀評(píng)述及展望
    商(2016年34期)2016-11-24 14:46:00
    “區(qū)塊鏈”的茍且、詩(shī)和遠(yuǎn)方
    基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
    互聯(lián)網(wǎng)金融新模式與中小企業(yè)融資關(guān)系研究
    智能合約與金融合約
    商(2016年6期)2016-04-20 17:50:36
    男人操女人黄网站| 9热在线视频观看99| 9191精品国产免费久久| 亚洲精品国产区一区二| avwww免费| videosex国产| 日韩一卡2卡3卡4卡2021年| 国产精品一区二区在线不卡| 一二三四在线观看免费中文在| www.自偷自拍.com| 99re6热这里在线精品视频| 最近最新免费中文字幕在线| 欧美国产精品一级二级三级| 变态另类成人亚洲欧美熟女 | 国产精品成人在线| 久久久精品94久久精品| 少妇 在线观看| 欧美精品高潮呻吟av久久| 色94色欧美一区二区| 国产欧美日韩一区二区精品| 午夜免费鲁丝| 成人av一区二区三区在线看| 岛国毛片在线播放| 欧美日韩福利视频一区二区| 亚洲午夜理论影院| 精品亚洲乱码少妇综合久久| videosex国产| 一本色道久久久久久精品综合| 丝袜美足系列| 自线自在国产av| 1024香蕉在线观看| 亚洲人成77777在线视频| 亚洲国产欧美日韩在线播放| 国产成人免费无遮挡视频| 国产成人啪精品午夜网站| 老司机福利观看| 日本撒尿小便嘘嘘汇集6| 国产成人一区二区三区免费视频网站| 精品久久久久久电影网| 成人国产av品久久久| 成人精品一区二区免费| 国产成人免费无遮挡视频| 国产在视频线精品| 亚洲va日本ⅴa欧美va伊人久久| 久久久久网色| 999精品在线视频| 蜜桃在线观看..| 久久天躁狠狠躁夜夜2o2o| 国产精品久久电影中文字幕 | 中文亚洲av片在线观看爽 | 日韩大码丰满熟妇| 人人妻人人添人人爽欧美一区卜| 三上悠亚av全集在线观看| 精品人妻熟女毛片av久久网站| 成人手机av| 成人18禁高潮啪啪吃奶动态图| 在线观看66精品国产| 午夜福利乱码中文字幕| av网站免费在线观看视频| 午夜激情久久久久久久| 侵犯人妻中文字幕一二三四区| 亚洲精品久久成人aⅴ小说| 国产成人精品无人区| 亚洲avbb在线观看| 亚洲熟女毛片儿| 日韩欧美三级三区| av福利片在线| 香蕉久久夜色| 91字幕亚洲| 飞空精品影院首页| 日韩有码中文字幕| 麻豆国产av国片精品| 香蕉国产在线看| 精品国产一区二区久久| 免费av中文字幕在线| 国产精品一区二区免费欧美| 精品卡一卡二卡四卡免费| 9热在线视频观看99| 三上悠亚av全集在线观看| 国产成人系列免费观看| 天堂动漫精品| 国产精品自产拍在线观看55亚洲 | 青草久久国产| 99九九在线精品视频| 亚洲av成人不卡在线观看播放网| 人人妻人人澡人人爽人人夜夜| 视频区图区小说| 精品高清国产在线一区| 日本欧美视频一区| 国产福利在线免费观看视频| 搡老乐熟女国产| 麻豆乱淫一区二区| 高清视频免费观看一区二区| 精品国产乱码久久久久久小说| 久久国产亚洲av麻豆专区| 好男人电影高清在线观看| 日韩熟女老妇一区二区性免费视频| 嫁个100分男人电影在线观看| 免费看十八禁软件| 动漫黄色视频在线观看| 欧美精品亚洲一区二区| 精品少妇一区二区三区视频日本电影| 久久精品亚洲熟妇少妇任你| 国产99久久九九免费精品| 黄色毛片三级朝国网站| 久久久久久久久免费视频了| netflix在线观看网站| 激情在线观看视频在线高清 | 视频区图区小说| 国产高清国产精品国产三级| 亚洲专区中文字幕在线| 高清黄色对白视频在线免费看| 亚洲avbb在线观看| 午夜视频精品福利| 亚洲国产精品一区二区三区在线| 最新美女视频免费是黄的| 国产一区二区三区视频了| 国产亚洲欧美在线一区二区| 婷婷丁香在线五月| 热re99久久精品国产66热6| 美女高潮到喷水免费观看| 精品国产一区二区久久| 变态另类成人亚洲欧美熟女 | 成人永久免费在线观看视频 | 久久青草综合色| 好男人电影高清在线观看| 日韩欧美免费精品| 精品一区二区三区av网在线观看 | 久久婷婷成人综合色麻豆| 国精品久久久久久国模美| 国产精品1区2区在线观看. | 一边摸一边做爽爽视频免费| 天天影视国产精品| 午夜福利,免费看| 中文字幕人妻丝袜制服| 可以免费在线观看a视频的电影网站| 午夜福利影视在线免费观看| 国产精品影院久久| 国产三级黄色录像| 99精品久久久久人妻精品| √禁漫天堂资源中文www| 精品国产乱子伦一区二区三区| 一本综合久久免费| 老汉色∧v一级毛片| 国产不卡一卡二| 黄色视频,在线免费观看| 男人操女人黄网站| 一级毛片电影观看| 在线十欧美十亚洲十日本专区| 亚洲全国av大片| 国产精品久久久人人做人人爽| 成在线人永久免费视频| 午夜福利在线观看吧| 狂野欧美激情性xxxx| 黄色视频在线播放观看不卡| 国产成人精品在线电影| 久久久精品94久久精品| 国产亚洲精品第一综合不卡| 18在线观看网站| 真人做人爱边吃奶动态| 一区二区日韩欧美中文字幕| 精品国产一区二区久久| 97人妻天天添夜夜摸| 欧美黑人欧美精品刺激| 日韩中文字幕视频在线看片| 三上悠亚av全集在线观看| 18禁美女被吸乳视频| 亚洲欧洲精品一区二区精品久久久| 亚洲国产欧美日韩在线播放| 久久亚洲真实| 色综合婷婷激情| 久久国产精品男人的天堂亚洲| 久久性视频一级片| 99国产精品一区二区三区| 热99久久久久精品小说推荐| 国产极品粉嫩免费观看在线| 日韩一区二区三区影片| 日韩视频一区二区在线观看| 国产高清国产精品国产三级| 日本欧美视频一区| 国产成人一区二区三区免费视频网站| 黄网站色视频无遮挡免费观看| 女人久久www免费人成看片| 久久精品国产99精品国产亚洲性色 | 亚洲一区中文字幕在线| 午夜福利免费观看在线| 成人18禁高潮啪啪吃奶动态图| 亚洲精品中文字幕在线视频| 国产精品二区激情视频| av在线播放免费不卡| 久久久精品区二区三区| 韩国精品一区二区三区| 欧美激情 高清一区二区三区| 18禁美女被吸乳视频| 欧美黄色淫秽网站| 亚洲色图综合在线观看| 不卡一级毛片| 18禁国产床啪视频网站| 最近最新免费中文字幕在线| 午夜成年电影在线免费观看| 777久久人妻少妇嫩草av网站| 久久国产精品男人的天堂亚洲| 久久99一区二区三区| 成人三级做爰电影| 欧美性长视频在线观看| 久久av网站| aaaaa片日本免费| 国产精品1区2区在线观看. | av有码第一页| av天堂久久9| 亚洲av成人不卡在线观看播放网| av超薄肉色丝袜交足视频| 啦啦啦视频在线资源免费观看| 国产又爽黄色视频| 99久久国产精品久久久| 国产一区二区三区视频了| 精品免费久久久久久久清纯 | 亚洲国产欧美日韩在线播放| 亚洲一区二区三区欧美精品| 亚洲自偷自拍图片 自拍| 97在线人人人人妻| 99国产精品免费福利视频| 欧美日韩av久久| 大型黄色视频在线免费观看| 91麻豆精品激情在线观看国产 | 曰老女人黄片| av欧美777| 1024视频免费在线观看| 国产片内射在线| 黄色成人免费大全| 考比视频在线观看| 男女边摸边吃奶| 国产午夜精品久久久久久| 在线观看免费日韩欧美大片| 精品国产国语对白av| a级片在线免费高清观看视频| 亚洲伊人久久精品综合| 欧美日韩黄片免| 国产福利在线免费观看视频| 搡老熟女国产l中国老女人| 宅男免费午夜| 日韩大片免费观看网站| 女性被躁到高潮视频| 国产又爽黄色视频| 国产一区二区激情短视频| 国产不卡av网站在线观看| 丝袜人妻中文字幕| 亚洲免费av在线视频| 亚洲自偷自拍图片 自拍| 巨乳人妻的诱惑在线观看| 亚洲九九香蕉| 狂野欧美激情性xxxx| 777久久人妻少妇嫩草av网站| 国产精品免费一区二区三区在线 | 成年人免费黄色播放视频| 久久这里只有精品19| 99国产精品一区二区三区| 国产又色又爽无遮挡免费看| 国产福利在线免费观看视频| 午夜久久久在线观看| 亚洲欧美激情在线| 老汉色av国产亚洲站长工具| 99热国产这里只有精品6| 王馨瑶露胸无遮挡在线观看| tube8黄色片| 最近最新中文字幕大全免费视频| 欧美另类亚洲清纯唯美| 国产精品98久久久久久宅男小说| 精品人妻熟女毛片av久久网站| 国产亚洲午夜精品一区二区久久| 亚洲国产看品久久| 精品欧美一区二区三区在线| 女人高潮潮喷娇喘18禁视频| 精品久久久久久电影网| 久久人人97超碰香蕉20202| 大香蕉久久成人网| 国产精品1区2区在线观看. | 欧美日韩一级在线毛片| 婷婷成人精品国产| tocl精华| 亚洲中文字幕日韩| 欧美亚洲 丝袜 人妻 在线| 中文字幕精品免费在线观看视频| 露出奶头的视频| 色视频在线一区二区三区| 久久精品国产亚洲av香蕉五月 | 五月天丁香电影| 国产精品自产拍在线观看55亚洲 | 久久人人97超碰香蕉20202| 18在线观看网站| 手机成人av网站| 91av网站免费观看| 9191精品国产免费久久| 亚洲av电影在线进入| 国产一区二区 视频在线| 欧美在线黄色| 日韩大片免费观看网站| 精品亚洲成国产av| 成人国产av品久久久| 日本av免费视频播放| 757午夜福利合集在线观看| 女性生殖器流出的白浆| 脱女人内裤的视频| 天堂动漫精品| xxxhd国产人妻xxx| 日本黄色日本黄色录像| 50天的宝宝边吃奶边哭怎么回事| 亚洲,欧美精品.| 国产精品免费大片| 天天躁狠狠躁夜夜躁狠狠躁| 极品人妻少妇av视频| 亚洲国产成人一精品久久久| 香蕉国产在线看| 五月天丁香电影| 中文字幕另类日韩欧美亚洲嫩草| av国产精品久久久久影院| 久久久欧美国产精品| av网站在线播放免费| 波多野结衣av一区二区av| 亚洲人成伊人成综合网2020| 伊人久久大香线蕉亚洲五| 一区在线观看完整版| 在线观看免费视频日本深夜| 亚洲一区二区三区欧美精品| 在线观看免费视频日本深夜| 欧美亚洲 丝袜 人妻 在线| av免费在线观看网站| 黄频高清免费视频| 一本大道久久a久久精品| 天天添夜夜摸| 中文字幕av电影在线播放| 日韩欧美三级三区| 人人妻人人添人人爽欧美一区卜| 国产在线视频一区二区| 50天的宝宝边吃奶边哭怎么回事| 国产欧美日韩精品亚洲av| 久久久久久久久免费视频了| 欧美激情 高清一区二区三区| 久久久精品94久久精品| 国产不卡av网站在线观看| 色尼玛亚洲综合影院| 欧美在线黄色| 国产精品久久电影中文字幕 | 久久久久精品人妻al黑| 日日摸夜夜添夜夜添小说| 日本精品一区二区三区蜜桃| 91老司机精品| www.999成人在线观看| 国产人伦9x9x在线观看| 免费在线观看完整版高清| 国产aⅴ精品一区二区三区波| 在线永久观看黄色视频| av一本久久久久| 久久精品熟女亚洲av麻豆精品| 欧美成人免费av一区二区三区 | 欧美黄色片欧美黄色片| 精品少妇久久久久久888优播| 深夜精品福利| 亚洲精品av麻豆狂野| 中文字幕人妻丝袜一区二区| 窝窝影院91人妻| 91精品三级在线观看| 色视频在线一区二区三区| 国产精品二区激情视频| 亚洲欧美日韩高清在线视频 | 精品久久久精品久久久| 99精国产麻豆久久婷婷| 欧美乱码精品一区二区三区| 久久中文字幕一级| 久久久久网色| 亚洲精品自拍成人| 国产亚洲av高清不卡| 一级,二级,三级黄色视频| 久热爱精品视频在线9| 一级片免费观看大全| a级毛片黄视频| 丝袜美腿诱惑在线| 亚洲欧洲精品一区二区精品久久久| 乱人伦中国视频| 国产日韩欧美视频二区| 日本黄色日本黄色录像| 99热网站在线观看| 女同久久另类99精品国产91| 国产三级黄色录像| 高清av免费在线| 午夜视频精品福利| av超薄肉色丝袜交足视频| 精品高清国产在线一区| a级片在线免费高清观看视频| 亚洲精品乱久久久久久| 老汉色∧v一级毛片| 欧美精品人与动牲交sv欧美| 亚洲av片天天在线观看| 国产不卡av网站在线观看| 女人久久www免费人成看片| 欧美日韩成人在线一区二区| 日韩中文字幕欧美一区二区| 别揉我奶头~嗯~啊~动态视频| 天天躁夜夜躁狠狠躁躁| 桃花免费在线播放| 天天影视国产精品| 国产精品免费大片| 久久av网站| 久久99热这里只频精品6学生| 亚洲av美国av| 99精品在免费线老司机午夜| 亚洲性夜色夜夜综合| 中文字幕精品免费在线观看视频| 高清黄色对白视频在线免费看| 精品福利观看| 久久精品91无色码中文字幕| 激情视频va一区二区三区| 免费人妻精品一区二区三区视频| 丝袜在线中文字幕| 一进一出抽搐动态| 精品亚洲成国产av| www.精华液| 亚洲成人国产一区在线观看| 精品少妇久久久久久888优播| 亚洲中文av在线| 亚洲精品av麻豆狂野| 亚洲精品美女久久久久99蜜臀| 看免费av毛片| 人妻一区二区av| 久久久久精品国产欧美久久久| 亚洲,欧美精品.| 亚洲色图综合在线观看| 免费高清在线观看日韩| 免费在线观看视频国产中文字幕亚洲| 男女边摸边吃奶| 另类精品久久| 人人妻人人澡人人看| videos熟女内射| 可以免费在线观看a视频的电影网站| avwww免费| 国产高清videossex| 日本精品一区二区三区蜜桃| 黄频高清免费视频| 9191精品国产免费久久| 99国产精品一区二区蜜桃av | 久久久久久久国产电影| 国产成人欧美在线观看 | 精品免费久久久久久久清纯 | 国产精品久久久人人做人人爽| 黄色丝袜av网址大全| 人妻一区二区av| 91精品国产国语对白视频| 国产精品一区二区在线观看99| 超碰成人久久| 亚洲av第一区精品v没综合| 亚洲精品一卡2卡三卡4卡5卡| 国产色视频综合| 12—13女人毛片做爰片一| 99久久国产精品久久久| 国产又爽黄色视频| 9色porny在线观看| 免费高清在线观看日韩| 精品福利观看| 午夜精品久久久久久毛片777| 99国产极品粉嫩在线观看| 午夜激情久久久久久久| 国产精品二区激情视频| 亚洲中文日韩欧美视频| 欧美精品一区二区大全| 动漫黄色视频在线观看| 日韩一卡2卡3卡4卡2021年| 国产不卡一卡二| 国产精品一区二区免费欧美| 天天添夜夜摸| 国产精品一区二区精品视频观看| 久久香蕉激情| 亚洲成人免费av在线播放| 免费久久久久久久精品成人欧美视频| 免费在线观看完整版高清| 男男h啪啪无遮挡| 亚洲国产精品一区二区三区在线| 亚洲精品在线美女| 女人精品久久久久毛片| 久久精品aⅴ一区二区三区四区| 色视频在线一区二区三区| 亚洲性夜色夜夜综合| 黄色视频在线播放观看不卡| 99香蕉大伊视频| 一个人免费看片子| 久久热在线av| 午夜福利在线免费观看网站| 久久久久网色| 国产熟女午夜一区二区三区| 国产成人系列免费观看| 国产精品一区二区免费欧美| 叶爱在线成人免费视频播放| 国产精品99久久99久久久不卡| 国产熟女午夜一区二区三区| 亚洲欧美色中文字幕在线| 国产精品一区二区在线不卡| 亚洲av电影在线进入| 欧美日韩av久久| 69精品国产乱码久久久| 在线观看一区二区三区激情| 成人18禁高潮啪啪吃奶动态图| 成人亚洲精品一区在线观看| 午夜激情av网站| 精品熟女少妇八av免费久了| 国产精品久久久av美女十八| 久久影院123| 久久久国产精品麻豆| 手机成人av网站| 欧美人与性动交α欧美精品济南到| tube8黄色片| 精品第一国产精品| 国内毛片毛片毛片毛片毛片| 女同久久另类99精品国产91| 日本vs欧美在线观看视频| av欧美777| 国产精品电影一区二区三区 | 免费久久久久久久精品成人欧美视频| 久久久水蜜桃国产精品网| 色婷婷久久久亚洲欧美| 麻豆国产av国片精品| 国产精品久久久av美女十八| 色视频在线一区二区三区| 免费观看av网站的网址| 国产无遮挡羞羞视频在线观看| 免费不卡黄色视频| 国产精品国产av在线观看| 怎么达到女性高潮| 精品免费久久久久久久清纯 | 黄色视频不卡| 在线十欧美十亚洲十日本专区| 黄片大片在线免费观看| 97在线人人人人妻| 久久影院123| 99国产综合亚洲精品| 亚洲中文字幕日韩| 国产成人欧美在线观看 | 69精品国产乱码久久久| 国产淫语在线视频| 看免费av毛片| 天天操日日干夜夜撸| 欧美亚洲日本最大视频资源| 成人三级做爰电影| 国产一区二区激情短视频| 亚洲色图av天堂| 国产国语露脸激情在线看| av在线播放免费不卡| 日日摸夜夜添夜夜添小说| 电影成人av| 亚洲av成人不卡在线观看播放网| 亚洲精品国产色婷婷电影| 亚洲性夜色夜夜综合| 成人特级黄色片久久久久久久 | 老熟妇仑乱视频hdxx| 亚洲国产中文字幕在线视频| 色94色欧美一区二区| 黑人巨大精品欧美一区二区mp4| 午夜老司机福利片| 少妇被粗大的猛进出69影院| 91九色精品人成在线观看| 视频在线观看一区二区三区| 99久久人妻综合| 久久久国产一区二区| 精品乱码久久久久久99久播| 一本综合久久免费| 国产色视频综合| 老熟妇仑乱视频hdxx| 色婷婷av一区二区三区视频| 巨乳人妻的诱惑在线观看| 午夜成年电影在线免费观看| 日韩 欧美 亚洲 中文字幕| 人妻久久中文字幕网| 男女无遮挡免费网站观看| 91大片在线观看| 男女之事视频高清在线观看| 每晚都被弄得嗷嗷叫到高潮| av网站在线播放免费| videosex国产| 亚洲中文字幕日韩| 一本—道久久a久久精品蜜桃钙片| 亚洲av美国av| 国产精品国产高清国产av | 超色免费av| 欧美av亚洲av综合av国产av| 法律面前人人平等表现在哪些方面| a级片在线免费高清观看视频| 脱女人内裤的视频| 久久久久久久久久久久大奶| 新久久久久国产一级毛片| 亚洲欧美日韩高清在线视频 | 亚洲熟女毛片儿| 可以免费在线观看a视频的电影网站| 免费在线观看视频国产中文字幕亚洲| tocl精华| 国产av一区二区精品久久| 亚洲国产欧美网| 高清毛片免费观看视频网站 | 亚洲精品一卡2卡三卡4卡5卡| 日本wwww免费看| 人人妻人人爽人人添夜夜欢视频| 久久久久网色| 日本撒尿小便嘘嘘汇集6| 十八禁网站免费在线| av免费在线观看网站| 首页视频小说图片口味搜索| 久久久水蜜桃国产精品网| 变态另类成人亚洲欧美熟女 | 少妇被粗大的猛进出69影院| 一本大道久久a久久精品| 成人黄色视频免费在线看| 国产av一区二区精品久久| 又黄又粗又硬又大视频| 亚洲五月婷婷丁香| 少妇精品久久久久久久| 美女福利国产在线| 久久九九热精品免费| 日韩成人在线观看一区二区三区|