黃曉舸 劉 鑫 何 勇 陳前斌
(重慶郵電大學通信與信息工程學院 重慶 400065)
目前,物聯網市場正經歷著前所未有的快速發展時期。根據美國發布的新興技術趨勢報告,到2045年,將有超過1011個設備連接到網絡[1]。物聯網將滲透到人們生活的方方面面,從而產生多種應用場景,如智慧城市、智慧家庭、可穿戴設備和汽車互聯網。物聯網設備的爆發式增長也推動了各種移動應用的出現,如語言識別、網絡游戲、虛擬現實和增強現實[2,3]。這些應用通常都需要強大的計算能力,然而物聯網設備計算資源有限,無法滿足日益增長的應用需求。霧計算(Fog Computing,FC)的出現給計算密集型應用提供了解決方案[4]。FC在網絡邊緣提供計算和存儲資源,物聯網設備可以將計算任務卸載到附近的霧節點(Fog Nodes,FNs),從而有效降低任務卸載時延和能耗[5,6]。
盡管FC極大地減小了任務處理時延,但物聯網設備的安全性和用戶數據隱私性問題尚未得到解決。針對任務卸載過程的數據安全問題,引入區塊鏈技術構建去中心化分布式賬本,為其提供可信、透明、分布式的存儲支持,從而構建高效、可信、安全的分布式物聯網網絡,防止惡意節點修改交易信息,實現數據安全可靠傳輸[7,8]。
現有研究中,普遍考慮將計算密集型任務卸載到附近FNs。然而FNs不僅要滿足卸載任務時延和能耗要求,還要完成區塊鏈共識任務,這對FNs的計算能力提出了極大挑戰。基于此,本文提出一種基于區塊鏈的霧網絡模型,本模型中用戶設備可以將計算任務通過D2D(Device-to-Device)鏈路卸載到擁有空閑計算能力的用戶設備或附近FNs。在不同約束條件下,對任務卸載決策、傳輸速率分配和計算資源分配聯合優化,以最小化網絡成本。本文的主要貢獻概括如下。
首先,為保證卸載任務數據安全性,本文引入區塊鏈技術,構造基于區塊鏈的霧網絡結構,防止惡意節點修改交易信息,實現數據安全可靠傳輸。同時,為降低卸載任務成本,減小任務處理時延和能耗,本模型中,用戶可動態選取D2D群輔助卸載或FNs卸載方式。
其次,為降低區塊鏈共識成本,本文提出一種基于投票的改進型委托權益證明(Delegated-Proofof-Stake, DPoS)共識機制,以降低共識時延和能耗,并保證驗證FNs的可靠性。
最后,為最小化網絡成本,本文提出任務卸載決策和資源分配(Task Offloading Decision and Resource Allocation, TODRA)算法,該算法聯合優化任務卸載決策、傳輸速率和計算資源分配,可得局部最優解。仿真驗證了該算法的有效性。
基于區塊鏈的霧網絡場景如圖1所示,它由用戶設備層、霧層和云層組成。用戶設備層有K個智能移動用戶設備(Smart Mobile Equipment,SME),包括智能手機、智能穿戴設備、智能車輛等。在該場景中,具有閑置計算資源的用戶設備可以組成一個D2D協作群組,為有任務卸載需求的用戶設備提供服務。設用戶設備k的D2D協作群組包括K′個用戶設備,用戶設備k和k′之間的信噪比(Signal-to-Noise Ratio, SNR)大于閾值Hth。霧層包括N個FN,FN由霧服務器(Fog Server, FS)和基站(Base Station, BS)組成。Ωn表 示FNn關聯的用戶設備集合。FNs通過核心網連接到云服務器。云服務器可提供更強大的運算能力(例如,大數據處理)。計算密集型應用程序和延遲敏感部分在邊緣網絡執行,并且與核心云進行數據同步。

圖1 基于區塊鏈的霧網絡場景


雖然用戶設備可將計算密集型任務卸載到附近FNs,提高用戶體驗,但惡意的FNs可能會濫用從用戶數據,隱私用戶泄露。為了保證霧計算網絡的安全性,啟用區塊鏈技術來驗證網絡交易。由于FNs能夠提供計算資源和存儲資源,它們可同時作為區塊鏈節點來處理區塊鏈共識任務。本文提出改



在本霧網絡場景中,當用戶設備具有任務卸載請求時,將分兩個階段進行,即任務卸載和區塊鏈共識,如圖2所示。

圖2 任務卸載和區塊共識流程圖
步驟1 在任務卸載階段,用戶設備首先將任務卸載請求發送給管理者。
步驟2 管理者將任務卸載請求廣播到FNs和與其關聯的D2D協作群組。
步驟3 FNs和D2D協作群組返回處理卸載任務時延和能耗信息到管理者。
步驟4 管理者接收到反饋信息后發送任務卸載決策給用戶設備。
步驟5 在區塊鏈共識階段,驗證集中的FNs收集網絡中的交易,管理者打包交易并生產區塊。
步驟6 管理者將新生成的區塊進行簽名后廣播給驗證者。
步驟7 驗證者將對收到的區塊進行驗證,以確定該區塊是否已被修改,驗證無誤后進行區塊上鏈操作。
網絡成本包括任務卸載成本和區塊鏈共識成本,由式(27)給出

