王帆,殷鋒,袁平
(1.四川大學(xué)計算機學(xué)院,成都610065;2.西南民族大學(xué)計算機科學(xué)與技術(shù)學(xué)院,成都610041;3.重慶第二師范學(xué)院數(shù)學(xué)與信息工程學(xué)院,重慶400067)
隨著5G 通信和物聯(lián)網(wǎng)的發(fā)展,數(shù)億臺設(shè)備已被部署于各個領(lǐng)域用于感知、收集和傳輸數(shù)據(jù)。近年來,可穿戴智能設(shè)備由于其可以通過軟件與中心服務(wù)器連接,以此實現(xiàn)數(shù)據(jù)交互,為用戶提供豐富的功能,加上其獨特的便攜性正受到持續(xù)關(guān)注。5G 即第五代移動通信系統(tǒng),英文名為5th Generation Mobile Networks。它的最大特點是高速率、大寬帶、低時延,在傳輸速率上能比4G 快上百倍,預(yù)計每秒至少能達到1000 兆比特(Gb/s),相當(dāng)于傳輸1GB 的視頻僅需要短短8 秒。隨著5G 時代的到來和逐漸成熟,5G 加速了可穿戴智能設(shè)備的發(fā)展,對我們的生活帶來了很大的轉(zhuǎn)變。與此同時,各大廠商也在積極投入研發(fā),使得可穿戴設(shè)備的種類逐漸趨向于多元化,而如何實現(xiàn)更強大的功能成為核心問題。數(shù)據(jù)共享可以擴大產(chǎn)品的覆蓋范圍,同時,可以利用設(shè)備的測量數(shù)據(jù)通過相應(yīng)的服務(wù)平臺對數(shù)據(jù)進行分析,讓服務(wù)提供商提供更具有針對性的服務(wù)。
在大數(shù)據(jù)背景下,數(shù)據(jù)呈指數(shù)增長,已成為研究的重要資源。而目前,各行業(yè)卻依然存在“數(shù)據(jù)孤島”的問題,建立安全有效的數(shù)據(jù)共享模型成為重點關(guān)注問題。許多領(lǐng)域,例如醫(yī)學(xué)和醫(yī)療保健中,通過共享臨床數(shù)據(jù)可以深入進行個性化的病人護理和醫(yī)學(xué)知識研究;在工業(yè)領(lǐng)域,促進各企業(yè)間數(shù)據(jù)的互聯(lián)互通,將有助于工業(yè)協(xié)同生產(chǎn)和產(chǎn)品優(yōu)化等。盡管數(shù)據(jù)共享可以催生許多應(yīng)用,為各行業(yè)的生產(chǎn)發(fā)展等帶來了極大便利,但在數(shù)據(jù)共享過程中,仍存在一個關(guān)鍵問題:傳統(tǒng)的數(shù)據(jù)共享方案利用中央服務(wù)器進行集中存儲,使得數(shù)據(jù)的隱私性無法得到保證,因此用戶可能不愿意共享數(shù)據(jù)。另外,在傳統(tǒng)的生產(chǎn)模式下,由于數(shù)據(jù)是存儲在單一、孤立的系統(tǒng)中,缺乏強大的數(shù)據(jù)保護措施,單一節(jié)點損壞會帶來巨大的損失,與此同時,數(shù)據(jù)存儲的壓力也日益增長。
針對上述問題,本文提出一種基于區(qū)塊鏈和邊緣計算的可穿戴設(shè)備數(shù)據(jù)共享框架。使用區(qū)塊鏈存儲采集的穿戴設(shè)備的共享數(shù)據(jù),考慮到區(qū)塊鏈節(jié)點需要較高的計算資源,因此結(jié)合邊緣計算完成節(jié)點的計算任務(wù)。
區(qū)塊鏈是在網(wǎng)絡(luò)共識下結(jié)合智能合約和其他輔助技術(shù)的分布式賬本技術(shù)。區(qū)塊鏈技術(shù)的核心優(yōu)勢是去中心化,通過運用數(shù)據(jù)加密、時間戳、分布式共識和經(jīng)濟激勵等手段,使網(wǎng)絡(luò)節(jié)點在無需互相信任的分布式系統(tǒng)中實現(xiàn)可信任的點對點交易、協(xié)調(diào)與協(xié)作,從而解決中心化機構(gòu)普遍存在的高成本、低效率和數(shù)據(jù)存儲不安全等問題。區(qū)塊和區(qū)塊鏈結(jié)構(gòu)如圖1 所示。
圖1 區(qū)塊和區(qū)塊鏈結(jié)構(gòu)示意圖
基于區(qū)塊鏈技術(shù)的去中心化理念,利用其分布式控制及存儲,通過共享經(jīng)濟模式,盤活網(wǎng)絡(luò)上的存量存儲和計算資源,將有效緩解工業(yè)大數(shù)據(jù)運營商的數(shù)據(jù)存儲及運維壓力,進一步有效實現(xiàn)數(shù)據(jù)挖掘和價值增值。同時,鑒于區(qū)塊鏈的不可篡改特性,能有效減少用戶的數(shù)據(jù)隱私安全問題。
一系列工作已經(jīng)研究基于區(qū)塊鏈的數(shù)據(jù)共享。例如,DubovitskayaA 等人[1]提出了基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)管理的觀點,特別是關(guān)于醫(yī)療提供商之間的EMR 數(shù)據(jù)共享和研究,并建立了一個用于管理和共享用于癌癥患者護理的EMR 數(shù)據(jù)的框架。Michelin 等人[2]提出了一個名為SpeedyChain 的框架,將存儲在交易中的數(shù)據(jù)與區(qū)塊頭解耦,從而允許將數(shù)據(jù)快速添加到區(qū)塊中。K.Christidis 等人[3]指出區(qū)塊鏈與IoT 的組合有力促進了服務(wù)和資源的共享,從而在設(shè)備之間創(chuàng)建服務(wù)市場,以及允許我們以密碼可驗證的方式實現(xiàn)自動化現(xiàn)有的耗時的工作流程。在文獻[4]中,作者提出了一種基于區(qū)塊鏈的高效數(shù)據(jù)收集和安全共享方案,結(jié)合Ethereum 區(qū)塊鏈和DRL,建立一個可靠的環(huán)境。
但由于區(qū)塊鏈所需的網(wǎng)絡(luò)計算消耗大,可擴展性不高,而可穿戴設(shè)備本身硬件實力不高,因此直接使用區(qū)塊鏈建立可穿戴設(shè)備上的數(shù)據(jù)共享平臺將造成不小的計算負擔(dān)。
物聯(lián)網(wǎng)一般采用云計算技術(shù)來完成計算任務(wù),但隨著設(shè)備的增加,網(wǎng)絡(luò)側(cè)產(chǎn)生的數(shù)據(jù)將會非常龐大。當(dāng)網(wǎng)絡(luò)流量壓力較大時,將無法滿足一些設(shè)備的低時延和實時協(xié)同合作。邊緣計算屬于一種分布式計算,可以在網(wǎng)絡(luò)邊緣側(cè)的智能網(wǎng)關(guān)上就近處理采集的數(shù)據(jù),而不需要將大量數(shù)據(jù)上傳到遠端的核心管理平臺,能實現(xiàn)大量設(shè)備的高效協(xié)同功能,同時滿足設(shè)備在敏捷性、實時性、數(shù)據(jù)優(yōu)化、應(yīng)用智能,以及安全與隱私保護等方面的關(guān)鍵需求。
移動邊緣計算(MEC)的概念最早出現(xiàn)在2013 年,主要思想是通過在移動基站上引入業(yè)務(wù)平臺功能,使得業(yè)務(wù)應(yīng)用可以部署在移動網(wǎng)絡(luò)邊緣,以在接近智能手機或者移動終端的地方實現(xiàn)云計算能力。由于移動邊緣計算將網(wǎng)絡(luò)業(yè)務(wù)“下沉”到無線接入網(wǎng)里,因此具備三大優(yōu)點:①更低延時;②有效抑制了網(wǎng)絡(luò)擁塞;③更多的網(wǎng)絡(luò)信息及網(wǎng)絡(luò)控制功能可以開放給開發(fā)者。采用邊緣計算可以就近處理海量數(shù)據(jù),大量設(shè)備可以實現(xiàn)高效協(xié)同工作,諸多問題迎刃而解,從而極大地提升計算的“智能”。Marjanovic[5]已將MEC 體系結(jié)構(gòu)用于人群感應(yīng)應(yīng)用程序,其中可以共享大容量的原始傳感數(shù)據(jù)并將其保存在云中,并具有改進的可伸縮性。作者提出了一種能量收集模型,該模型允許移動節(jié)點將任務(wù)轉(zhuǎn)移到附近的移動邊緣塔上,以在移動節(jié)點處獲得能源效率[6]。
本文所提出的數(shù)據(jù)共享框架“BMECS”如圖2 所示,該系統(tǒng)主要由區(qū)塊鏈模塊和邊緣計算模塊組成。該區(qū)塊鏈通過其加密的記錄在所有終端設(shè)備之間建立安全連接,為減輕設(shè)備壓力,提高計算效率,區(qū)塊由設(shè)備附近的移動邊緣計算節(jié)點進行維護。該區(qū)塊鏈主要實現(xiàn)兩種功能:分布式數(shù)據(jù)安全共享和數(shù)據(jù)檢索。
圖2 BMECS系統(tǒng)結(jié)構(gòu)圖
如圖2 所示,我們將系統(tǒng)設(shè)備層中的穿戴設(shè)備稱為數(shù)據(jù)請求者/提供者,數(shù)據(jù)請求者可以向數(shù)據(jù)提供方請求數(shù)據(jù),數(shù)據(jù)提供商利用MEC 節(jié)點將本地采集的數(shù)據(jù)上傳到區(qū)塊鏈當(dāng)中進行存儲以此獲得獎勵。由于數(shù)據(jù)提供者的計算資源有限,因此MEC 節(jié)點負責(zé)將收集到的數(shù)據(jù)進行處理和加密,并廣播全網(wǎng)的其他節(jié)點進行驗證,達成一致,該過程稱為共識算法。常見的共識算法有POW(工作量證明)、POS(權(quán)益證明)、PBFT(拜占庭容錯算法)等,考慮到可穿戴設(shè)備所需的低時延特點和計算能力,本文擬采用PBFT 作為區(qū)塊鏈節(jié)點的共識機制,該算法流程如圖3 所示,主要分為以下四個步驟:
(1)客戶端發(fā)送請求給主節(jié)點
(2)主節(jié)點廣播請求給其它節(jié)點,節(jié)點執(zhí)行PBFT算法的三階段共識流程,該流程如圖3 所示。其中C為客戶端,N0~N3表示服務(wù)節(jié)點,特別的,N0為主節(jié)點,N3為故障節(jié)點。
(3)節(jié)點處理完三階段流程后,返回消息給客戶端。
(4)客戶端收到來自f+1 個節(jié)點的相同消息后,代表共識已經(jīng)正確完成。
圖3 PBFT算法三階段共識流程
考慮到用戶對數(shù)據(jù)隱私的擔(dān)憂,為了激勵用戶參與到系統(tǒng)中進行數(shù)據(jù)共享,同時為了減少無效或有害數(shù)據(jù)在鏈上的傳輸,本文將引入“信譽幣”的概念,用于用戶之間的數(shù)據(jù)交易。數(shù)據(jù)請求者向數(shù)據(jù)提供商發(fā)起訪問授權(quán),之后,請求者使用“信譽幣”向提供者支付費用。系統(tǒng)詳細流程如下:
(1)系統(tǒng)初始化:對初加入系統(tǒng)中的用戶通過中央機構(gòu)進行身份驗證,審核通過的分配數(shù)字證書、公鑰、私鑰并設(shè)置初始信譽幣;
(2)數(shù)據(jù)共享請求:數(shù)據(jù)請求者向MEC 發(fā)起數(shù)據(jù)共享請求,MEC 執(zhí)行共識算法新增交易請求區(qū)塊;
(3)數(shù)據(jù)檢索:數(shù)據(jù)提供商通過附件的MEC 節(jié)點定時檢索區(qū)塊鏈,驗證數(shù)據(jù)請求者的證書合法,達成協(xié)商,使用私鑰將數(shù)據(jù)進行加密并上傳至鏈上;
(4)達成交易:數(shù)據(jù)請求者支付“信譽幣”給數(shù)據(jù)提供商,獲取公鑰對數(shù)據(jù)進行解密,交易完成。
為了評估所提出的系統(tǒng)模型,本節(jié)將從以下幾個方面來進行分析。
由于設(shè)備所共享的數(shù)據(jù)存儲在區(qū)塊鏈上,當(dāng)某一節(jié)點發(fā)生修改時都將造成斷鏈,因此任何人都無法偽造數(shù)字簽名對區(qū)塊進行篡改。當(dāng)有用戶傳播惡意數(shù)據(jù)時,系統(tǒng)可以在區(qū)塊鏈上進行檢索,并通過減少“信譽幣”來懲罰用戶。利用公私鑰實現(xiàn)數(shù)據(jù)的加解密,有效保障了數(shù)據(jù)的隱私性。
針對可穿戴設(shè)備的高延遲、離線情況和算力問題,系統(tǒng)使用到移動邊緣計算節(jié)點進行數(shù)據(jù)的采集、處理和加密,并執(zhí)行拜占庭容錯算法進行“挖礦”,有效減少了計算消耗和系統(tǒng)故障問題。
系統(tǒng)使用區(qū)塊鏈架構(gòu),通過智能合約可以自動執(zhí)行設(shè)定的代碼,不需要相互信任,同時不會受到人為因素干擾,系統(tǒng)穩(wěn)定性較高。
本文針對可穿戴設(shè)備的“數(shù)據(jù)孤島”問題,建立了一個基于區(qū)塊鏈和移動邊緣計算的數(shù)據(jù)共享框架“BMECS”。該系統(tǒng)利用區(qū)塊鏈實現(xiàn)了設(shè)備數(shù)據(jù)存儲和數(shù)據(jù)檢索功能,為減輕穿戴設(shè)備的計算壓力,結(jié)合了移動邊緣計算用于執(zhí)行節(jié)點的共識算法。為減少無效或有害數(shù)據(jù)在區(qū)塊鏈系統(tǒng)上的傳播,在該系統(tǒng)中引入“信譽幣”的概念激勵用戶共享有效數(shù)據(jù)。與傳統(tǒng)集中式數(shù)據(jù)存儲相比,提高了數(shù)據(jù)的隱私性和安全性,而且有效保障了數(shù)據(jù)傳輸時延,并提高了可穿戴設(shè)備的數(shù)據(jù)共享效率。