楊健,陳曦,丁國如,趙杭生,張林元,孫佳琛
(1.國防科技大學(xué)第六十三研究所,江蘇 南京 210007;2.南京理工大學(xué)機械工程學(xué)院,江蘇 南京 210094;3.陸軍工程大學(xué)通信工程學(xué)院,江蘇 南京 210007;4.南京郵電大學(xué)通信與信息工程學(xué)院,江蘇 南京 210003;5.江南計算技術(shù)研究所,江蘇 無錫 214146)
移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的蓬勃發(fā)展進一步加劇了頻譜資源緊缺的現(xiàn)狀[1-2],頻譜共享被廣泛認為是一種近期可實現(xiàn)的緩解頻譜資源緊缺現(xiàn)狀的有效途徑[3]。隨著移動通信網(wǎng)絡(luò)向更高頻段尋求可用頻譜資源的拓展[4],物聯(lián)網(wǎng)的網(wǎng)絡(luò)節(jié)點和設(shè)備越來越呈現(xiàn)出超密集部署的趨勢[5],頻譜共享需要在更精準的時間劃分、更寬的頻譜范圍、更細粒度的地理區(qū)域及更精準的功率控制上實現(xiàn)[6]。這種更加精確的頻譜共享一方面需要更長時間、更寬頻譜及更廣地理范圍的頻譜數(shù)據(jù)支撐,另一方面需要進一步提高頻譜數(shù)據(jù)在時域、頻域、空域的分辨率以滿足更精確的頻譜共享需求。
然而,當前頻譜數(shù)據(jù)采集與頻譜策略推理的分離使精確頻譜共享無法實現(xiàn)。頻譜使用設(shè)備并不“了解”所在區(qū)域的電磁環(huán)境狀況,只能按照既定的方案使用頻譜資源;頻譜管理機構(gòu)集中管理頻譜監(jiān)測設(shè)備,得到離散的、碎片化的、稀疏的頻譜數(shù)據(jù),但頻譜使用設(shè)備缺乏獲取這些頻譜數(shù)據(jù)的渠道,因此,精確的頻譜共享一方面需要整合頻譜使用設(shè)備和頻譜監(jiān)測設(shè)備,打通頻譜數(shù)據(jù)的溝通渠道;另一方面需要促使海量具有頻譜感知功能的頻譜設(shè)備加入,拓展頻譜數(shù)據(jù)在時域、頻域、空域上的覆蓋率,提高頻譜數(shù)據(jù)在時域、頻域、空域的分辨率水平,支撐頻譜共享以更精確的方式實現(xiàn)。
區(qū)塊鏈技術(shù)的出現(xiàn)為實現(xiàn)更高效的動態(tài)頻譜管理提供了可能。區(qū)塊鏈是一種公共分類賬,按時間順序記錄所有交易,通過共識機制確保交易記錄的不可篡改性。普遍認為,區(qū)塊鏈技術(shù)可以幫助動態(tài)頻譜管理改進安全性和提供激勵機制,從而達到更有效的動態(tài)頻譜管理[7-9]。美國聯(lián)邦通信委員會(FCC,Federal Communications Commission)的發(fā)言人Rosenworcel 在2018 移動世界大會上的演講中說到,基于區(qū)塊鏈的動態(tài)頻譜共享將是6G 邁向太赫茲頻率的關(guān)鍵技術(shù),通過分布式數(shù)據(jù)庫支持頻譜共享接入,降低系統(tǒng)管理開銷的同時提升頻譜效率[10]。此外,文獻[11]引入了區(qū)塊鏈作為安全分類賬來記錄由授權(quán)用戶發(fā)起的頻譜拍賣信息,所有用戶參與頻譜交易的驗證和維護。文獻[12]基于區(qū)塊鏈提出了一種安全的協(xié)作頻譜感知動態(tài)頻譜接入系統(tǒng),通過協(xié)作頻譜感知探索頻譜接入機會,通過頻譜拍賣分配頻譜接入機會,并將所有頻譜拍賣信息安全地存儲在區(qū)塊鏈中。上述工作均采用公有的區(qū)塊鏈架構(gòu),所有用戶參與區(qū)塊鏈維護,有的雖然采用智能合約激勵次級用戶執(zhí)行高效、有序的頻譜感知[13],但仍需網(wǎng)內(nèi)所有用戶參與共識,有的通過云與邊緣計算結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)完成挖礦[14-15],降低了區(qū)塊鏈中挖礦的能耗,但本質(zhì)上仍是類似于比特幣系統(tǒng)的工作性證明共識機制,共識結(jié)果是有分叉的和概率性的。因此,安全、高效的共識機制設(shè)計是基于區(qū)塊鏈的頻譜共享中的開放性課題。
文獻[16]提出集成頻譜使用設(shè)備和頻譜監(jiān)測設(shè)備,構(gòu)成基于云的頻譜設(shè)備網(wǎng)絡(luò),使頻譜監(jiān)測設(shè)備獲取的頻譜數(shù)據(jù)能夠直接用于指導(dǎo)頻譜使用設(shè)備以恰當?shù)姆绞绞褂妙l譜資源。然而,專業(yè)化的頻譜監(jiān)測設(shè)備價格高、數(shù)量少,日常監(jiān)測往往只能得到頻域上不連續(xù)、時域上碎片化、空域上稀疏的頻譜數(shù)據(jù),難以實現(xiàn)對時域、頻域、空域的充分覆蓋,無法為精確的頻譜共享提供足夠的頻譜狀態(tài)信息支撐。
幸運的是,隨著個人無線設(shè)備(如智能手機、平板電腦、車載無線設(shè)備等)智能化水平的提高,越來越多的傳感器被配置到個人無線設(shè)備上,使個人無線設(shè)備具備了可觀的頻譜感知能力[17]。如果能夠促使海量的個人無線設(shè)備加入頻譜設(shè)備網(wǎng)絡(luò),將大大提高時域、頻域、空域的頻譜數(shù)據(jù)覆蓋水平[18]。然而,海量個人無線設(shè)備加入頻譜設(shè)備網(wǎng)絡(luò),以充分覆蓋時域、頻域、空域的海量頻譜數(shù)據(jù)為精確頻譜共享提供支撐時,會帶來很多新的問題。首先,基于云的集中式網(wǎng)絡(luò)結(jié)構(gòu)不再適用于管理海量的個人無線設(shè)備。海量個人無線設(shè)備的數(shù)據(jù)交互將產(chǎn)生巨大的時延,數(shù)據(jù)同步將導(dǎo)致過于復(fù)雜的處理架構(gòu)和幀結(jié)構(gòu),因此,采用分布式的網(wǎng)絡(luò)結(jié)構(gòu)和異步的處理架構(gòu)將是頻譜設(shè)備網(wǎng)絡(luò)管理海量個人無線設(shè)備的必然選擇。然后,頻譜數(shù)據(jù)的采集和共享均需消耗個人無線設(shè)備的能量。由于采用電池供電,個人無線設(shè)備一般對能量消耗敏感,因此,需要設(shè)計專門的激勵機制,激勵個人無線設(shè)備將有限的能量投入近似于“公益”的頻譜數(shù)據(jù)采集中。最后,分布式的網(wǎng)絡(luò)結(jié)構(gòu)和異步的處理架構(gòu)往往要求開放的數(shù)據(jù)處理與融合方式。在激勵機制的驅(qū)動下,少數(shù)惡意的個人無線設(shè)備傾向于通過偽造的頻譜數(shù)據(jù)“牟取”不當利益,因此,必須針對惡意個人無線設(shè)備偽造頻譜數(shù)據(jù)(SSDF,spectrum sensing data falsification)的拜占庭攻擊設(shè)計防御機制,確保頻譜數(shù)據(jù)的質(zhì)量。
針對以上問題,本文提出了一種基于區(qū)塊鏈的分布式頻譜設(shè)備網(wǎng)絡(luò)架構(gòu),設(shè)計了一種防御惡意用戶偽造頻譜數(shù)據(jù)拜占庭攻擊的共識機制,使頻譜數(shù)據(jù)能夠被頻譜設(shè)備網(wǎng)絡(luò)更廣泛地收集,更高效、更安全地存儲和流通,以支撐精確頻譜共享的實現(xiàn)。本文創(chuàng)新點主要體現(xiàn)在以下3 個方面。
1)提出一種云計算與邊緣計算結(jié)合的分布式頻譜設(shè)備網(wǎng)絡(luò)結(jié)構(gòu),集成海量個人無線設(shè)備構(gòu)成頻譜設(shè)備網(wǎng)絡(luò)。個人無線設(shè)備同時作為頻譜使用設(shè)備和頻譜感知設(shè)備,頻譜管理服務(wù)器在頻譜設(shè)備網(wǎng)絡(luò)云端發(fā)布頻譜感知任務(wù)、回收頻譜數(shù)據(jù)、發(fā)放任務(wù)獎勵。個人無線設(shè)備與移動基站在頻譜設(shè)備網(wǎng)絡(luò)邊緣采集頻譜數(shù)據(jù)、驗證頻譜數(shù)據(jù)、將頻譜區(qū)塊添加至頻譜區(qū)塊鏈,支撐頻譜數(shù)據(jù)更高效地存儲和流通。
2)定義“頻譜幣”作為專門的數(shù)字貨幣,用于激勵個人無線設(shè)備采集頻譜數(shù)據(jù),頻譜幣在頻譜設(shè)備網(wǎng)絡(luò)中發(fā)行和流通,可用于購買額外的頻譜使用權(quán)、流量和帶寬,支撐頻譜數(shù)據(jù)更廣泛地收集。
3)面向惡意用戶偽造頻譜數(shù)據(jù)的拜占庭攻擊,提出一種分布式共識機制,通過感知節(jié)點間共識融合、驗證節(jié)點間共識驗證、簇頭節(jié)點間共識確認這3 個共識過程剔除偽造頻譜數(shù)據(jù)并添加至頻譜區(qū)塊鏈,仿真結(jié)果證明了該共識機制防御SSDF 拜占庭攻擊的有效性和穩(wěn)健性,支撐頻譜數(shù)據(jù)更加安全地存儲和流通。
區(qū)塊鏈是一種公共分類賬,它按時間順序記錄所有交易,通過共識機制確保交易記錄的不可篡改性,其特點包括不可篡改性、去中心化、永久性和匿名性。該公共分類賬記錄了網(wǎng)絡(luò)節(jié)點之間發(fā)生的每筆交易的細節(jié),而不涉及任何可信的中心節(jié)點,所有相關(guān)節(jié)點的分類賬副本是同步的,從而降低了系統(tǒng)因故障而宕機的風險[19]。驅(qū)動區(qū)塊鏈運行的關(guān)鍵技術(shù)主要有以下幾種。
去中心化存儲。區(qū)塊鏈以去中心化的方式在不同物理地址的多個網(wǎng)絡(luò)節(jié)點進行數(shù)據(jù)的共享與同步,且區(qū)塊鏈網(wǎng)絡(luò)的相關(guān)節(jié)點均擁有完整的區(qū)塊鏈數(shù)據(jù)副本,各節(jié)點依靠共識機制獨立對等地保證存儲數(shù)據(jù)的一致性,也通過去中心化存儲來確保區(qū)塊鏈數(shù)據(jù)的安全性,即只有得到區(qū)塊鏈網(wǎng)絡(luò)中大多數(shù)節(jié)點的共識才能實現(xiàn)對已有數(shù)據(jù)的篡改,即“51%攻擊”。
非對稱加密。區(qū)塊鏈采用哈希算法和非對稱加密來確保區(qū)塊鏈數(shù)據(jù)的完整性和數(shù)據(jù)的安全傳輸。哈希算法用于產(chǎn)生區(qū)塊鏈中各個區(qū)塊的頭信息,并通過在區(qū)塊頭中包括的前一區(qū)塊的頭信息實現(xiàn)區(qū)塊之間的連接,同時通過Merkle 樹對區(qū)塊中的具體數(shù)據(jù)進行結(jié)構(gòu)化組織并將概要信息存入?yún)^(qū)塊頭。節(jié)點通過私鑰加密的數(shù)字錢包(類似于銀行賬戶)來進行交易,節(jié)點可通過私鑰生成簽名訪問自己的數(shù)字錢包并認證交易,而對應(yīng)的公鑰作為地址公布在網(wǎng)絡(luò)上。
共識機制。共識機制用于解決分布式系統(tǒng)的一致性問題,在中本聰?shù)谋忍貛畔到y(tǒng)中,區(qū)塊鏈采用一種稱為“工作性證明”的共識機制進行狀態(tài)更新。節(jié)點(礦工)通過大量計算競爭在10 min 內(nèi)找到小于目標區(qū)塊哈希值的目標值來獲得對目標區(qū)塊的記賬權(quán),一旦某個節(jié)點找到該目標值,就將其在網(wǎng)絡(luò)中公開,其他節(jié)點通過簽名來驗證該目標值,通過這種方式在互不信任的節(jié)點之間達成共識[20]。隨著區(qū)塊鏈技術(shù)的發(fā)展,目前區(qū)塊鏈系統(tǒng)可分為公有鏈、私有鏈和聯(lián)盟鏈,同時也衍生出實用拜占庭容錯(PBFT,practical Byzantine fault tolerance)、工作性證明(PoW,power of work)、權(quán)益證明(PoS,power of stake)等多種共識機制[21]。
智能合約。智能合約是以數(shù)字形式定義的一組承諾,以及履行這些承諾的協(xié)議。區(qū)塊鏈網(wǎng)絡(luò)為智能合約提供了可信的執(zhí)行環(huán)境,區(qū)塊鏈的智能合約是一段代碼,一旦某個事件觸發(fā)智能合約中的條款,代碼就自動執(zhí)行,不需要依賴第三方或中心化機構(gòu),這極大地提高了執(zhí)行效率和準確性。
集成智能手機、平板電腦、智慧家居設(shè)備、車載無線設(shè)備等異構(gòu)的個人無線設(shè)備,海量的個人無線設(shè)備融合后并沒有產(chǎn)生中心控制節(jié)點,而是形成了分布式的網(wǎng)絡(luò)結(jié)構(gòu)。頻譜設(shè)備網(wǎng)絡(luò)通過云計算與邊緣計算相結(jié)合的方式降低頻譜數(shù)據(jù)的傳輸時延和數(shù)據(jù)傳輸能耗,頻譜管理服務(wù)器、移動基站、個人無線設(shè)備形成三級的頻譜設(shè)備網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。頻譜設(shè)備網(wǎng)絡(luò)包含多個頻譜管理服務(wù)器,按區(qū)域管理頻譜設(shè)備網(wǎng)絡(luò),頻譜管理服務(wù)器部署在云端,負責發(fā)布頻譜感知任務(wù)和提出任務(wù)要求;移動基站部署在頻譜設(shè)備網(wǎng)絡(luò)邊緣,直接與個人無線設(shè)備進行數(shù)據(jù)交互;個人無線設(shè)備是頻譜設(shè)備網(wǎng)絡(luò)的末端,既是頻譜使用設(shè)備,也是頻譜感知設(shè)備,個人無線設(shè)備通過貢獻頻譜數(shù)據(jù)獲得頻譜幣,可用來購買額外的頻譜使用權(quán)、流量和帶寬。
圖1 云計算與邊緣計算結(jié)合的分布式頻譜設(shè)備網(wǎng)絡(luò)架構(gòu)
由于本文涉及較多節(jié)點類型,為便于讀者理解,簡要介紹如下。
1)感知節(jié)點:個人無線設(shè)備在執(zhí)行頻譜管理服務(wù)器發(fā)布的頻譜數(shù)據(jù)采集任務(wù)時,被稱為感知節(jié)點。
2)簇頭節(jié)點:若干個人無線設(shè)備以簇的形式共同執(zhí)行頻譜管理服務(wù)器發(fā)布的頻譜數(shù)據(jù)采集任務(wù)時,領(lǐng)導(dǎo)該任務(wù)完成的個人無線設(shè)備被稱為簇頭節(jié)點。
3)驗證節(jié)點:個人無線設(shè)備通過分布式共識驗證頻譜子區(qū)塊是否符合頻譜數(shù)據(jù)采集任務(wù)要求時,被稱為驗證節(jié)點。
如圖2 所示,從個人無線設(shè)備采集頻譜數(shù)據(jù),到形成頻譜區(qū)塊,并添加到頻譜區(qū)塊鏈中,歷經(jīng)4 個步驟,詳述如下。
步驟1頻譜管理服務(wù)器發(fā)布頻譜數(shù)據(jù)采集任務(wù),感知節(jié)點采集頻譜數(shù)據(jù)。
頻譜管理服務(wù)器部署在頻譜設(shè)備網(wǎng)絡(luò)云端,定期發(fā)布頻譜數(shù)據(jù)采集任務(wù),提出包括采集時間要求、頻段范圍限制、地理區(qū)域限定等的頻譜數(shù)據(jù)采集任務(wù)要求,頻譜數(shù)據(jù)采集任務(wù)對頻譜設(shè)備網(wǎng)絡(luò)中所有服務(wù)器和節(jié)點可見。在頻譜管理服務(wù)器發(fā)布頻譜數(shù)據(jù)采集任務(wù)的同時,頻譜設(shè)備網(wǎng)絡(luò)自動產(chǎn)生并預(yù)存相應(yīng)的頻譜幣作為頻譜數(shù)據(jù)采集任務(wù)的完成獎勵。
分布式部署的個人無線設(shè)備根據(jù)自身的行動計劃、電池電量、地理位置決定是否響應(yīng)頻譜數(shù)據(jù)采集任務(wù)。響應(yīng)任務(wù)的個人無線設(shè)備數(shù)量與任務(wù)規(guī)定的地理區(qū)域有關(guān),如果任務(wù)限定在無人的沙漠或者戈壁,可能沒有設(shè)備響應(yīng)任務(wù),則頻譜數(shù)據(jù)采集任務(wù)失效;如果任務(wù)限定在偏僻的遠郊,可能只有寥寥數(shù)臺設(shè)備響應(yīng)任務(wù);如果任務(wù)限定在繁華的城區(qū),可能有數(shù)十臺甚至上百臺個人無線設(shè)備響應(yīng)任務(wù),這些個人無線設(shè)備自發(fā)地形成若干個簇,每個簇包含一個簇頭節(jié)點和若干感知節(jié)點,感知節(jié)點在簇頭節(jié)點的領(lǐng)導(dǎo)下采集頻譜數(shù)據(jù),并對所采集的頻譜數(shù)據(jù)進行分布式共識,形成一致的頻譜子區(qū)塊。
圖2 個人無線設(shè)備采集頻譜數(shù)據(jù)、形成頻譜數(shù)據(jù)、添加到頻譜區(qū)塊鏈的過程按步驟劃分區(qū)域
在基于區(qū)塊鏈的眾包、群智感知等應(yīng)用中,簇的形成和簇頭節(jié)點的選取受到研究者們的關(guān)注。文獻[22]根據(jù)歷史數(shù)據(jù)共享結(jié)果為節(jié)點評分,簇內(nèi)得分最高的節(jié)點成為簇頭節(jié)點;文獻[23]設(shè)計了一種基于信譽值的簇頭節(jié)點選取機制,根據(jù)數(shù)據(jù)共享質(zhì)量為節(jié)點賦予信譽值;文獻[24]利用模糊理論選取簇頭節(jié)點,根據(jù)地理位置、服務(wù)能力計算節(jié)點與感知任務(wù)的匹配程度,匹配程度最高的節(jié)點成為簇頭節(jié)點。簇頭節(jié)點的選取和簇的形成是保證頻譜數(shù)據(jù)采集效率和準確性的關(guān)鍵環(huán)節(jié),本文根據(jù)地理位置以及與感知任務(wù)的匹配程度進行簇頭節(jié)點的選取和簇的形成[25]。假設(shè)感知節(jié)點A 發(fā)現(xiàn)頻譜管理服務(wù)器發(fā)布的頻譜數(shù)據(jù)采集任務(wù)后,在任務(wù)規(guī)定預(yù)設(shè)的最少簇內(nèi)節(jié)點數(shù)量和最多簇內(nèi)節(jié)點數(shù)量之間隨機確定一個數(shù)值(假設(shè)為Nc)作為簇內(nèi)節(jié)點數(shù)量,然后,感知節(jié)點A 向周圍廣播邀請信息(CFD,cluster formation demand),邀請其他感知節(jié)點加入簇,共同完成頻譜數(shù)據(jù)采集任務(wù),其中,CFD 包括頻譜數(shù)據(jù)采集任務(wù)要求和簇內(nèi)節(jié)點數(shù)量??赡苡卸鄠€感知節(jié)點同時向周圍廣播CFD,假設(shè)感知節(jié)點B 收到了多個感知節(jié)點廣播的CFD,則感知節(jié)點B 按照接收信號功率對CFD 排序,向隊列中具有最大接收信號功率的感知節(jié)點(假設(shè)為感知節(jié)點A)發(fā)送加入回復(fù)信息(CFR,cluster formation reply)。當感知節(jié)點A 收到CFR 時,將對CFR 計數(shù),按照接收信號功率對感知節(jié)點排序,向隊列中的前Nc個感知節(jié)點發(fā)送加入確認信息(CFA,cluster formation acknowledgement),并向隊列中的其他感知節(jié)點發(fā)送加入拒絕信息(CFN,cluster formation non-acknowledgement)。若感知節(jié)點B 收到CFA,則加入該簇;若感知節(jié)點B 收到CFN,則不加入該簇。當頻譜數(shù)據(jù)采集任務(wù)規(guī)定的簇形成時間截止時,符合頻譜數(shù)據(jù)采集任務(wù)要求(如簇內(nèi)節(jié)點數(shù)量)的簇執(zhí)行頻譜數(shù)據(jù)采集任務(wù),與頻譜數(shù)據(jù)采集任務(wù)中心地理位置匹配程度最高的感知節(jié)點成為各個簇的簇頭節(jié)點。
簇頭節(jié)點下載距離最近的邊緣服務(wù)器(移動基站)公鑰,用該公鑰產(chǎn)生的簽名加密頻譜子區(qū)塊,并上傳至該邊緣服務(wù)器,邊緣服務(wù)器利用私鑰產(chǎn)生的簽名解密得到頻譜子區(qū)塊。頻譜設(shè)備網(wǎng)絡(luò)的每個設(shè)備(包括邊緣服務(wù)器、云端服務(wù)器)都擁有一對密鑰,即公鑰和私鑰,公鑰作為地址公布在網(wǎng)上,任何節(jié)點均可下載并產(chǎn)生簽名加密頻譜數(shù)據(jù);私鑰保存在設(shè)備端產(chǎn)生簽名解密頻譜數(shù)據(jù)。
步驟2驗證節(jié)點驗證頻譜數(shù)據(jù)質(zhì)量。
簇頭節(jié)點通過邊緣服務(wù)器發(fā)布頻譜子區(qū)塊驗證任務(wù),同時在頻譜設(shè)備網(wǎng)絡(luò)預(yù)存頻譜幣作為驗證獎勵(驗證獎勵只需少量的頻譜幣,但當節(jié)點成為簇頭節(jié)點時,需保證擁有足夠的頻譜幣作為驗證獎勵)。邊緣服務(wù)器附近的其他個人無線設(shè)備自主響應(yīng)驗證任務(wù),成為驗證節(jié)點。驗證節(jié)點通過分布式共識驗證頻譜子區(qū)塊是否符合頻譜數(shù)據(jù)采集任務(wù)要求。一種極端情況是沒有頻譜子區(qū)塊通過驗證,表明頻譜數(shù)據(jù)采集任務(wù)失敗,此時預(yù)存的頻譜幣被頻譜設(shè)備網(wǎng)絡(luò)回收。完成驗證任務(wù)后,頻譜數(shù)據(jù)網(wǎng)絡(luò)將簇頭節(jié)點預(yù)存的頻譜幣釋放給參與驗證任務(wù)的驗證節(jié)點。
步驟3簇頭節(jié)點確定頻譜數(shù)據(jù)來源。
簇頭節(jié)點對通過驗證的頻譜子區(qū)塊進行分布式共識,以確定哪一個頻譜子區(qū)塊被添加到頻譜區(qū)塊鏈中,提供該頻譜子區(qū)塊的簇將獲得一部分頻譜幣。各簇簇頭節(jié)點通過分布式共識得到共識結(jié)果,將Q?與各簇所提供的原始頻譜數(shù)據(jù)相比,差異最小的頻譜數(shù)據(jù)被認為是該頻譜子區(qū)塊的提供者,獲得頻譜幣獎勵。需要注意的是,簇頭節(jié)點之間分布式共識的結(jié)果與各簇頭節(jié)點提供的頻譜子區(qū)塊之間存在誤差,誤差最小的頻譜子區(qū)塊將被添加到頻譜區(qū)塊鏈中。簇頭節(jié)點之間的分布式共識激勵個人無線設(shè)備努力提高頻譜數(shù)據(jù)質(zhì)量,只有最符合任務(wù)要求的頻譜子區(qū)塊才能被添加到頻譜區(qū)塊鏈中,使簇內(nèi)的感知節(jié)點獲得相應(yīng)的頻譜幣。
若干頻譜子區(qū)塊以Merkle 樹結(jié)構(gòu)組織成為頻譜區(qū)塊,頻譜區(qū)塊的結(jié)構(gòu)如圖3 所示。每個頻譜區(qū)塊在區(qū)塊頭中包含前一區(qū)塊的地址(該地址通過哈希算法加密),直到第一頻譜區(qū)塊(創(chuàng)始頻譜區(qū)塊)的前一區(qū)塊的地址(該地址通過哈希算法加密),并按時間順序首尾相接成為頻譜區(qū)塊鏈。
圖3 頻譜區(qū)塊的結(jié)構(gòu)
步驟4頻譜幣在簇內(nèi)分配。
當頻譜區(qū)塊被添加到頻譜區(qū)塊鏈中成為正式頻譜區(qū)塊后,頻譜設(shè)備網(wǎng)絡(luò)預(yù)存的頻譜幣釋放至提供該頻譜區(qū)塊的簇,并根據(jù)各簇對頻譜區(qū)塊的貢獻比例和數(shù)據(jù)質(zhì)量將頻譜幣分配至各簇。根據(jù)所提頻譜設(shè)備網(wǎng)絡(luò)和頻譜區(qū)塊鏈的運行機制,每產(chǎn)生M GB 符合要求的頻譜數(shù)據(jù),頻譜設(shè)備網(wǎng)絡(luò)即發(fā)行S 個頻譜幣。假設(shè)某頻譜數(shù)據(jù)采集任務(wù)將產(chǎn)生X MB 頻譜數(shù)據(jù),頻譜設(shè)備網(wǎng)絡(luò)發(fā)行并預(yù)存頻譜幣,其中,簇1、簇2、…、簇n 依次貢獻了x1、x2、…、xnMB的頻譜數(shù)據(jù),則當X MB 頻譜數(shù)據(jù)被添加到頻譜區(qū)塊后,簇1、簇2、…、簇n 依次分配得到、頻譜幣。各簇再根據(jù)各感知節(jié)點對頻譜子區(qū)塊的貢獻比例和數(shù)據(jù)質(zhì)量將頻譜幣分配至感知節(jié)點。續(xù)前例,從簇1、簇2、…、簇n分配得到的頻譜幣中扣除簇頭節(jié)點預(yù)先付出的c %作為驗證獎勵后,頻譜幣在各簇內(nèi)平均分配,假設(shè)簇1、簇2、…、簇n內(nèi)分別含有N1、N2、…、Nn個節(jié)點,簇1、簇2、…、簇n 內(nèi)節(jié)點(包括感知節(jié)點和簇頭節(jié)點)依次分配得到頻譜幣。注意到,頻譜幣根據(jù)簇和感知節(jié)點對頻譜數(shù)據(jù)的貢獻比例和數(shù)據(jù)質(zhì)量在簇間和簇內(nèi)自動分配。
頻譜管理服務(wù)器對個人無線設(shè)備進行準入許可之后,個人設(shè)備加入頻譜設(shè)備網(wǎng)絡(luò),將頻譜管理服務(wù)器和邊緣服務(wù)器視為頻譜區(qū)塊鏈的記賬人,每個頻譜區(qū)塊的添加由記賬人共同決定,因此,頻譜區(qū)塊鏈實質(zhì)上為一種聯(lián)盟鏈。
采集頻譜數(shù)據(jù)形成頻譜區(qū)塊鏈,以更長時間、更寬頻譜、更廣地理范圍的頻譜大數(shù)據(jù)支撐精確的頻譜共享。頻譜數(shù)據(jù)具有明顯的大數(shù)據(jù)特征,假設(shè)用1 bit 來表示100 m×100 m 范圍內(nèi)、頻率分辨率為100 kHz、時間分辨率為100 ms 的頻譜狀態(tài),那么100 km×100 km 的地理范圍、0~5 GHz的頻譜范圍、一個星期的時間跨度內(nèi)累計的頻譜數(shù)據(jù)量將達到
并且,頻譜數(shù)據(jù)量不僅隨著地理范圍、頻譜范圍、時間跨度的擴大而增加,還將隨著空間分辨率、頻率分辨率、時間分辨率的提高而增加,海量頻譜數(shù)據(jù)的處理和存儲是頻譜設(shè)備網(wǎng)絡(luò)面臨的重要挑戰(zhàn)之一。
云計算以集中方式處理和存儲頻譜數(shù)據(jù),顯然已不再適合集成了海量個人無線設(shè)備、綜合了海量頻譜數(shù)據(jù)的頻譜設(shè)備網(wǎng)絡(luò)。移動邊緣計算是新興的計算模型,它將云計算及其服務(wù)擴展到網(wǎng)絡(luò)邊緣,采用集中式與分布式相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)。將移動邊緣計算應(yīng)用于分布式的頻譜設(shè)備網(wǎng)絡(luò),個人無線設(shè)備、移動基站、頻譜管理服務(wù)器形成三級網(wǎng)絡(luò)結(jié)構(gòu)。如圖4 所示,在頻譜設(shè)備網(wǎng)絡(luò)云端,移動基站和頻譜管理服務(wù)器以集中的方式進行組網(wǎng)和管理;在頻譜設(shè)備網(wǎng)絡(luò)邊緣,個人無線設(shè)備和移動基站以分布的方式進行組網(wǎng)和管理。具體而言,個人無線設(shè)備在本地采集頻譜數(shù)據(jù),并對頻譜數(shù)據(jù)進行預(yù)處理,從而大大減少了需要交互的頻譜數(shù)據(jù)量;邊緣服務(wù)器(移動基站)依托個人無線設(shè)備在網(wǎng)絡(luò)邊緣完成頻譜區(qū)塊驗證和添加;當新頻譜區(qū)塊添加至頻譜區(qū)塊鏈后,邊緣服務(wù)器將新頻譜區(qū)塊的索引上傳至頻譜設(shè)備網(wǎng)絡(luò)的云端,方便用戶查詢和下載。
圖4 頻譜設(shè)備網(wǎng)絡(luò)的三級網(wǎng)絡(luò)結(jié)構(gòu)
區(qū)塊大小已成為影響區(qū)塊鏈網(wǎng)絡(luò)吞吐率、交易時延、可容納節(jié)點數(shù)量,進而影響區(qū)塊鏈網(wǎng)絡(luò)可擴展性的關(guān)鍵因素之一[26]。文獻[27]證明了要保證區(qū)塊鏈網(wǎng)絡(luò)90%節(jié)點的吞吐率,區(qū)塊鏈的大小不應(yīng)超過4 MB,因此,為了保證頻譜設(shè)備網(wǎng)絡(luò)中節(jié)點的吞吐率,頻譜區(qū)塊大小應(yīng)小于4 MB。研究者在縮減區(qū)塊大小方面進行了諸多嘗試,文獻[28]提出了區(qū)塊分片技術(shù),將較大的區(qū)塊數(shù)據(jù)分為更小、更快、更易于管理的子區(qū)塊;文獻[29]提出區(qū)塊僅保留區(qū)塊頭,將數(shù)據(jù)量大的區(qū)塊體存放在邊緣服務(wù)器,使用戶可以通過查詢區(qū)塊頭找到區(qū)塊體的存放地址,而用戶與邊緣服務(wù)器之間的溝通則通過專門的數(shù)據(jù)傳輸信道進行。借鑒文獻[29]的策略壓縮頻譜區(qū)塊鏈的大小,具體是,新的頻譜區(qū)塊添加到頻譜區(qū)塊鏈之后,提供該頻譜區(qū)塊的簇頭節(jié)點將頻譜數(shù)據(jù)信息寫入?yún)^(qū)塊體,用哈希算法生成頻譜數(shù)據(jù)信息的摘要,并用自己的私鑰對此摘要信息加密,上傳至最近的邊緣服務(wù)器,其他用戶可用該簇頭節(jié)點的公鑰解密摘要信息,以驗證頻譜數(shù)據(jù)未被修改,具體見2.5 節(jié)。邊緣服務(wù)器收到頻譜區(qū)塊體后,通過非對稱加密的方式將頻譜區(qū)塊體的存放地址發(fā)送給該簇頭節(jié)點,該簇頭節(jié)點將頻譜區(qū)塊的基本信息,如數(shù)據(jù)采集時間、數(shù)據(jù)采集地點、設(shè)備參數(shù)等數(shù)據(jù)采集信息、區(qū)塊體存儲地址等關(guān)鍵信息寫入?yún)^(qū)塊頭,區(qū)塊頭被添加到頻譜區(qū)塊鏈中成為頻譜區(qū)塊。這樣,頻譜區(qū)塊鏈僅保存區(qū)塊頭信息,大大降低了頻譜區(qū)塊鏈的數(shù)據(jù)量。
盡管上述方法大大壓縮了頻譜區(qū)塊鏈的數(shù)據(jù)量,然而,邊緣服務(wù)器的存儲空間也是有限的,頻譜數(shù)據(jù)的日積月累必將填滿邊緣服務(wù)器的存儲空間;其次,頻譜區(qū)塊體的日積月累也將導(dǎo)致頻譜區(qū)塊鏈數(shù)據(jù)量的增加。為此,頻譜區(qū)塊鏈需要隨時間流逝定期丟棄一部分頻譜區(qū)塊,同時刪除存放在邊緣服務(wù)器的頻譜區(qū)塊體,保證頻譜區(qū)塊鏈的數(shù)據(jù)量總體保持不變。
在精確頻譜共享中,絕大部分頻譜數(shù)據(jù)(本文為頻譜區(qū)塊和子區(qū)塊的形式)在本地產(chǎn)生、在本地使用,較少有跨地域的頻譜數(shù)據(jù)使用需求。當用戶需要使用本地的頻譜數(shù)據(jù)支撐精確頻譜共享時,個人無線設(shè)備接入最近的邊緣服務(wù)器查詢并下載所需的頻譜區(qū)塊;當個人無線設(shè)備需跨地域(異地)使用頻譜數(shù)據(jù)支撐精確頻譜共享時,個人無線設(shè)備向頻譜管理服務(wù)器(云端)提出申請并預(yù)存頻譜幣,云端的頻譜管理服務(wù)器根據(jù)頻譜區(qū)塊索引匹配距離最近的驗證節(jié)點,并向個人無線設(shè)備發(fā)送該頻譜區(qū)塊索引,個人無線設(shè)備下載該驗證節(jié)點的公鑰,驗證節(jié)點配合將所需頻譜區(qū)塊傳輸給個人無線設(shè)備,個人無線設(shè)備完成下載后確認,驗證節(jié)點獲得頻譜幣獎勵。
個人無線設(shè)備之間或個人無線設(shè)備與邊緣服務(wù)器/云端服務(wù)器之間通過頻譜設(shè)備網(wǎng)絡(luò)以非對稱加密的方式傳輸頻譜數(shù)據(jù)/頻譜幣。頻譜設(shè)備網(wǎng)絡(luò)的每個設(shè)備(包括邊緣服務(wù)器和云端服務(wù)器)均擁有一對密鑰,即公鑰keypublic和私鑰keyprivate,公鑰作為公布在網(wǎng)上,任何節(jié)點均可下載并加密頻譜數(shù)據(jù);私鑰保存在設(shè)備終端解密頻譜區(qū)塊。
頻譜設(shè)備網(wǎng)絡(luò)可以通過非對稱加密的方式傳遞數(shù)據(jù)。例如,當節(jié)點A 需要將頻譜數(shù)據(jù)Data 傳輸給節(jié)點B 時,首先查詢并下載節(jié)點B 的公鑰,用公鑰加密頻譜數(shù)據(jù)data 得到交易recorddata,如式(1)所示。
其中,recorddata是加密后得到交易記錄,RSA 為非對稱加密算法。當節(jié)點B 收到交易后,用自己的私鑰解密交易recorddata,得到頻譜數(shù)據(jù)Data,如式(2)所示。
頻譜設(shè)備網(wǎng)絡(luò)也通過非對稱加密的方式驗證頻譜數(shù)據(jù)未被修改。當節(jié)點B 向邊緣服務(wù)器上傳頻譜數(shù)據(jù)data 時,節(jié)點B 用哈希算法生成頻譜數(shù)據(jù)data 的摘要,如式(3)所示。
節(jié)點B 將數(shù)字簽名signdigest附在頻譜數(shù)據(jù)Data之后,上傳至邊緣服務(wù)器。其他節(jié)點可以在邊緣服務(wù)器查看該頻譜數(shù)據(jù)Data,用節(jié)點B 的公鑰解密數(shù)字簽名signdigest,得到頻譜數(shù)據(jù)的摘要digestdata,如式(5)所示。
再對頻譜數(shù)據(jù)使用哈希算法,如式(6)所示。
頻譜設(shè)備網(wǎng)絡(luò)通過“頻譜幣”及相應(yīng)的配套策略激勵個人無線設(shè)備采集頻譜數(shù)據(jù)。頻譜幣是在頻譜設(shè)備網(wǎng)絡(luò)中發(fā)行和流通的數(shù)字貨幣,由頻譜設(shè)備網(wǎng)絡(luò)發(fā)行,僅在頻譜設(shè)備網(wǎng)絡(luò)中流通,可用于購買額外的頻譜使用權(quán)、流量和帶寬等。
頻譜幣的定價策略。頻譜幣的定價與頻譜區(qū)塊掛鉤,規(guī)定每個頻譜區(qū)塊包含M GB 的頻譜數(shù)據(jù),即每產(chǎn)生M GB 符合要求的頻譜數(shù)據(jù),頻譜設(shè)備網(wǎng)絡(luò)即發(fā)行S 個頻譜幣。依托頻譜設(shè)備網(wǎng)絡(luò)產(chǎn)生的頻譜數(shù)據(jù)發(fā)行相應(yīng)數(shù)量的頻譜幣,即頻譜幣的發(fā)行與頻譜數(shù)據(jù)量錨定[30]。每當頻譜管理服務(wù)器發(fā)布頻譜數(shù)據(jù)采集任務(wù)時,頻譜設(shè)備網(wǎng)絡(luò)根據(jù)產(chǎn)生的頻譜數(shù)據(jù)量發(fā)行相應(yīng)數(shù)量的頻譜幣。
頻譜幣自動發(fā)行和自動支付策略。頻譜數(shù)據(jù)采集任務(wù)的發(fā)布與頻譜幣的發(fā)行是相互獨立的,頻譜管理服務(wù)器發(fā)布頻譜數(shù)據(jù)采集任務(wù),頻譜設(shè)備網(wǎng)絡(luò)發(fā)行頻譜幣,以這種方式避免頻譜管理服務(wù)器操縱頻譜幣的發(fā)行速度和頻譜幣的價格。當頻譜數(shù)據(jù)被添加到頻譜區(qū)塊鏈成為新的頻譜區(qū)塊后,頻譜設(shè)備網(wǎng)絡(luò)根據(jù)各簇和各感知節(jié)點在頻譜區(qū)塊中的貢獻比例和數(shù)據(jù)質(zhì)量自動將頻譜幣分配到各簇和各感知節(jié)點。
分布式的網(wǎng)絡(luò)結(jié)構(gòu)和異步的處理架構(gòu)往往要求開放的數(shù)據(jù)處理與融合方式,在頻譜幣激勵機制的驅(qū)動下,少數(shù)惡意的個人無線設(shè)備傾向于通過偽造頻譜數(shù)據(jù)的方式牟取不當利益,因此,需要針對惡意個人無線設(shè)備偽造頻譜數(shù)據(jù)的拜占庭攻擊設(shè)計專門的防御機制,確保頻譜數(shù)據(jù)的質(zhì)量。
在頻譜數(shù)據(jù)添加的過程中,惡意個人無線設(shè)備偽造頻譜數(shù)據(jù)的拜占庭攻擊主要發(fā)生在步驟1,惡意感知節(jié)點并沒有進行頻譜感知,因為頻譜感知需要消耗個人無線設(shè)備的能量和時間,而惡意感知節(jié)點卻希望通過提供偽造的頻譜數(shù)據(jù)來獲取頻譜設(shè)備網(wǎng)絡(luò)的頻譜幣獎勵,即“不勞而獲”,防御該拜占庭攻擊要求頻譜設(shè)備網(wǎng)絡(luò)能夠檢測出惡意感知節(jié)點偽造的頻譜數(shù)據(jù)。針對頻譜設(shè)備網(wǎng)絡(luò)分布式、無中心的特點,提出一種分布式共識機制,檢測惡意感知節(jié)點偽造頻譜數(shù)據(jù)的拜占庭攻擊。
本文所提出的防御拜占庭攻擊的共識機制以驗證節(jié)點在一定置信度下的假設(shè)檢驗判斷感知節(jié)點是否偽造頻譜數(shù)據(jù)進行拜占庭攻擊。該機制借鑒了Ripple 協(xié)議[31],屬于實用拜占庭容錯(PBFT,practical Byzantine fault tolerance)[32]的變種,包括感知節(jié)點共識融合、驗證節(jié)點共識驗證、簇頭節(jié)點共識確認這3 個步驟。
在步驟1 頻譜數(shù)據(jù)的添加過程中,感知節(jié)點在簇頭節(jié)點的領(lǐng)導(dǎo)下采集頻譜數(shù)據(jù),并通過分布式共識形成一致的頻譜子區(qū)塊。令表示簇i 的第j個感知節(jié)點,首先采集頻譜數(shù)據(jù),再根據(jù)鄰接圖接收鄰居感知節(jié)點n 的頻譜數(shù)據(jù) xin(k),按式(7)將自身的頻譜數(shù)據(jù)由 xij(k)迭代更新為 xij(k+1)。
其中,可表示步長。則有
其中,Nj為節(jié)點的鄰居,表示節(jié)點的度,Ω 為頻譜設(shè)備網(wǎng)絡(luò)鄰接矩陣G 的最大度,且 xij(0)=dataij。頻譜數(shù)據(jù)分布式共識的迭代更新也可以寫成如式(9)所示的矩陣形式。
其中,P=I-ηL,I 為單位矩陣,L 為鄰接矩陣G的拉普拉斯變換。共識過程迭代進行,直到簇內(nèi)感知節(jié)點的頻譜數(shù)據(jù)均收斂至共同值x?。定理1 保證了迭代過程的收斂性[33]。
定理1簇內(nèi)的感知節(jié)點通過式(10)來更新頻譜數(shù)據(jù)。
①在任何初始狀態(tài)下,都可以漸進地達成共識。
定理1 的證明如附錄所示。當簇內(nèi)的狀態(tài)迭代更新完成時,簇內(nèi)的感知節(jié)點和簇頭節(jié)點形成一致的頻譜數(shù)據(jù)datai。
簇頭節(jié)點將頻譜數(shù)據(jù)(包括感知節(jié)點位置信息、鄰接矩陣信息)打包成頻譜區(qū)塊體,用哈希算法生成頻譜數(shù)據(jù)信息的摘要,如式(11)所示。
用自己的私鑰對此摘要信息進行加密,如式(12)所示。
將加密后的信息上傳至最近的邊緣服務(wù)器,其他任何節(jié)點均可訪問該頻譜區(qū)塊體datai,用簇頭節(jié)點的公鑰解密數(shù)字簽名signdigest,得到頻譜區(qū)塊體的摘要digestdatai,如式(13)所示。
再對頻譜區(qū)塊體使用哈希算法,如式(14)所示。
協(xié)議1感知節(jié)點共識融合協(xié)議
隨后,邊緣服務(wù)器edgei發(fā)布頻譜區(qū)塊驗證任務(wù),附近的其他個人無線設(shè)備自主響應(yīng)驗證任務(wù),成為驗證節(jié)點。驗證節(jié)點根據(jù)頻譜數(shù)據(jù)子區(qū)塊提供的信息在驗證節(jié)點本地進行共識驗證,目的是檢查頻譜數(shù)據(jù)中是否存在惡意感知節(jié)點偽造的頻譜數(shù)據(jù)。驗證節(jié)點通過共識驗證得到每個頻率的共識結(jié)果和在1-α 置信度下的置信區(qū)間,如果∈則認為感知節(jié)點沒有偽造頻譜數(shù)據(jù),頻譜數(shù)據(jù)通過共識驗證;否則,認為感知節(jié)點偽造了頻譜數(shù)據(jù),共識驗證失敗。將驗證節(jié)點之間共識機制的偽代碼總結(jié)為驗證節(jié)點共識驗證協(xié)議,如協(xié)議2 所示。
協(xié)議2驗證節(jié)點共識驗證協(xié)議
隨后,簇頭節(jié)點對通過驗證的頻譜子區(qū)塊進行分布式共識,以確定哪一個頻譜子區(qū)塊被添加到頻譜區(qū)塊鏈中,提供該頻譜子區(qū)塊的簇將獲得一部分頻譜幣。各簇簇頭節(jié)點通過分布式共識得到共識結(jié)果Q?,將Q?與各簇所提供的原始頻譜數(shù)據(jù)相比,差異最小的頻譜數(shù)據(jù)被認為是該頻譜子區(qū)塊的提供者,獲得頻譜幣獎勵。將簇頭節(jié)點之間共識機制總結(jié)為簇頭節(jié)點共識確認協(xié)議,如協(xié)議3 所示。
協(xié)議3簇頭節(jié)點共識確認協(xié)議
通過實驗仿真測試本文設(shè)計的共識機制對惡意感知節(jié)點偽造頻譜數(shù)據(jù)的拜占庭攻擊的防御性能。
考慮頻譜設(shè)備網(wǎng)絡(luò)中小尺度授權(quán)用戶的場景,如圖5 所示。一個授權(quán)用戶發(fā)射機PU 位于坐標原點(0 m,0 m),發(fā)射功率為Pt=1~10 W(30~40 dBm)。100個個人無線設(shè)備隨機分布在以坐標原點為中心、邊長為5 km的方形區(qū)域內(nèi),隨機自發(fā)地形成C=6個簇,每個簇包含7~13 個個人無線設(shè)備、一個簇頭節(jié)點和若干個感知節(jié)點。授權(quán)用戶信號經(jīng)瑞利衰落后被感知節(jié)點接收,環(huán)境噪聲的功率譜密度為-174 dBm/Hz[34],大尺度路徑衰落系數(shù)為4,小尺度瑞利衰落系數(shù)為1,感知節(jié)點通過本地頻譜感知采集頻譜數(shù)據(jù),感知節(jié)點的接收授權(quán)用戶信號的信噪比與授權(quán)用戶發(fā)射功率、感知節(jié)點的位置和傳播路徑相關(guān)。區(qū)域內(nèi)其他個人無線設(shè)備以50%的概率參與共識驗證,成為驗證節(jié)點,其余個人無線設(shè)備為一般節(jié)點,不參與共識驗證。驗證節(jié)點在 α=0.05或α=0.1的置信度下對頻譜數(shù)據(jù)進行共識驗證,并通過邊緣服務(wù)器將驗證結(jié)果反饋給各簇頭節(jié)點,驗證節(jié)點獲得簇頭節(jié)點預(yù)存的頻譜幣作為驗證獎勵,簇頭節(jié)點對通過共識驗證的頻譜數(shù)據(jù)進行分布式共識,確定頻譜數(shù)據(jù)的來源,即確定哪一個頻譜子區(qū)塊被添加到頻譜區(qū)塊鏈。
圖5 100 個個人無線設(shè)備和一個授權(quán)用戶的頻譜設(shè)備網(wǎng)絡(luò)場景
假設(shè)簇內(nèi)惡意感知節(jié)點的數(shù)量總體上小于或等于誠實感知節(jié)點的數(shù)量,以簇4 為例,即簇內(nèi)包含1~4 個惡意感知節(jié)點。惡意感知節(jié)點以 Pattack的概率發(fā)動偽造頻譜數(shù)據(jù)的拜占庭攻擊,所偽造的頻譜數(shù)據(jù)為區(qū)間內(nèi)的隨機值,其中,分別為k 時刻接收鄰居感知節(jié)點發(fā)送的頻譜數(shù)據(jù)最小值和頻譜數(shù)據(jù)最大值。
圖6(a)~圖6(e)分別仿真了簇4 在無惡意感知節(jié)點和包含1~4 個惡意感知節(jié)點時對頻譜數(shù)據(jù)進行分布式共識的過程,可見無論簇內(nèi)有無惡意感知節(jié)點,均能通過簇內(nèi)感知節(jié)點之間的分布式共識對頻譜數(shù)據(jù)值達成一致。當簇4 在無惡意感知節(jié)點時達成共識,其值可以視為分布式共識的真實值;當簇4 包含惡意感知節(jié)點時,感知節(jié)點通過分布式共識得到的頻譜數(shù)據(jù)值與真實值之間的差異隨著惡意感知節(jié)點數(shù)量的增多而增大。在此基礎(chǔ)上,對簇4無惡意感知節(jié)點和包含1~4 個惡意感知節(jié)點的情況進行1 000 次Monte-Carlo 仿真,統(tǒng)計簇內(nèi)感知節(jié)點達成分布式共識時頻譜數(shù)據(jù)值的分布,如圖7(a)~圖7(e)所示,可見在無惡意感知節(jié)點時,達成共識時頻譜數(shù)據(jù)值在很小的區(qū)間內(nèi)(如圖7(a)所示的[-1.853 5,-1.849 0])形成正態(tài)分布;當簇內(nèi)包含惡意感知節(jié)點時,達成共識時頻譜數(shù)據(jù)值僅較集中地分布在若干個離散點。從圖7(b)~圖7(e)來看,達成共識時頻譜數(shù)據(jù)值的分布符合上述的觀察結(jié)果,即達成共識時頻譜數(shù)據(jù)值與真實值之間的差異隨著惡意感知節(jié)點數(shù)量的增多而增大。由文獻[34]可知,分布式共識的收斂速度由2λ 決定,2λ 為L 第二小的特征值,稱為圖的代數(shù)連通性。在惡意用戶數(shù)量逐漸增多的過程中,鄰接矩陣G不變,L 作為G 的拉普拉斯變換也不變,因此分布式共識的收斂速度并不會隨著惡意用戶數(shù)量的增多而變慢。
圖6 簇內(nèi)頻譜數(shù)據(jù)進行分布式共識的過程
圖7 達成共識時頻譜數(shù)據(jù)值的分布
簇內(nèi)感知節(jié)點通過分布式共識對頻譜數(shù)據(jù)達成共識后,簇頭節(jié)點將頻譜數(shù)據(jù)和簇內(nèi)鄰接矩陣信息非對稱加密,通過邊緣服務(wù)器發(fā)送給驗證節(jié)點,驗證節(jié)點根據(jù)鄰接矩陣信息對頻譜數(shù)據(jù)進行共識驗證,確定感知節(jié)點是否偽造頻譜數(shù)據(jù)。驗證節(jié)點在α=0.05或α=0.1的置信度下對頻譜數(shù)據(jù)進行共識驗證的結(jié)果如圖8(a)和圖8(b)所示。若達成共識時的頻譜數(shù)據(jù)(實線)落入1-α 置信度下的置信區(qū)間,即認為感知節(jié)點沒有偽造頻譜數(shù)據(jù),通過共識驗證;若達成共識時的頻譜數(shù)據(jù)值(虛線)落入1-α置信度下的置信區(qū)間[Δmin,Δmax]之外,即認為感知節(jié)點偽造了頻譜數(shù)據(jù),共識驗證失敗。當置信度由 α=0.05變?yōu)?α=0.1時,共識驗證的置信區(qū)間增大。為評估所提共識驗證對拜占庭攻擊的防御性能,定義2 種概率:虛警概率Pf和漏警概率Pm。虛警表示無惡意感知節(jié)點或惡意感知節(jié)點未發(fā)動拜占庭攻擊時,達成共識時頻譜數(shù)據(jù)因落在置信區(qū)間[Δmin,Δmax]之外而未通過共識驗證。漏警表示惡意感知節(jié)點發(fā)動了拜占庭攻擊,達成共識時頻譜數(shù)據(jù)因落入置信區(qū)間[Δmin,Δmax]而通過共識驗證。虛警概率Pf和漏警概率Pm直接反映了共識機制對惡意感知節(jié)點偽造頻譜數(shù)據(jù)的拜占庭攻擊的防御性能。
圖8 驗證節(jié)點對頻譜數(shù)據(jù)進行共識驗證
授權(quán)用戶發(fā)射機取1~10 W(30~40 dBm)的發(fā)射功率,驗證節(jié)點對頻譜數(shù)據(jù)值進行共識驗證,得到授權(quán)用戶在不同發(fā)射功率下共識驗證的虛警概率Pf和漏警概率Pm,仿真結(jié)果是在 α=0.05或α=0.1下通過1 000 次Monte-Carlo 仿真得到的平均水平。漏警概率Pm與授權(quán)用戶發(fā)射功率Pt的關(guān)系如圖9所示。從圖9 可以看出,漏警概率Pm隨著授權(quán)用戶發(fā)射功率Pt的增加而降低,說明授權(quán)用戶發(fā)射功率Pt的增加提高了共識驗證的區(qū)分度;漏警概率Pm隨著惡意用戶數(shù)量的增加而降低,說明惡意用戶數(shù)量的增加也提高了共識驗證的區(qū)分度;隨著置信度α 從0.1 降低到0.05,共識驗證的置信區(qū)間[Δmin,Δmax]將縮小,使漏警概率Pm進一步降低。虛警概率Pf與授權(quán)用戶發(fā)射功率Pt的關(guān)系如圖10所示。從圖10 可以看出,虛警概率Pf隨著授權(quán)用戶發(fā)射功率Pt的增加而降低,說明授權(quán)用戶發(fā)射功率Pt的增加提高了共識驗證的區(qū)分度;惡意用戶數(shù)量和置信度α 對虛警概率Pf的影響不大,但總體來說,虛警概率Pf隨惡意用戶數(shù)量的增加而降低,說明惡意用戶數(shù)量的增加也有助于提高共識驗證的區(qū)分度;當置信度α 從0.1 降低到0.05,共識驗證的置信區(qū)間[Δmin,Δmax]將縮?。ㄈ鐖D8 所示),可能使一部分無惡意感知節(jié)點的頻譜數(shù)據(jù)落入置信區(qū)間[Δmin,Δmax]之外,導(dǎo)致虛警。綜合不同授權(quán)用戶發(fā)射功率Pt、不同惡意感知節(jié)點數(shù)量和置信度 α=0.05或α=0.1下的漏警概率Pm和虛警概率Pf,得到漏警概率Pm、虛警概率Pf與授權(quán)用戶發(fā)射功率Pt的關(guān)系如圖11 所示。
圖9 漏警概率Pm與授權(quán)用戶發(fā)射功率Pt的關(guān)系
圖10 虛警概率Pf與授權(quán)用戶發(fā)射功率Pt的關(guān)系
圖11 漏警概率Pm、虛警概率Pf與授權(quán)用戶發(fā)射功率Pt的關(guān)系
最后,簇1~簇6 的簇頭節(jié)點對通過共識驗證的頻譜數(shù)據(jù)進行分布式共識(這里,假設(shè)簇1~簇6 的頻譜數(shù)據(jù)均通過共識驗證),如圖12 所示,共識過程表明簇頭節(jié)點6 的初始頻譜數(shù)據(jù)值與頻譜數(shù)據(jù)共識值(實線)誤差最小,因此確定簇6 提供的頻譜子區(qū)塊被添加到頻譜區(qū)塊鏈,根據(jù)簇6 內(nèi)感知節(jié)點對頻譜子區(qū)塊的貢獻比例,頻譜設(shè)備網(wǎng)絡(luò)將頻譜幣自動分配至簇6 內(nèi)各感知節(jié)點。
圖12 簇頭節(jié)點通過分布式共識確定頻譜數(shù)據(jù)來源的過程
本文所提共識機制屬于PBFT 的變種[32],借鑒了Ripple 協(xié)議[31],將其與主流共識機制(如PoW、PoS)進行比較,如表1 所示,其中,n 為網(wǎng)絡(luò)中的節(jié)點數(shù)量。
表1 本文共識機制與主流共識機制的比較
實際上,PoW 中的搜索空間是無限的,因此也導(dǎo)致PoW 的吞吐率較低;PoS 的搜索空間有限,但存在礦工挖礦并尋求其他礦工的一致性驗證過程,導(dǎo)致PoS 的吞吐率仍然不高。本文所提共識機制沒有PoW、PoS 等典型共識機制中的“礦工”挖礦過程,這一點將大大提高頻譜設(shè)備網(wǎng)絡(luò)的吞吐率,代價是對惡意攻擊的抵御能力低于PoW 和PoS。
針對大規(guī)模、超密集部署移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)帶來的精確頻譜共享需求,提出了基于區(qū)塊鏈技術(shù)聯(lián)網(wǎng)海量個人無線設(shè)備構(gòu)成頻譜設(shè)備網(wǎng)絡(luò)。采用云計算與邊緣計算結(jié)合的頻譜設(shè)備網(wǎng)絡(luò)架構(gòu),頻譜管理服務(wù)器在頻譜設(shè)備網(wǎng)絡(luò)云端發(fā)布頻譜感知任務(wù)、回收頻譜數(shù)據(jù)、發(fā)放任務(wù)獎勵,個人無線設(shè)備既是頻譜使用設(shè)備又是頻譜感知設(shè)備,在頻譜設(shè)備網(wǎng)絡(luò)邊緣分布式地采集頻譜數(shù)據(jù)構(gòu)成頻譜區(qū)塊鏈、獲得頻譜幣獎勵,頻譜設(shè)備網(wǎng)絡(luò)通過感知節(jié)點共識融合、驗證節(jié)點共識驗證、簇頭節(jié)點共識確認的分布式共識機制防御惡意節(jié)點偽造頻譜數(shù)據(jù)的拜占庭攻擊。頻譜設(shè)備網(wǎng)絡(luò)以頻譜數(shù)據(jù)獲取、頻譜區(qū)塊添加、頻譜數(shù)據(jù)傳輸、頻譜數(shù)據(jù)采集的激勵作為網(wǎng)絡(luò)運行的基本策略。仿真結(jié)果表明,分布式共識防御惡意節(jié)點偽造頻譜數(shù)據(jù)的拜占庭攻擊的有效性和可靠性?;趨^(qū)塊鏈的頻譜設(shè)備網(wǎng)絡(luò)利用區(qū)塊鏈技術(shù)去中心化存儲、非對稱加密、分布式共識等關(guān)鍵技術(shù),使聯(lián)網(wǎng)的海量個人無線設(shè)備貢獻頻譜數(shù)據(jù)、支撐精確頻譜共享成為可能。下一步,將面向精確頻譜共享,在區(qū)塊鏈技術(shù)框架下對頻譜數(shù)據(jù)的獲取、頻譜區(qū)塊的添加、頻譜數(shù)據(jù)的傳輸、頻譜感知的激勵等頻譜設(shè)備網(wǎng)絡(luò)運行基本策略做進一步的研究。
附錄 定理1 的證明
結(jié)論①的證明見文獻[35],下面主要證明結(jié)論②。
考慮到L 為鄰接矩陣G 的拉普拉斯變換,則有rank(L)=n-1,證明見文獻[36],則0 是L 的特征值,令γ=(γ1,γ2,…,γn)為L 的左特征向量,則有 γTL=0,且有=-Lx[36],則由
證畢。