其中,ζ1是任務卸載成本和區塊鏈共識成本之間的權重因子,ζ2是保證目標函數處于同一水平的映射因子。







表1 任務卸載決策和資源分配算法

本節針對本方案提出基于多用戶的TODRA算法,在基于區塊鏈的霧網絡場景下進行仿真分析??紤]一個由隨機分布在400m×400m區域內的FNs和用戶設備組成的霧計算網絡,如圖3所示。在仿真中,用戶設備數量和FN帶寬默認設置為96和10 MHz,提出的TODRA算法通過與以下3個算法在各個方面進行性能對比:FC單一卸載算法(Fog Computing Single Offloading, FCSO)[11],在該算法中,用戶設備將其計算任務完全卸載到附近的FC服務器;D2D單一卸載算法(Device-to-device Single Offloading, DSO)[12],在該算法中,用戶設備通過D2D通信鏈路將其任務完全卸載到其他閑置的用戶設備;平均資源分配(Equal Resource Allocation, ERA)算法[13],在該算法中,FNs的計算資源被平均分配給用戶設備。

圖3 網絡場景圖
圖4表示TODRA算法在FNs的不同計算能力(Computing Capacity, CC)下獲得的任務卸載成本、區塊鏈共識成本和網絡成本與數據大小的關系。從圖4可以看出,所有算法的成本都隨著數據大小的增加而增加。在任務卸載階段,隨著數據量的增長,數據處理時延和能耗相應增加。此外,隨著數據量的增長,會產生更多的交易,導致生成的區塊數量更多,這將增加區塊鏈共識過程中的時延和能耗。相應地,網絡成本增加。另外,從圖中還可以看出隨著FNs計算能力的提高,網絡成本降低。

圖4 3種成本與數據大小的關系
圖5討論了不同算法的網絡成本隨著用戶設備數量變化的變化趨勢。從仿真結果可以看出,所有算法的網絡成本都隨著用戶設備數量的增加而增加。提出的TODRA算法與其他3種算法相比能夠獲得更好的性能。此外,隨著用戶設備數量的增加,TODRA算法與另外3種算法之間的網絡性能差距也越來越大。這主要是由于隨著用戶設備數量的增加,FNs的資源競爭變得激烈。

圖5 不同方案的網絡成本與用戶設備數量的關系
圖6進一步討論了TODRA算法與其他3種算法的網絡成本隨FN可用帶寬增大的變化趨勢。可以看出,當FN可用帶寬增大時,網絡成本會降低,并且該算法與另外3種算法相比能夠獲得更好的性能。對于ERA算法,在該算法中,FNs的帶寬資源和計算資源平均分配給用戶設備,隨著用戶設備數量的增加,任務卸載和處理的時延和能耗急劇增加,所以其性能低于其他算法。

圖6 不同方案的網絡成本與系統帶寬的關系
圖7評估了在不同用戶設備數量下,所有FNs的得票數。在仿真中,FNs的數量被設置為16。如果FNs的票數大于或者等于閾值,該FN則會被選擇成為驗證集的一員。反之,則被排除。由仿真結果可知,閾值隨用戶設備數量的動態變化,當用戶設備數量為210時,閾值是10,用深藍色條表示。可以看出FN ID為2, 3, 5, 6, 7, 9, 13, 16的FNs可以包括在驗證集中,而得票數較少的其他FNs將不能成為驗證集的一員。而當用戶設備數量降為170時,閾值是9,用淺藍色條表示。進一步降低到136時,閾值是8,以黃條表示。

圖7 不同用戶設備數量下FNs的得票數
圖8評估所提出改進的基于投票的DPoS共識算法,工作量證明(Proof-of-Work, PoW)共識算法[14],權益證明( Proof-of-Stake, PoS)共識算法[15],DPoS共識算法和合作證明(Proof-of-Collaboration,PoC)共識算法的網絡成本和區塊數量的關系[16]。可以看出,在所有算法的網絡開銷都隨著區塊數目的增加而增加。因為隨著區塊數目的增加,管理者會產生更多的時延和能耗來執行區塊共識過程。當區塊數量固定時,4種共識機制的成本差異主要受網絡節點數量的影響,本文所提出的改進DPoS共識機制,經過投票篩選了一部分節點完成區塊共識過程,參與區塊共享和區塊驗證的節點數量降低。因此,區塊鏈共識成本中,區塊共享階段和驗證階段成本降低。此外,與其他算法相比,提出的算法可以獲得更好的性能,這得益于區塊共識過程中更快的區塊生成和驗證過程。

圖8 不同方案的網絡成本與區塊數量的關系
本文提出一種基于區塊鏈的霧網絡,在保證網絡安全的同時,將用戶設備的任務卸載到附近的FNs或D2D協作群組。以最小化網絡成本為目標,提出了改進的基于投票的DPoS共識機制,建立了在不同約束條件下聯合優化任務卸載決策、傳輸速率分配和計算資源分配的優化問題。仿真結果驗證了該算法的有效性。