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