本文摘要:摘 要: 提出了一個新型無人機 (Unmanned Aerial Vehicle, UAV) 集群協(xié)作監(jiān)測公共衛(wèi)生事件的監(jiān)測框架, 并討論了該框架中 UAV 執(zhí)行的任務(wù)類型與流程。 針對 UAV 集群通信面臨的復(fù)雜度高、 資源消耗大以及安全性低等挑戰(zhàn), 引入?yún)^(qū)塊鏈技術(shù)來提升其高效性與安全性, 提出了一
摘 要: 提出了一個新型無人機 (Unmanned Aerial Vehicle, UAV) 集群協(xié)作監(jiān)測公共衛(wèi)生事件的監(jiān)測框架, 并討論了該框架中 UAV 執(zhí)行的任務(wù)類型與流程。 針對 UAV 集群通信面臨的復(fù)雜度高、 資源消耗大以及安全性低等挑戰(zhàn), 引入?yún)^(qū)塊鏈技術(shù)來提升其高效性與安全性, 提出了一種改進的拜占庭容錯 ( Improved Byzantine Fault Tolerant, IBFT) 算法, 該算法具有最小的成本和資源并具備可擴展性和普適性。 在正常情況下使用 f+1 個節(jié)點, 在通信故障情況下使用 2f+1 個節(jié)點, 而拜占庭容錯算法使用 3f+1 個節(jié)點。 實驗結(jié)果表明, 所提算法相比于其他對比算法, 具有更高的吞吐量和更低的共識時延,能有效保證 UAV 集群協(xié)作監(jiān)測緊急公共衛(wèi)生事件, 為疫情防控提供一種新手段。
關(guān)鍵詞: 無人機集群; 區(qū)塊鏈; 公共衛(wèi)生事件; 共識算法; 疫情防控
0 引言
在公共衛(wèi)生和安全事件突發(fā)時期,無人機可以將貨物和醫(yī)療用品運送到經(jīng)歷疫情爆發(fā)的隔離區(qū)的特定目標(biāo)地點,用于快速分發(fā)緊急醫(yī)療用品、提供個人防護設(shè)備、口罩檢測、人群疏散和社交距離估計等。 而無人機任務(wù)多依賴無人機協(xié)作來有效和高效地避免碰撞并實時執(zhí)行任務(wù),這就要求無人機減少通信的復(fù)雜性,并以分散的方式進行控制。 無人機之間的協(xié)作是信息交換、任務(wù)共享、相互學(xué)習(xí)和適應(yīng)的過程。 在物聯(lián)網(wǎng)、人工智能和邊緣計算等技術(shù)的支持下,多架無人機可以協(xié)同作業(yè)實現(xiàn)它們之間的復(fù)雜互動。 同時,大規(guī)模無人機集群也面臨著一些挑戰(zhàn),包括無人機網(wǎng)絡(luò)架構(gòu)、無人機監(jiān)管、網(wǎng)絡(luò)分區(qū)、可擴展性、時間、安全和能源效率[ 1]。 在無人機網(wǎng)絡(luò)架構(gòu)中,集中式作業(yè)易受到單個無人機故障的影響,而分布式作業(yè)則易受到缺乏網(wǎng)絡(luò)中所有無人機信息的影響。
在中心化的情況下,無人機執(zhí)行任務(wù)時做出的決策需要耗費較長的時間來控制整個集群,這會導(dǎo)致響應(yīng)延遲,進而引起無人機碰撞。目前無人機集群協(xié)作面臨的問題包括通信復(fù)雜度高、響應(yīng)時間長以及安全性低等,而區(qū)塊鏈被部分學(xué)者認(rèn)為是解決這類關(guān)于集群通信安全與信息共享問題的有效技術(shù)[ 2- 4]。 區(qū)塊鏈技術(shù)起源于比特幣,以時間次序為依據(jù)構(gòu)建區(qū)塊并組合成鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),采用密 碼 學(xué) 算 法 保 證 節(jié) 點 間 信 息 傳 輸 的 安 全性[ 5]。 其中,區(qū)塊鏈去中心化的特征有助于改善無人機系統(tǒng)的網(wǎng)絡(luò)性能,提高系統(tǒng)的安全性與服務(wù)質(zhì)量,并減少任務(wù)執(zhí)行時間。
區(qū)塊鏈技術(shù)確保了數(shù)據(jù)的安全性與準(zhǔn)確性,提高了集群中無人機間的信息透明度,但仍存在可擴展性低、計算資源要求高和通信成本高等問題[ 6]。大多數(shù)非授權(quán)共識算法具有較高的可擴展性,但存在共識時延高、吞吐量有限以及耗電高等問題。 而授權(quán)共識算法如實用拜占庭容錯 ( Practical Byzantine Fault Tolerant,PBFT) 算法,具有較高的吞吐量和較低的共識時延,但不具備可擴展性。 在一個適用于無人機集群的區(qū)塊鏈網(wǎng)絡(luò)中,無人機作為網(wǎng)絡(luò)中的節(jié)點,彼此之間相互通信并傳輸請求以達成共識,該網(wǎng)絡(luò)的可擴展性由網(wǎng)絡(luò)在節(jié)點增加的情況下可處理的額外請求數(shù)量決定。 若能夠減少該網(wǎng)絡(luò)在完成一個請求時所使用的節(jié)點數(shù),與使用更多節(jié)點數(shù)的網(wǎng)絡(luò)相比,該網(wǎng)絡(luò)就可通過增加少量的節(jié)點來處理更多的請求,由此提高了網(wǎng)絡(luò)的可擴展性。
此外,更多的節(jié)點需要更多的信息傳輸,隨著網(wǎng)絡(luò)故障節(jié)點數(shù)的增加,通信需求的增加會導(dǎo)致更多的資源消耗,進一步地影響網(wǎng)絡(luò)的可擴展性。 因此,需要對現(xiàn)有共識算法進行改進,以達到在較多故障節(jié)點存在的情 況 下 也 具 備 可 擴 展 性 并 達 到 節(jié) 約 資 源 的目的。本文以緊急公共衛(wèi)生事件為背景,探索將無人機技術(shù)應(yīng)用于此類事件的解決方案,討論了其在監(jiān)測公共衛(wèi)生事件發(fā)展中的各項應(yīng)用。 此外,針對無人機集中式網(wǎng)絡(luò)架構(gòu)中易發(fā)生單點故障、分布式網(wǎng)絡(luò)架構(gòu)中單個無人機缺乏全局信息的問題,提出基于區(qū)塊鏈技術(shù)構(gòu)建無人機網(wǎng)絡(luò),以幫助無人機集群實現(xiàn)協(xié)作過程中的信息共享與決策執(zhí)行。 最后,為解決現(xiàn)有共識算法存在可擴展性低及資源耗費巨大的問題,本文基于實用拜占庭算法,提出一種適用于無人機集群的改進拜占庭容錯( Improved ByzantineFault Tolerant,IBFT)算法。 該算法通過使用聚合技術(shù)和減少參與共識過程的節(jié)點數(shù)量,降低了共識過程的通信復(fù)雜度和資源開銷。
1 相關(guān)工作
1. 1 無人機集群控制架構(gòu)
無人機集群控制架構(gòu)可分為集中式、分布式和集散式。 其中集中式模式是目前最常用的架構(gòu),對無人機數(shù)據(jù)傳輸鏈路的帶寬、速率及可靠性有很高的要求[ 7],且此類架構(gòu)通常使用單個或多個控制中心管理集群。 分布式架構(gòu)則對集群中無人機間的協(xié)同能力具有較高的要求。 無人機協(xié)同可分為簡單分布式協(xié)同、群體智能協(xié)同及多智能體協(xié)同 3 個發(fā)展階段[ 8]。 各階段的差異主要體現(xiàn)在無人機集群中各個節(jié)點所具備的主動感知能力和對周圍環(huán)境的感知能力,其隨各階段的進步不斷提高,在多智能體協(xié)同階段,每個無人機節(jié)點為一個擁有高度獨立性的智能體,具備高級智能處理能力,能實現(xiàn)高效的主動感知和決策。 集散式架構(gòu)則同時具有前 2 種架構(gòu)的優(yōu)勢,聯(lián)系分布式與集中式,結(jié)合自治與協(xié)作 2 種管理策略,實現(xiàn)集群整體管控的目的。
1. 2 區(qū)塊鏈
區(qū)塊鏈起源于比特幣,是一種分布式架構(gòu),其組織形式分為公共鏈、聯(lián)盟鏈和私有鏈 3 種,具有不可篡改、可溯源、公開透明、去中心化和安全等特點。同時,區(qū)塊鏈也被認(rèn)為是一種分布式賬本,在網(wǎng)絡(luò)中的參與者之間共享,每個參與者都持有同一賬本的副本。 一旦數(shù)據(jù)被追加到賬本上,任何人都不能改變它。 其核心技術(shù)主要有非對稱加密、共識機制和智能合約等。 其中,共識機制允許網(wǎng)絡(luò)中的節(jié)點信任其他節(jié) 點,決 定 了 可 伸 縮 性、交 易 速 度、交 易 完成性和安全性等關(guān)鍵性能特征和電力等資源的消耗。 在分布式系統(tǒng)或分散網(wǎng)絡(luò)中共識機制指的是那些允許節(jié) 點 或 智 能 代 理 在 需 要 時 就 某 些 值、事務(wù)或參數(shù)達成協(xié)議的算法。 其中,PoW 是一種終端為了系統(tǒng)所做工作的數(shù)學(xué)化度量方法,它代表了參與節(jié)點對整體網(wǎng)絡(luò)所做貢獻的量化證明[ 9]。
在比特幣系統(tǒng)中,礦工間相互競爭,通過計算并解決一個生成哈希輸出的密碼學(xué)難題,在現(xiàn)有的區(qū)塊鏈中增加一個新的區(qū)塊。 該證明機制的特征是利用哈希運算的復(fù)雜度,由區(qū)塊鏈系統(tǒng)事先確定節(jié)點的運算(挖礦) 難度,然后采用競爭機制以確定唯一的合法礦工,礦工和驗證節(jié)點所做的工作量存在不對稱性。 PoW 機制存在一些不足,首先 PoW 機制的一個重要前提是節(jié)點和算力的均勻分布,然而隨著硬件設(shè)備的升級,節(jié)點數(shù)和算力值逐漸失去了平衡的狀態(tài)。 其次,PoW 機制會對資源(如電力)產(chǎn)生大量的浪費。 為了解決 PoW 機制存在的問題,提出了 PoS 機制,用隨機選擇過程取代了計算工作,將節(jié)點成功挖礦的機會與其財富成比例地相關(guān),即節(jié)點生成一個區(qū)塊的概率取決于其在網(wǎng)絡(luò)中持有的股權(quán)。 這種方法會加快區(qū)塊鏈的增長速度, 并 且 對 電 力 的 消 耗 也 更 低, 此 外 也 有 減 少51%攻擊的可能性[ 10- 11]。
但同時,該機制也使得區(qū)塊鏈網(wǎng)絡(luò)呈現(xiàn)中心化傾向,降低了普通節(jié)點的參與度。 DPoS 機制是為了解決 PoW 和 PoS 機制的不足而提出的。 DPoS 機制在 PoS 機制的基礎(chǔ)上增加了投票過程,網(wǎng)絡(luò)中的每個節(jié)點通過投票來選舉參與驗證的代表節(jié)點,由代表節(jié)點完成區(qū)塊驗證和記賬。該算法也被描述為股東投票共識方案,因為網(wǎng)絡(luò)中的每一個成員都可以決定誰可以被信任,驗證權(quán)不會集中在擁有最多資源的成員身上,屬于弱中心化。而 PBFT 技術(shù)[ 12] 來源于拜占庭將軍問題,即如何在叛變節(jié)點存在的情況下,使得正常節(jié)點對網(wǎng)絡(luò)狀態(tài)形成共識,通常運用于聯(lián)盟鏈中。
在區(qū)塊鏈中體現(xiàn)為少量不可靠或潛在的惡意節(jié)點沒有破環(huán)區(qū)塊或交易驗證的能力。 PBFT 算法是第一個允許以低開銷實現(xiàn)拜占庭算法并得以在實際系統(tǒng)中應(yīng)用的方法,是一種授權(quán)共識算法,即在節(jié)點需要進行身份認(rèn)證后才準(zhǔn)入的網(wǎng)絡(luò)中運行的分布式一致性算法。 在無人機集群中,所有無人機節(jié)點均是經(jīng)過身份驗證后才被準(zhǔn)許加入集群,且有可能存在被攻擊并向其他節(jié)點傳輸錯誤信息的故障節(jié)點,這使得拜占庭容錯共識算法適用于無人機集群通信問題。 此外,PBFT相較于其他的共識機制沒有確認(rèn)環(huán)節(jié)且不需要進行挖礦,所以具有資源消耗低、延遲低以及吞吐量高的優(yōu)點。 但該算法需要至少 2 / 3 的網(wǎng)絡(luò)節(jié)點行為誠實,并且隨著網(wǎng)絡(luò)規(guī)模的增加,信息開銷可能會大幅增加,影響區(qū)塊鏈的速度和擴展性。
2 基于無人機的公共衛(wèi)生事件監(jiān)測框架
2. 1 無人機集群協(xié)作的公共衛(wèi)生事件監(jiān)測流程
為達到利用無人機集群監(jiān)測公共衛(wèi)生事件的目的,無人機將配備多種傳感器與智能設(shè)備用于捕獲數(shù)據(jù)并執(zhí)行不同的任務(wù),包括口罩檢測、體溫檢測、社會距離估計、實施封鎖、發(fā)布公告、供應(yīng)應(yīng)急設(shè)備、患者樣本收集、貨物運輸和消毒[ 13]。 其中,用于執(zhí)行口罩檢測、體溫檢測和社會距離估計等任務(wù)的監(jiān)測無人機通常配備高分辨率攝像頭和熱成像儀。 無人機對特定任務(wù)區(qū)域進行掃描,當(dāng)識別到個體時,首先判斷是否為人群聚集,如果是,則轉(zhuǎn)入社會距離估計階段;否則,轉(zhuǎn)入口罩檢測階段。 在社會距離估計階段,若有個體間的距離超過了代表安全距離的閾值,則無人機將會對其發(fā)出警告,并向相關(guān)人員發(fā)送通知。 在口罩檢測階段,若無人機識別到個體已佩戴口罩,則轉(zhuǎn)入體溫檢測階段,若未佩戴口罩,則上傳該個體信息至控制單元,并調(diào)度運輸無人機配送口罩。 在體溫檢測階段,若個體體溫高于設(shè)定的閾值,無人機將向控制單元上報目標(biāo)個體的基本信息,再由控制單元將信息更新至區(qū)塊鏈。 最后,智能合約將通知相關(guān)人員對該個體實施隔離,并由消毒無人機進行區(qū)域消毒,運輸無人機供應(yīng)所需應(yīng)急設(shè)備(如氧氣瓶) 。
2. 2 基于無人機的公共衛(wèi)生事件監(jiān)測框架
本文提出一個無人機輔助的公共衛(wèi)生事件監(jiān)測框架,基于區(qū)塊鏈技術(shù),多架無人機可以組成一個無人機集群并執(zhí)行復(fù)雜的任務(wù),實現(xiàn)實時互動、分析和處理。無人機集群需要與控制單元連接,以發(fā)送采集的數(shù)據(jù)、無人機的事件狀態(tài)和接收控制單元下達的指令。 控制單元可以與無人機進行交互,主要負(fù)責(zé)接收數(shù)據(jù)并發(fā)送到區(qū)塊鏈網(wǎng)絡(luò),向無人機下達指令以控制無人機的行為。
去中心化的區(qū)塊鏈網(wǎng)絡(luò)用于存儲和驗證數(shù)據(jù),以及對這些數(shù)據(jù)進行完整性保護,包括無人機收集的數(shù)據(jù)、來自控制單元的命令等。區(qū)塊鏈網(wǎng)絡(luò)以分布式方法完成數(shù)據(jù)的存儲并維護其穩(wěn)定性,實現(xiàn)共享數(shù)據(jù)并分散以實時執(zhí)行決策。 這種附加區(qū)塊鏈技術(shù)的形式有助于集群中的無人機協(xié)作,以完成數(shù)據(jù)收集和響應(yīng)控制單元的指令,從而完成公共衛(wèi)生事件的監(jiān)測。從認(rèn)知與決策層面來看,無人機集群包括 2 種類型的無人機:主無人機和從無人機。 其中,主無人機具備一定的主動感知與決策能力,并且可與控制單元和其他主無人機進行信息交換,進而管控其所屬子集群內(nèi)的從無人機。 而從無人機不具備 主 動感知能力,僅 能 根 據(jù) 控 制 單 元 和 主 無 人 機 下 發(fā) 的指令執(zhí)行相 應(yīng) 的 任 務(wù),收 集 信 息 并 上 傳 到 區(qū) 塊 鏈模塊中[ 14]。
從用途的角度分析,無人機集群包括2 種類型的無人機:監(jiān)測無人機和運輸無人機。 監(jiān)測無人機的任務(wù)包括口罩檢測、溫度監(jiān)測、社會距離估計、發(fā) 布 公 告 和 實 行 封 鎖 等。 而 運 輸 無 人 機則用于保持在隔離 區(qū) 或 偏 遠(yuǎn) 地 區(qū) ( 如 農(nóng) 村) 附 近,通過執(zhí)行各 種 任 務(wù) 來 協(xié) 助 這 類 區(qū) 域 中 的 個 體,其主要任務(wù)包 括 食 品 運 送、藥 品 運 送 以 及 實 施 消 毒措施等[ 15]?刂茊卧傻孛婵刂苹竞头⻊(wù)器組成。 其中,地面控制基站是無人機集群傳統(tǒng)意義上的指揮中心,負(fù)責(zé)維護通信鏈路的正常運作,支持對無人機進行遠(yuǎn)程控制與監(jiān)測,并操作無人機攜帶的各種有效載荷。 服務(wù)器包括云服務(wù)器、霧服務(wù)器和邊緣服務(wù)器 3 種,相應(yīng)地構(gòu)成一個云網(wǎng)絡(luò)、霧網(wǎng)絡(luò)以及邊緣網(wǎng)絡(luò),與地面控制基站共同負(fù)責(zé)接收和處理來自無人機的數(shù)據(jù)。 其中云網(wǎng)絡(luò)為創(chuàng)建模式識別、監(jiān)測、決策和大規(guī)模消毒等活動提供應(yīng)用程序級別的服務(wù),與其他層相比,高端云計算資源提供了全面的分析和決策能力[ 16]。 霧網(wǎng)絡(luò)則用于做出初始階段的決策。 邊緣網(wǎng)絡(luò)利用邊緣計算進行數(shù)據(jù)建模和初步?jīng)Q策以提高服務(wù)質(zhì)量,在節(jié)省了時間和資源的同時,也保證了數(shù)據(jù)收集、預(yù)處理和分析的實時性,有助于無人機做出快速的實時決策[ 17]。
隨著傳感器、物聯(lián)網(wǎng)和無人機網(wǎng)絡(luò)可擴展性的增加,將數(shù)據(jù)傳輸?shù)届F服務(wù)器的成本也在增加。 邊緣計算通過在初始層面進行數(shù)據(jù)聚合,并在需要時將必要的數(shù)據(jù)傳輸?shù)届F或云網(wǎng)絡(luò),從而減輕其負(fù)荷[ 18]。區(qū)塊鏈模塊主要用于提供安全的數(shù)據(jù)管理,在多無人機協(xié)作過程中執(zhí)行任務(wù)分配、調(diào)度等,其具體網(wǎng)絡(luò)結(jié)構(gòu)。 小型無人機集群作為組織參與到該網(wǎng)絡(luò)中,并且根據(jù)任務(wù)的需求,各個組織將加入到不同的聯(lián)盟中。 主無人機作為組織中的對等節(jié)點加入該區(qū)塊鏈網(wǎng)絡(luò),且同一通道中的所有主無人機均擁有一份帳本副本。 這種多副本的形式可以有效地避免無人機碰撞,及由單個節(jié)點故障所引發(fā)的任務(wù)失敗。
與主無人機不同,從無人機擔(dān)任區(qū)塊鏈網(wǎng)絡(luò)中的用戶,僅能通過訪問區(qū)塊鏈客戶端來間接訪問帳本和智能合約。 此外,控制單元將加入每個聯(lián)盟并以管理員的身份對各個子集群進行實時監(jiān)測,因此該控制單元同時參與了多個通道并部署著多份帳本和智能合約。處于同一聯(lián)盟內(nèi)的節(jié)點利用通道進行交流并完成業(yè)務(wù)隔離,各個聯(lián)盟和通道利用跨鏈通道完成通信。 其中,通道不是實際存在的,是由物理對等節(jié)點集合形成的邏輯結(jié)構(gòu),它允許一組特定的對等節(jié)點和應(yīng)用程序在區(qū)塊鏈網(wǎng)絡(luò)中相互通信。 且由某通道維護的帳本和智能合約僅允許加入該通道的組織和聯(lián)盟訪問,是所提聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò)的 2 個核心組成部分。
其中,帳本記錄著公共衛(wèi)生事件相關(guān)數(shù)據(jù)與無人機集群搜集到的所有信息,包括監(jiān)測到的人群社交距離、個體是否佩戴口罩以及個體溫度等信息。智能合約用于保證網(wǎng)絡(luò)節(jié)點間的數(shù)據(jù)共享以及協(xié)同決策。 同時,為保證信息在網(wǎng)絡(luò)中不同節(jié)點上的一致性,增加網(wǎng)絡(luò)的可擴展性,共識算法的選擇是至關(guān)重要的。 考慮到無人機電池容量有限,且任務(wù)執(zhí)行期間無法充電等限制,如何減少資源消耗是達成信息共識需要解決的難題之一。 其次,為保證無人機高效地協(xié)作以執(zhí)行任務(wù)并避免碰撞,縮短節(jié)點間的通信時間也是必要的。 為解決上述難題,本文基于PBFT 算法,提出了一種適用于無人機集群的 IBFT算法,并將其運用于所提公共衛(wèi)生事件監(jiān)測框架的區(qū)塊鏈模塊。
3 支持去中心化的無人機集群共識算法
為解決無人機集群通信過程中存在的復(fù)雜度高、資源消耗大等問題,避免區(qū)塊鏈網(wǎng)絡(luò)受到攻擊導(dǎo)致共 識 失 敗, 本 文 基 于 PBFT 算 法, 提 出 了 一 種IBFT 算法, 進 一 步 提 高 無 人 機 集 群 的 共 識 效 率。PBFT 算法通過節(jié)點間的相互通信來解決拜占庭容錯問題,節(jié)點間的兩兩交互使得其通信復(fù)雜度高達O( n2) ,其核心思想為 n≥3f + 1。
其中,n 為網(wǎng)絡(luò)中的總節(jié)點數(shù),f 為允許出現(xiàn)故障的節(jié)點數(shù),即網(wǎng)絡(luò)中的失效節(jié)點數(shù)不能超過總節(jié)點數(shù)的 1 / 3。 同時,為使信息在網(wǎng)絡(luò)節(jié)點間同步,PBFT 算法包含有預(yù)準(zhǔn)備、準(zhǔn)備和確認(rèn) 3 個階段,且在確認(rèn)階段主節(jié)點需要等待收到至少 2f+1 個節(jié)點的確認(rèn)。 因此,PBFT 算法需要使用至少 3f+ 1 個節(jié)點以達成網(wǎng)絡(luò)中的信息共識?紤]到在任務(wù)執(zhí)行期間,并不是集群中的所有無人機都處于活躍狀態(tài),可能存在部分無人機處于充電或休眠狀態(tài)。 根據(jù)無人機集群的特點以及需求,將無人機區(qū)塊鏈網(wǎng)絡(luò)中除了主節(jié)點以外的節(jié)點分為 2 部分,分別為 f+ 1 個主動節(jié)點和 f 個被動節(jié)點。
其中主動節(jié)點指正在執(zhí)行任務(wù)的無人機,被動節(jié)點指沒有執(zhí)行任務(wù)處于休眠狀態(tài)的無人機。 正常情況下,僅有主動節(jié)點執(zhí)行客戶端下發(fā)的任務(wù),而其余的被動節(jié)點不參與訂單處理或執(zhí)行請求,但在任務(wù)執(zhí)行期間被動節(jié)點由主節(jié)點管理,以根據(jù)系統(tǒng)的當(dāng)前狀態(tài)更新其自身狀態(tài)。 故障發(fā)生的情況下,上述被動節(jié)點將會通過協(xié)議切換成為主動節(jié)點,并與早期的主動節(jié)點一起執(zhí)行所有操作以容忍故障。 由此,該分布式區(qū)塊鏈網(wǎng)絡(luò)可以通過使用 2f+1 個節(jié)點數(shù)來容忍最大 f 個節(jié)點故障。 在該網(wǎng)絡(luò)中,控制單元承擔(dān)著主節(jié)點的職責(zé),作為客戶端和網(wǎng)絡(luò)中無人機節(jié)點之間的一個中間節(jié)點。 主節(jié)點不參與請求的執(zhí)行和操作,僅負(fù)責(zé)驗證客戶端的請求,并將任務(wù)分發(fā)給節(jié)點,然后將執(zhí)行結(jié)果從節(jié)點轉(zhuǎn)發(fā)至客戶端,同時向所有節(jié)點提供狀態(tài)更新信息。
綜上,所提 IBFT算法主要從 2 個方面對拜占庭容錯算法進行改進,首先是減少參與共識過程的節(jié)點數(shù)量以增加網(wǎng)絡(luò)的可擴展性,其次是使用聚合技術(shù)降低集群中無人機的通信復(fù)雜度,以達到提高網(wǎng)絡(luò)吞吐量、減少無人機電力消耗和共識時延的目的。具體地,所提 IBFT 算法在正常情況下僅使用f+1 個節(jié)點數(shù),在故障情況下使用 2f + 1 個節(jié)點數(shù)。與 PBFT 算 法 相 比, IBFT 算 法 將 使 用 的 節(jié) 點 數(shù) 從3f+1 降低至最低 f + 1。 此外,由于在 PBFT 算法的共識過程中,消息的傳輸通過節(jié)點間兩兩交互完成,算法的復(fù)雜度為 O( n2) 。 而 IBFT 算法使用聚合技術(shù),節(jié)點間的信息共享通過主節(jié)點轉(zhuǎn)發(fā)完成,將通信復(fù)雜度從 O( n2) 降低至 O( n) 。
可以看出,所提 IBFT 算法共包含4 個階段。 首先,從無人機在指定區(qū)域進行偵察并收集各種數(shù)據(jù),一旦發(fā)現(xiàn)異常情況,如檢測到個體未佩戴口罩,將通過區(qū)塊鏈客戶端向主節(jié)點發(fā)起請求;主節(jié)點在收到請求后將根據(jù)目標(biāo)個體狀態(tài)和實時形勢進行決策,并通過智能合約事件將任務(wù)分配給指定的主動節(jié)點;然后,主動節(jié)點執(zhí)行指定任務(wù)并將任務(wù)結(jié)果發(fā)送至主節(jié)點;主節(jié)點為確保各節(jié)點達成共識,將在收到所有結(jié)果后檢查其一致性,若結(jié)果不一致,則表示發(fā)生了拜占庭故障,反之主節(jié)點會將結(jié)果返回至客戶端和網(wǎng)絡(luò)中的所有節(jié)點,并更新帳本副本。在通信過程中也可能會發(fā)生一些問題導(dǎo)致任務(wù)執(zhí)行的中斷,如網(wǎng)絡(luò)鏈接斷開和服務(wù)器無法訪問等,這可能會導(dǎo)致節(jié)點之間信息交流的缺失[ 19]。 因此,所有節(jié)點包括主節(jié)點都包含一個日志文件,以存儲它們處理請求的歷史信息。
日志文件中的一些條目必須保持到相關(guān)信息被至少 f+1 個相應(yīng)的節(jié)點執(zhí)行且被主節(jié)點或其他節(jié)點驗證以保持安全性。 當(dāng)主動節(jié)點執(zhí)行客戶端的請求或向被動節(jié)點發(fā)送狀態(tài)更新消息時,會到達一個檢查點,此時主節(jié)點向所有主動和被動節(jié)點發(fā)送一個當(dāng)前狀態(tài)消息。 當(dāng)共識過程中發(fā)生拜占庭故障時,即主節(jié)點無法從任何主動節(jié)點獲取結(jié)果或者獲取到不一致的錯誤結(jié)果,主節(jié)點將發(fā)起協(xié)議轉(zhuǎn)換。 首先,系統(tǒng)中的所有節(jié)點都將停止正在進行的共識提案;然后,所有主動節(jié)點將提供最新的檢查點狀態(tài),主節(jié)點收到后將創(chuàng)建一個協(xié)議歷史,該歷史包含一個等價的檢查點集合;最后,主節(jié)點將該協(xié)議歷史廣播至所有的節(jié)點進行驗證以生成新的區(qū)塊。
4 實驗及結(jié)果分析
4. 1 實驗設(shè)置
本文實驗?zāi)M無人機集群協(xié)作執(zhí)行消毒消殺任務(wù)的場景,該集群包含 50 架無人機,分別為主動無人機和被動無人機。 相應(yīng)地,本文實驗在 Intel( R)Core( TM) i6@ 2. 3 GHz 處理器、12 GB 內(nèi)存的服務(wù)器上進行,使用 docker 容器構(gòu)建虛擬無人機節(jié)點,基于 Hyperledger Fabric 搭建區(qū)塊鏈網(wǎng)絡(luò),使用組織對節(jié)點進行分組,并實現(xiàn)所提的 IBFT 算法以及對比算法 PBFT 和 FastBFT[ 20]。 由 于 PBFT 和 FastBFT算法不對節(jié)點進行分組操作,因此網(wǎng)絡(luò)使用這 2 個算法時僅設(shè)置一個組織。
而對于所提 IBFT 算法,將在網(wǎng)絡(luò)中設(shè)置 2 個組織:主動節(jié)點組織和被動節(jié)點組織。 考慮到無人機裝載消毒液容量相對于噴灑車等交通載具而言較少,且無人機噴灑范圍集中、周期短,在任務(wù)期間指定的一個無人機通常只對固定的小范圍區(qū)域進行消毒。 在本實驗中假設(shè)無人機數(shù)量最高可達 50,將吞吐量和共識時延作為測試指標(biāo),以此驗證所提算法用于無人機集群協(xié)作監(jiān)測公共衛(wèi)生事件場景中的優(yōu)勢。 其中,吞吐量被定義為網(wǎng)絡(luò)每秒鐘處理的請求數(shù),共識時延指網(wǎng)絡(luò)中的所有節(jié)點針對一個請求達成共識所花費的時間。
5 結(jié)束語
本文旨在公共衛(wèi)生事件突發(fā)時期,利用無人機和區(qū)塊鏈技術(shù)在一定程度上降低接觸風(fēng)險,并實時監(jiān)測事態(tài)發(fā)展,二者的結(jié)合在改善緊急公共衛(wèi)生事件的早期診斷和監(jiān)測方面發(fā)揮了重要作用。 區(qū)塊鏈作為解決分布式系統(tǒng)中存在的安全性低、通信成本高等問題的有效技術(shù)手段,與無人機集群要求通信成本低、資源消耗少、安全性高且以分布式方式部署的需求相契合。 且在區(qū)塊鏈網(wǎng)絡(luò)中,共識算法的選擇是至關(guān)重要的,是保證網(wǎng)絡(luò)安全以及信息一致性的決定性因素。
為監(jiān)測緊急突發(fā)公共衛(wèi)生事件,本文首先介紹了無人機集群在該場景下的各項任務(wù)類型與監(jiān)測流程,進一步地針對無人機輔助監(jiān)測緊急公共衛(wèi)生事件提出一個解決框架并對其組成模塊進行詳實的分析。 其次,提出了一種 IBFT 算法,以支持去中心化的無人機集群協(xié)作,能在使用更少節(jié)點數(shù)的同時提供更高的可擴展性和提升算法性能。 實驗結(jié)果表明,所提算法能夠較好地契合無人機集群協(xié)作監(jiān)測緊急公共衛(wèi)生事件的需求。 未來,將考慮結(jié)合新興技術(shù),如人工智能和智能物聯(lián)網(wǎng)等,輔助對抗可能出現(xiàn)的新發(fā)緊急公共衛(wèi)生與安全事件。
參考文獻:
[1] ALSAMHI S H,LEE B,GUIZANI M,et al. Blockchain forDecentralized Multi-drone to Combat COVID-19 and Future Pandemics:Framework and Proposed Solutions [ J] .Transactions on Emerging Telecommunications Technologies,2021,32(9) :1-19.
[2] DORIGO M. Blockchain Technology for Robot Swarms:AShared Knowledge and Reputation Management System forCollective Estimation [ C] ∥2018 Springer 11th International Conference on Swarm Intelligence. Berlin:Springer,2018:1-14.
[3] STROBEL V,FERRER E C,DORIGO M. Managing Byzantine Robots via Blockchain Technology in a Swarm Robotics Collective Decision Making Scenario [ C ] ∥2018ACM 17th International Conference on AutonomousAgents and MultiAgent Systems. New York:ACM,2018:541-549.
[4] RANA T,SHANKAR A,SULTAN M K,et al. An Intelligent Approach for UAV and Drone Privacy Security UsingBlockchain Methodology[C]∥2019 9th International Conference on Cloud Computing, Data Science & Engineering. Noida:IEEE,2019:162-167
選自:?:智能任務(wù)規(guī)劃 2022 年 無線電工程 第 52 卷 第 7 期
作者信息:翁越男1, 魏小平2, 劉 洋3, 韓 楠1, 魏盛杰4∗, 劉 雯5, 林羽豐1, 喬少杰1(1. 成都信息工程大學(xué) 軟件工程學(xué)院, 四川 成都 610225;2. 四川數(shù)辰科技有限公司, 四川 成都 610095;3. 成都攜恩科技有限公司, 四川 成都 610041;4. 四川音樂學(xué)院 數(shù)字媒體藝術(shù)四川省重點實驗室, 四川 成都 610021;5. 四川省大數(shù)據(jù)中心, 四川 成都 610096)
轉(zhuǎn)載請注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///jjlw/30401.html