武繼剛,劉同來,李境一,黃金瑤
(廣東工業大學 計算機學院,廣州 510006)
區塊鏈是一種只能添加不能修改的分布式數據庫,是由中本聰于2008年在比特幣系統中提出的一項底層技術[1],然而文獻[1]并沒有提及區塊鏈概念,而是將其描述為一種按時間順序將存儲數據的區塊以鏈條的方式組成特定數據結構,并用密碼學工具確保其不可篡改、不可偽造以及公開透明的去中心化共享賬本。從開放程度而言,區塊鏈主要可分為公有鏈、私有鏈和聯盟鏈。從區塊鏈的發展歷程而言,目前主流觀點認為其發展可分為區塊鏈1.0、區塊鏈2.0及區塊鏈3.0這3個階段。區塊鏈1.0的顯著特征是以比特幣為代表的數字貨幣,其應用包括數字貨幣的支付、流通等。區塊鏈2.0中的數字資產和智能合約對金融領域更廣泛的應用場景和處理流程進行優化。區塊鏈3.0超越貨幣、金融范圍的區塊鏈應用,為各行各業提供去中心化的解決方案。
區塊鏈比傳統共識機制可擴展性更強,鏈式的數據結構使數據的存儲和共享更加安全可靠,此外,去中心化、不可篡改等特性使其被廣泛應用到云計算、物聯網等領域[2],但其在移動邊緣計算(Mobile Edge Computing,MEC)、霧計算以及微云計算中的應用和研究相對薄弱。其主要原因是區塊鏈需要設置一個共識機制,如工作量證明(Proof of Work,PoW)機制,將區塊鏈網絡節點所達成的共識添加到區塊鏈中。PoW機制通常需要占用大量的CPU和硬盤空間,而移動設備有限的計算、通信和存儲資源將難以持續地執行工作量證明任務。網絡中資源有限的節點(如移動設備)將無法直接參與挖礦和達成共識的過程,這將為基于區塊鏈的移動邊緣計算、霧計算以及微云計算等服務和應用帶來挑戰。
為更充分地利用網絡計算能力,醫療保健、社會管理、物聯網等領域引入了MEC體系結構。服務提供商將本地數據中心或服務器部署在網絡的“邊緣節點”上,如無線電接入網絡的基站,以提高服務響應速度及降低服務成本。移動設備可以通過訪問邊緣服務器,卸載相關計算任務以增強其計算能力。鑒于以上特點,MEC技術在移動區塊鏈方向具有較好的應用前景。目前,業界已開展了很多區塊鏈技術與移動邊緣計算[3-4]、霧計算[5-6]及微云計算[7]等技術的融合研究,然而這些解決方案在系統安全、資源管理等方面仍有所欠缺。在更復雜的移動環境下應用區塊鏈技術來解決這些問題將面臨巨大挑戰,因此本文介紹移動環境下的邊緣計算技術和區塊鏈技術,分析資源管理、隱私保護等關鍵問題,以及區塊鏈技術結合移動邊緣計算技術所涉及的具體應用場景。
自2008年比特幣概念被提出以來,區塊鏈作為一種新型的分布式賬本,其發展已經經歷了3個階段,包括區塊鏈1.0、區塊鏈2.0及區塊鏈3.0,分別以比特幣、智能合約、去中心化應用(Decentralized Applications,DApps)為代表。不同于傳統中心化賬本,區塊鏈將完整賬本的副本分散地存儲在每一個節點中[8],保證了賬本的不可篡改性。圖1展示了一個區塊鏈樣例,區塊鏈由若干個連續連接的區塊組成,除初始區塊外,每個區塊通過一個反向指針指向其前一個區塊,指針本質上是存儲在區塊中的前一個區塊的哈希值(Block Hash)。

圖1 區塊鏈結構Fig.1 Structure of blockchain
如圖1所示,區塊鏈通常包含以下信息:1)區塊鏈版本;2)前一個區塊的哈希值;3)時間戳(Timestamp);4)隨機數(Nonce);5)交易數量(TX);6)默克爾樹根(Merkle Root)。其中,區塊鏈版本的主要用途為驗證該區塊鏈所遵循的規則版本,時間戳表示當前區塊產生的時刻,隨機數是用于決定工作量證明中挖礦難度的參數,礦工對當前隨機數進行遞增并計算區塊頭的哈希值,直到該哈希值滿足系統設定的條件,則將該Nonce值打包在區塊中,其他節點可以根據該值驗證是否滿足條件。在該區塊鏈中,每個區塊所包含的交易記錄被組織成一個由哈希值組成的Merkle樹,其中,交易數據塊的哈希值表示葉節點,子節點標簽的加密哈希值表示非葉節點[9]。Merkle樹根節點值為其子節點哈希值再次經過哈希運算得到的值,具體如圖2所示。

圖2 默克爾樹結構Fig.2 Structure of Merkle tree
由此可見,攻擊者對交易的任何偽造都將導致在上層中產生新的哈希值,從而改變根哈希,因此任何偽造都很容易被發現。區塊的哈希值可用于標識每個塊,如果一個攻擊者試圖篡改一個區塊中的數據,則其需要篡改該區塊之后所有區塊中的數據。
區塊鏈技術需要在去中心化的網絡中使得互不信任的節點驗證區塊的可信度,而無需第三方的參與。常用的共識機制包括PoW機制、權益證明 (Proof of Stake,PoS)機制和授權權益證明(Delegated Proof of Stake,DPoS)機制。90%的公有鏈系統都使用了PoW機制的變體[10],同時PoW也是比特幣使用的共識機制。在該機制中,分布式節點只有成功地解決了計算難題(為區塊頭找到符合條件的Nonce值),其打包的區塊才能被添加到區塊鏈。這使得區塊的創建變得困難,并減少了系統中的沖突。區塊鏈通常會選擇一條最長的鏈作為其主鏈,并得到節點的一致認同。PoW有助于阻止攻擊者破壞系統,防止攻擊者創建很多區塊以及一個更長的可選鏈,并被節點所認證,從而逆轉資金的轉移。為使區塊有足夠的時間在網絡中傳播,文獻[11-13]使用不同的哈希函數,每個種類中礦工計算設備的處理與內存能力不同,研究發現挖礦過程決定了單個礦工生成區塊的時間呈指數分布,同時該理論可以拓展到整個區塊鏈區塊產生的時間間隔中。解決一個加密難題的預期工作量被稱為難度,其根據上述哈希算法進行設定。雖然基于PoW的共識算法能夠有效防止數據被篡改,但是其需要巨大的算力和能源消耗。因此,以太坊提出了PoW的改進型共識機制,即PoS機制,此時PoW被替換為礦工持有貨幣的數量證明,PoS因為沒有復雜的哈希計算,所以減少了資源浪費,也提高了下一個區塊的生成效率。DPoS機制是PoS機制的改進,采用一種民主代議制的形式,結合節點貨幣數量以及投票制,由節點投票選出一定數量的代理節點產生與驗證區塊。該機制減少了區塊驗證的節點數量,加快了區塊驗證速度。
智能合約是一種執行合同條款的計算機化的交易協議。智能合約中定義的合同條款會在達到一定條件時自動觸發執行。開發者擁有的區塊鏈智能合約是將批準的合同條款轉換成可執行的計算機程序,合同條款之間的邏輯連接也轉換成程序邏輯流的形式。智能合約要求所接收到的數據是由區塊鏈記錄的未經過篡改的數據,且每個合約語句在鏈中執行,執行后的輸出數據及記錄將被存儲在區塊鏈中成為不可變事務。此外,開發人員可以為合約設置一定程度的訪問控制,為每個函數分配訪問權限。一旦滿足智能合約中的條件,觸發語句就會以預定的方式自動執行相應的功能。
智能合約的生命周期一般包括創建、凍結、執行和完成4個主要階段[14]:
1)智能合約的創建:創建階段分為迭代合約協商階段和實現階段。雙方必須就合同的主要內容和目標進行談判協商并達成一致,所有參與方必須在底層賬本平臺上擁有一個錢包,以保證簽訂合同的有效性[15]。協商通常是以假名的形式進行,以便于標識各方以及資金的轉移,同時保證各方的安全。在合同的目標和內容達成一致后,協議必須轉化為代碼,合同的編碼受到底層智能合同編碼語言的表達性限制。將協商內容和目標轉換為代碼,需要在協商與實現之間進行多次迭代,合同的編纂版本經雙方同意后,將在出版階段提交至區塊鏈。在此階段,參與區塊鏈的節點接收合約作為交易區塊一部分,一旦該區塊被大多數節點驗證,合約就可以執行。
2)智能合約的凍結:智能合約提交至區塊鏈后,需要鏈中多數節點認證以對其持久化[16]。為防止生態系統中智能合同泛濫,同時激勵節點,區塊鏈將會對此服務進行獎勵,即向礦工支付一定的費用。從此刻開始,合同的所有內容和參與方信息都是公開的,可以通過區塊鏈進行訪問。在凍結階段,智能合約的錢包地址發生的任何事務都將被凍結,節點將扮演監督者的角色,確保滿足執行合約的先決條件。
3)智能合約的執行:當觸發一定條件時,存儲在區塊鏈上的合約會由參與節點讀取。在驗證了契約的完整性后,智能合約的編譯器將會自動執行代碼[17]。執行的輸入來自區塊鏈數據庫和相關參與方的外部數據,然后根據輸入執行智能合約的功能。智能合約的執行將產生一組新的事務,并更新智能合約的狀態,最終會收集所有新的狀態信息提交至區塊鏈,并通過共識協議進行驗證。
4)智能合約的完成:智能合約執行后,產生的交易和新的狀態信息存儲在區塊鏈中。共識協議確認后,之前認證的數字資產會被轉移(解凍資產),在所有交易確認后合約履行結束。
文獻[18]將去中心化應用歸入區塊鏈3.0階段,區塊鏈3.0將區塊鏈應用領域進一步擴展到金融行業,涵蓋了人類社會生活的各個方面,并在各種社會活動中提供自我認證的信息,如醫療保健、知識產權、物聯網、無線網絡、社會管理、公益慈善和公共福利等領域[19],使其在不依賴第三方或權威機構的情況下獲得信任、建立信貸和分享信息。區塊鏈的巨大潛力已對學術界和工業界產生了很大的影響。在學術界,研究人員進一步拓展區塊鏈研究方向,如跨鏈通信、區塊鏈擴容、高可擴展性區塊鏈、混合鏈等。在工業界,許多區塊鏈應用已經付諸實現并取得了巨大的成功,如金融市場上種類繁多的數字貨幣。本文將在下文總結近年來區塊鏈與邊緣計算融合的技術與應用。
2014年,歐洲電信標準化協會(ETSI)成立移動邊緣計算行業規范組(Mobile Edge Computing Industry Specification Group,MEC ISG),正式推動移動邊緣標準化制定工作,并將移動邊緣計算列為推動5G系統發展的關鍵技術之一。MEC在更加接近移動用戶的無線接入網(Radio Access Network,RAN)側提供IT服務環境和云計算能力。MEC通過整合距離移動端用戶較近的邊緣網絡中的計算資源,降低網絡負載,減少延遲和能耗,確保高效的網絡運營和業務分發能力,改善終端用戶的體驗。2016年,為將電信蜂窩網絡進一步延伸至WiFi等非3GPP接入網,ETSI擴展了MEC的概念,將其重新定義為多接入邊緣計算,但業界多數仍稱之為移動邊緣計算[20]。
圖3為ETSI MEC ISG發布的MEC框架。MEC平臺可以為移動應用程序提供云存儲、緩存、計算、近距離資源供應、上下文環境和位置感知等功能。針對MEC需求、框架和參考架構,MEC ISG設計的MEC標準已經達到穩定狀態[21]。MEC框架從宏觀層級角度描述了一個生態系統結構,包括所涉及的實體和職能,將其劃分為移動邊緣系統層、移動邊緣主機層和網絡層。最上層的移動邊緣系統層掌控全局,管理移動邊緣主機層和網絡層,為用戶終端和第三方接入提供便利。移動邊緣主機層是MEC框架的基礎部分,主要由移動邊緣主機和移動邊緣主機層管理組成。移動邊緣主機提供移動邊緣平臺和虛擬化基礎設施,使得移動邊緣應用的執行更加便利。網絡層主要表示MEC系統與3GPP網絡、本地網絡和外部網絡的接入情況。

圖3 MEC框架Fig.3 MEC framework
邊緣計算是云計算的延伸,計算服務運行在網絡的邊緣,更接近終端用戶。根據思科公司的解決方案,霧計算將資源和服務從核心網衍生到了邊緣網絡,是云計算的典型擴展。微云計算、移動邊緣計算和霧計算概念相似,本質上是一致的[22]。微云計算和移動邊緣計算更側重使用本地可用資源,可靈活地向移動用戶提供服務[23]。霧計算、微云計算和移動邊緣計算具有相同的特征,即靠近終端用戶、密集分布、低延遲、高移動性、位置感知等。因此,本文將霧計算、微云計算和移動邊緣計算一并納入MEC范疇進行討論。
盡管邊緣計算系統能夠將資源分配到網絡邊緣,為終端用戶提供低時延的網絡服務,但應用實施時,邊緣計算及其配套解決方案依然面臨一些問題,主要包括安全保護、資源管理兩方面。
2.2.1 移動邊緣計算中的安全保護
在任何系統中,安全隱私保護都是必須考慮的問題。盡管邊緣計算模型使用分布式架構降低其中心化程度,但其控制層的設計思路與中心化的云計算類似,具有中心化的控制層,同樣存在數據丟失和隱私泄露等問題,分散的控制方式也會帶來額外的安全風險[24]。由于邊緣節點具有異構性,且需要考慮任務在這些節點間的遷移,移動邊緣計算較傳統意義上的云計算場景具有更高的復雜性和不確定性,因此如何在此類環境下實現安全及隱私保護成為亟待解決的問題[25]。
在邊緣計算系統中,任務可能需要頻繁遷移,進而產生端到端的數據傳輸。在計算節點的無線通信過程中,數據極易受到中間人攻擊、竊聽攻擊等多種惡意攻擊。中心控制節點還可能遭受單點故障,這都可能造成數據泄露或遭受惡意篡改,導致任務執行失敗或造成經濟損失[26]。因此,保證數據在任務執行過程中的隱私性、正確性和完整性十分重要。為實現這一目標,面向邊緣計算的數據安全存儲、身份認證、訪問控制方案都是可行的技術路線。
2.2.2 移動邊緣計算中的資源管理
資源的合理高效分配在邊緣計算中十分重要。這里的資源包括計算資源和通信資源,其中:計算資源主要包括CPU資源、內存資源、硬盤資源及網絡資源,這些資源需要通過任務卸載策略進行分配;通信資源管理則涉及無線通信的能源消耗和傳輸時延優化等問題。
在計算資源的分配方面,現實場景中的信道質量、移動設備異構、電源狀態、資源位置、用戶喜好等因素都會使邊緣計算系統中的任務卸載策略變得更加復雜[27-30]。決定一個計算任務是在本地執行、部分卸載還是全部卸載以及在哪些實體上執行等都會影響移動邊緣計算系統的性能,且需要根據應用場景進行研究。同時,任務卸載策略還應考慮經濟效益,在降低任務執行消耗的同時使邊緣計算中參與任務執行的各個實體總效益最大[31]。
在通信資源的分配方面,由于單個邊緣計算節點的服務范圍有限,當移動終端移動到當前任務執行主體的通信范圍外時,任務需要遷移到近用戶的節點上繼續執行。數據的傳輸路徑中涉及多個參與者,其中可能包括用戶本地終端、其他移動終端、邊緣服務器、路由器、基站等設備。各個參與者具有移動性,且它們的計算和存儲資源由各自的提供者分別管理,導致無線通信過程需要即時優化才能避免由網絡擁塞帶來的通信及計算資源浪費。因此,在移動邊緣計算系統中,需要設計高效且低能耗的無線通信協議來滿足用戶對時延和計算能力的需求,同時保證移動網絡在移動中可以提供持續性服務。
在移動邊緣計算系統的設計和實現中,安全性是必須要考慮的因素。文獻[32]提出在移動邊緣計算中,攻擊者可能使用分布式拒絕服務攻擊增加中心服務器的計算負擔,進而影響數據傳輸的正確性,但使用區塊鏈進行去中心化的任務分配和調度可以有效消除這一攻擊帶來的危害。文獻[33]指出在使用區塊鏈保存電子病歷的過程中,加密病歷的密鑰可能遭受統計攻擊,而模糊保險箱算法能夠有效避免這一攻擊,并通過保存密鑰線索的方式存儲已使用密鑰,降低因保存過往密鑰而導致的存儲能耗。文獻[34]認為在具有高移動性的移動邊緣網絡中,使用區塊鏈靈活透明地統籌密鑰管理程序中的成員出入,能夠大幅提高密鑰管理的效率和準確性,保護參與者的密鑰及數據安全。文獻[35]提出一種面向車聯網的基于區塊鏈、智能合約和屬性加密的文件分享方案,在保證文件分享效率的同時利用區塊鏈和智能合約技術避免第三方參與,保護數據安全。
在移動邊緣計算場景下還需考慮隱私保護問題。為對邊緣計算系統中的敏感數據進行隱私保護,文獻[36]提出一種基于矩陣的多通道數據分段與隔離方案。該方案允許用戶自定義敏感數據的加密方法,并提供條件訪問和解密查詢方法,通過受保護的智能合約進行各項操作。在文獻[37]中,拼車用戶及司機根據路邊單元建立的私有鏈中的地址標簽進行一對多的距離匹配,匹配結果及有關成員的隱私信息都將匿名且加密地保存在私有鏈上,供拼車系統使用。智能合約則可以對這些信息進行無第三方的匿名驗證,以保障使用者的隱私安全和拼車服務結果的可信性。除了用戶和服務過程中的隱私保護,文獻[38]還提出一種在多個邊緣服務器協同工作時保護網絡拓撲結構的隱私保護方案。該方案借助適應性布隆過濾器設計路由協議,使用網絡鏈接和資源權重進行不泄露物理地址和身份信息的身份認證。所有的身份認證工作都將在區塊鏈上匿名進行,以保證數據的實時準確更新。
此外,在移動邊緣計算中還設計了基于區塊鏈的安全框架與系統。文獻[39]針對電動車和智能電網之間的能源交易,提出一種基于區塊鏈的能源交易框架。基于此框架,汽車與智能電網進行能源交易,其中邊緣服務器負責為每個電動車生成其獨有的共識機制謎題,并通過該謎題生成區塊。該框架能夠靈活地對即時業務進行處理和反饋,邊緣服務器生成的共識機制謎題自主可控,有助于提高交易速度。文獻[40]提出一種基于區塊鏈的車輛方位管理系統。在該系統中,車輛間通過邊緣網絡互聯,車載傳感器獲取的位置信息通過深度神經網絡進行誤差的分析預測,并將結果保存在區塊鏈上以供分享。該系統有助于路上車輛的協同管理,區塊鏈技術則能保證預測結果不可篡改,所需數據真實可靠。
3.2.1 身份認證
本節將從比特幣、以太坊和超級賬本技術角度出發,分類介紹身份管理與認證方案。
1)基于比特幣的身份管理與認證
BitID[41]是一個簡單的比特幣身份認證開放協議,其使用公鑰密碼體制設計而成。服務器端生成一個隨機數傳輸給客戶端,客戶端使用私鑰簽名,服務器端使用公鑰驗證簽名。在BitID中,比特幣地址是唯一身份標志。雖然現有很多智能手機應用程序使用BitID技術,但BitID的市場使用率仍較低。
NameCoin[42]是一個以加密貨幣為中心的實驗性開源比特幣分支,其用于身份注冊和轉移,包括DNS條目、GPG密鑰、TLS證書和其他去中心化的網站元素資產被附加在身份上。NameCoin需要一個合適的錢包,可在貨幣交易所出售,同時還可以通過挖礦獲得。終端用戶需要安裝和配置指定的客戶端軟件才能使用NameCoin的基礎設施。
Tierion[43]是一個區塊鏈驗證引擎,可降低成本和信任的復雜性。Tierion的旗艦商業產品稱為Proof,其允許使用比特幣公有鏈中帶時間戳的數據進行驗證。Proof網站聲稱該驗證不依賴可信第三方,承諾其不需要權威機構或中間人,并且證明獨立且永遠可驗證。Proof使用的底層技術稱為Chainpoint,其是以創建時間戳證明數據鏈接到區塊鏈作為開源的標準。
2)基于以太坊的身份管理與認證
uPort[44]是一個以太坊上的自主權身份及以用戶為中心的開放身份系統,其允許用戶在以太坊上注冊自己的身份、發送和請求證書、簽署交易并安全管理密鑰和其他數據。uPort的身份本質上是一個以太坊地址,通過該地址實現身份驗證、免密登錄和數字簽名。uPort為開發者提供了可重用的組件和協議,包括智能合約組件、數據組件、開發人員組件、移動組件和服務器組件。
Jolocom[45]遵循自主權身份原則,是一個去中心化、開源的數字身份和訪問管理解決方案,使用者可管理自己的數據。Jolocom協議給用戶提供一個數字身份,該身份在用戶本地生成,并由用戶自己管理加密密鑰。個人、組織、物聯網設備和自治代理可以通過Jolocom協議使用去中心化標志符、可驗證憑據和加密簽名(Jolocom身份的核心組成部分)創建去中心化身份。協議邏輯對身份的粒度級、基于聲明的模型進行編碼,該身份高度泛化且范圍不受限制,以適應多種潛在用戶并拓寬用戶的主題領域。Jolocom的目標是支持一種與自主權身份概念保持一致的用戶控制隱私狀態。
ShoCard[46]是一個基于區塊鏈的身份管理與認證系統,人們可以擁有和保護數字身份,并決定何時與何人分享個人數據。第三方組織能夠使用區塊鏈驗證他們數據的真實性,而不需要其他中心化第三方的擔保。ShoCard身份管理平臺為組織或個人提供的服務包括對個人或實體進行身份驗證、交換可審計的認證信息和交換個人證書的證明信息。ShoCard平臺旨在通過其SDK集成到移動應用程序和服務器中,同時支持IOS和Android。ShoCard架構已設計成面向高吞吐量的交易場景,不會因公有鏈的性能而停滯不前。此外,ShoCard可以同時使用多個區塊鏈,包括私有鏈。為避免黑客入侵個人可識別信息,ShoCard系統僅使用區塊鏈驗證數據而不存儲數據。
UniqueID[47]是一個提供數字密鑰的分布式身份和訪問管理平臺,其設計身份即服務的模式,針對分布式物聯網提供了新標準,并提高了企業中連接和控制關鍵設備(如傳感器、執行器等)的運營效率及可擴展性。UniqueID優先考慮身份管理,用戶的設備信息保存在私有鏈中,該私有鏈還扮演了數字保險箱角色,通過安全認證保護用戶連接的數字資產。UniqueID允許設備獨立運行,這意味著進行身份認證時無需任何第三方中介對接設備。此外,以設備為中心的UniquID解決方案不需要使用密碼,因為其可以通過個人連接的對象識別用戶或者通過個人設備上集成的指紋或其他生物特征識別用戶,所以消除了用戶生成密碼的相關風險,并且UniquID可以在定制硬件、服務器、個人電腦、智能手機和平板電腦上進行部署。
3)基于超級賬本的身份管理與認證
Sovrin[48]是一個Hyperledger基金會下開源的自主權身份框架。Sovrin協議基于開放標準和開源項目Hyperledger Indy,是Hyperledger下的一個子項目。在Sovrin中,每個公鑰都擁有一個去中心化的身份標志DID。DID是一個永久、全球唯一、加密的可驗證身份信息,完全由其所有者控制。DID和DID文檔保存在區塊鏈上,DID文檔中包含DID的公鑰及身份擁有者想公開的公共憑證、信息交互的網絡地址等,私鑰由身份擁有者保管,至此驗證者很容易查找頒發者的公鑰并確認簽名。Sovrin是一個自主權身份信息全球公用的基礎設施,滿足每個人對于身份信息的需求。所有Sovrin身份信息和公鑰默認使用假名,以滿足嚴格的隱私標準。
MyData[49]是芬蘭政府委托開展的有關個人數據管理的研究項目,其是一種自主權身份模型,由以人為中心的控制性、可用性、可訪問性和開放性概念驅動。MyData身份驗證的核心是管理用戶訪問,可用于保護政府、醫療保健和金融等部門之間的數據流。MyData與Sovrin聯合開展的研究旨在加強數字人權,同時為企業提供開發并創新個人數據服務的新機會。
IBM trusted identity[50]是一種基于Hyperledger Indy技術的身份管理方法,通過免費Alpha版本的驗證憑證創建了一種分布式的身份管理方法,致力于為Internet上的每個人創建安全、支持區塊鏈的可信身份,并且將身份管理推廣到網絡的邊緣中應用,拓展自主權身份的應用。
Verified.Me[51]由SecureKey技術公司基于Hyperledger Fabric進行研發,通過銀行移動應用程序進行身份驗證。Verified.Me的應用使得政府和企業不需要讓用戶再提交身份證明材料即可認證用戶身份。用戶選擇銀行或電信運營商為其創建數字身份后,便可運用在數字經濟領域。Verified.Me平臺使用OpenID、SAML和FIDO等多種標準。
3.2.2 訪問控制
在移動邊緣計算中,很多學者借助區塊鏈技術進一步拓展現有訪問控制模型的功能,也有學者研究基于區塊鏈的新型訪問控制模型。
1)基于角色的訪問控制模型
文獻[52]介紹了一種基于角色的訪問控制平臺RBAC-SC,利用以太坊的智能合約技術實現角色的跨組織利用,使用智能合約和區塊鏈技術作為通用基礎結構以表示RBAC中的信任和認可關系。文獻[53]提出一種結合RBACV1與ABAC的安全訪問控制模型ARBACV1,其比RBACV1更具靈活性,并且可以執行細粒度的訪問控制。作者通過智能合約將ARBACV1應用于以太坊區塊鏈中,增強了移動邊緣計算中以太坊區塊鏈數據的隱私保護能力。文獻[54]基于區塊鏈的RBAC,通過使用散列函數實現基于匿名的身份驗證機制。該機制可以提供基于角色的訪問控制以及基于個人賬戶的身份驗證。
2)基于屬性的訪問控制模型
文獻[55]提出一種混合架構,通過使用區塊鏈和邊緣節點促進對電子健康記錄(Electronic Health Records,EHR)數據的訪問控制。在該架構中,通過基于區塊鏈的控制器管理身份和訪問控制策略,并記錄訪問事件的防篡改日志。此外,鏈下邊緣節點存儲EHR數據并應用縮寫授權語言(Abbreviated Language For Authorization,ALFA)中指定的策略,同時與基于區塊鏈的訪問控制日志協作對EHR數據實施基于屬性的訪問控制,最終利用超級賬本評估混合架構。文獻[56]提出一種新的適用于霧計算環境的密碼原語,稱為安全、可公開驗證、可撤銷、多授權、基于屬性加密的適應性選擇密文攻擊(CCA2-PV-R-LU-MA-ABE),可實現靈活的細粒度訪問控制。文獻[57]設計一種用于安全身份驗證的基于區塊鏈的BSeIn系統,以執行細粒度的訪問控制策略。BSeIn系統通過集成的屬性簽名、多接收者加密和消息身份驗證,提供隱私和安全性保證,如匿名性、可審核性和機密性,并且由于使用智能合約,因此BSeIn具有較好的伸縮性。文獻[58]研究去中心化存儲系統的數據存儲和共享方案,融合去中心化存儲系統IPFS、以太坊區塊鏈和屬性加密技術,提出一個新的框架。在該框架中,數據所有者可以通過指定訪問策略為數據用戶分發密鑰并加密共享數據,并且該框架可以實現對數據的細粒度訪問控制,同時采用基于以太坊區塊鏈上的智能合約,實現去中心化存儲系統密文上的關鍵詞搜索功能。
3)基于權能的訪問控制模型
文獻[59]針對物聯網中集中式授權造成的性能瓶頸或單點故障,提出以區塊鏈技術和權能訪問控制為基礎的BlendCAC,旨在對大型物聯網系統中的設備、服務和信息進行有效的訪問控制。在區塊鏈網絡中,作者提出一種基于身份的強能力令牌管理策略,該策略利用智能合約進行訪問授權的注冊、傳播和吊銷功能,為物聯網系統分散、可擴展、輕量級和細粒度的訪問控制提供了可行的解決方案。作者在其擴展文獻[60]中介紹了支持分層和多跳代理的基于聯邦功能的代理模型。在文獻[61]中,為增強空間狀況感知,需要動態數據驅動的應用程序系統框架通過使用反饋控制、身份認證和訪問控制以確保交換數據的完整性以及賦予授權實體對數據和服務的訪問權,因此作者引入基于區塊鏈、去中心化及基于權能的訪問控制BlendCAC,從而有效保護網絡中的設備、服務和信息。
4)基于區塊鏈的新型訪問控制模型
文獻[62]考慮資源受限的邊緣計算傳感器容量因素,為工業物聯網(Industrial Internet of Things,IIoT)設計基于區塊鏈的身份管理和訪問控制協議,其中的自認證密碼技術用于實現網絡實體的注冊和認證,生成的隱式證書綁定身份,并基于區塊鏈構建身份和證書管理機制。同時,設計基于布隆過濾器的訪問控制方案,并將其與身份管理相集成。此外,為在資源受限的邊緣設備中進行安全通信,構造了基于自認證公鑰的輕量級密鑰協商協議。文獻[63]提出一種新的基于區塊鏈的分布式密鑰管理架構BDKMA。該架構利用霧計算功能減少延遲,并在云中運行多鏈實現跨域訪問,同時采用區塊鏈技術滿足去中心化、細粒度的可審計性和高可擴展性要求,遵循用于物聯網中分層訪問控制的隱私保護原則。文獻[64]面向智能家居IoT環境,設計一種基于臨時身份和累積關鍵字哈希鏈的安全輕量級相互認證和密鑰交換協議。節點可以使用動態身份和對稱密鑰以不可鏈接的方式進行匿名認證,并與控制器節點建立會話。此外,協議通過建立虛擬域隔離并限制節點向其他節點發送指令和命令或從其他節點接收指令和命令,確保節點之間實施安全策略,同時引入累積密鑰哈希鏈機制,通過質詢-響應確定發送方的身份。文獻[65]使用聯盟鏈存儲交易信息解決實施策略共享時容易出現的系統和網絡故障,確保策略生命周期的完整性,并且該方案在保證電子健康資源完整性、可審核性、真實性和可伸縮性的同時,使各方能相互了解。文獻[66]提出一個基于智能合約的框架實現物聯網系統的分布式和可信賴的訪問控制。每個訪問控制合約提供一種用于主體/對象對的訪問控制方法,并通過檢查主體行為實現基于預定義策略的靜態與動態訪問權限驗證。
3.3.1 區塊鏈中的計算遷移技術
移動邊緣計算[67]作為一種新型的網絡模型,通過將移動用戶任務中上下文敏感、延遲敏感和計算密集型的任務遷移到附近的邊緣計算節點進行處理,從而緩解遠程云服務器的壓力,降低網絡時延。這些具有計算資源和存儲資源的邊緣節點通常部署在網關、WiFi節點、宏基站以及小區基站等距離用戶較近的設備中。
現有基于PoW機制的區塊鏈技術多數需要強大的計算能力與大量的能量消耗,而移動智能設備計算與能量資源有限,因此移動端在獨立執行PoW機制時仍面臨巨大挑戰。結合移動邊緣計算的特點,文獻[68]提出將移動設備中的PoW任務遷移到邊緣服務器中,使用兩階段的Stackelberg博弈策略確定邊緣服務器與移動設備的任務分配關系并提供服務的價格,通過反向歸納法證明了博弈中納什均衡的存在性和唯一性。在此基礎上,研究人員開始著力于結合博弈論與拍賣的方案來解決邊緣計算網絡中區塊鏈的資源分配問題,博弈論與拍賣通過評估賣方和買方的利用效率,可以最大限度地將資源分配給用戶。文獻[69]采用基于拍賣理論的資源分配模型,在確保最大化總效益的同時保證了拍賣誠實性,通過改進的VCG拍賣算法,將邊緣服務器的計算資源分配給不同的移動設備,該模型將礦工之間的競爭作為分配的外部因素。受以上文獻的啟發,文獻[70]設計一種邊緣計算與遠程云計算相結合的兩層資源管理模型,提出一個多領導者多追隨者的Stackelberg博弈,該博弈最大化了每個服務提供商的利潤和單個礦工的報酬。文獻[71]考慮了設備在平衡風險與回報方面的差異,采用前景理論設計一種基于Stackelberg博弈的機電一體化區塊鏈的最優卸載方案,保證了計算卸載效率。文獻[72]考慮移動設備的購買能力問題,提出以團購的方式購買資源的拍賣模型。
此外,研究人員將資源分配建模成優化問題,通過最優化算法得到計算卸載的最佳方案。為此,文獻[73]提出一種新型的移動邊緣計算無線區塊鏈框架,該框架不僅可將任務遷移到附近接入點,還可遷移到附近的用戶群組中,并將聯合卸載決策和緩存策略轉化為一個優化問題,提出一種基于乘子交替方向法的分布式算法以求解該問題。文獻[74]提出一種基于圖論的匹配模型,使邊緣計算服務提供商提供的服務與區塊鏈網絡中礦工的資源需求之間實現最佳匹配。文獻[75]考慮多路訪問邊緣服務器的資源分配問題,使得每個移動設備都能同時從多個邊緣服務器處獲得計算能力,并使用分層算法求解聯合優化問題的最優解。
然而,上述研究沒有考慮動態網絡環境給資源分配帶來的影響,變化的網絡環境可能導致卸載方案失效,但通過引入機器學習算法能使卸載方案較好地適應復雜網絡的變化。文獻[76]指出傳統的卸載方法(如基于拍賣和博弈論的方法)不能根據變化的環境調整策略,因此提出一種基于深度強化學習的在線計算卸載方法,同時考慮了挖礦任務和數據處理任務。文獻[77]研究資源分配中最優價格條件下的最佳響應問題,建立一種基于機器學習的邊緣計算服務提供商與移動設備信息不公開的Stackelberg博弈模型,其中服務提供商發布每單位哈希率的價格,而礦工在無法得知其他礦工行為的情況下做出哈希率決策,為實現服務提供商和礦工決策的馬爾可夫決策模型設計一個分層學習框架。
另外,降低PoW的大量資源消耗也是亟待解決的問題,一些研究人員開始研究減少工作量證明開銷的方案。文獻[78]提出一種在邊緣計算網絡中的快速存儲分配方案,使得丟失的塊可以被快速檢索,并且設計了基于權益證明的共識機制,減少能量消耗。文獻[79]開發一個基于區塊鏈的大數據共享框架,支持跨越資源有限邊界的各種應用,并且能以更節約的方式進行交易過濾和計算卸載,降低了存儲開銷。
3.3.2 面向具體領域的區塊鏈計算遷移技術
研究人員分析并探索了邊緣云計算輔助物聯網在區塊鏈中的資源配置問題。文獻[80]提出代理挖礦和云挖掘方法來解決區塊鏈的資源需求以驅動物聯網中的節點,將用戶的訪問選擇、計算資源分配和網絡資源分配形式化為聯合優化問題,設計一種對抗性深層強化學習方法來解決該問題。文獻[81]提出一種在物聯網中基于博弈的聯盟形成算法,以最大化系統總效用,同時考慮物聯網設備的個體利潤和聯盟利潤,并且使算法能夠快速收斂到納什均衡狀態。文獻[82]通過引入經紀人來管理和調整資源配置的拍賣市場,并且提出一種迭代雙邊拍賣方案,以促使物聯網設備與邊緣服務器雙方以真實價格提交投標,保證總體效益。文獻[83]探索區塊鏈與邊緣計算在IIoT中的應用,提出結合邊緣智能與區塊鏈的工業物聯網框架,并設計跨域共享啟發式邊緣資源調度方案和信用差異化的邊緣交易審核機制,實現靈活安全的邊緣服務管理。文獻[84]在考慮邊緣計算增強物聯網設備計算能力的同時考慮其安全性,設計一種名為邊緣鏈的邊緣物聯網框架,邊緣鏈使用基于信用的資源管理系統,利用智能合約預定義的優先級、應用程序類型和過去行為的預定義規則,確保物聯網設備可以從邊緣服務器處獲取資源數量。為避免PoW機制帶來的資源消耗,文獻[85]提出基于聲譽的共識機制,其中聲譽得分最高的設備負責將資源交易和聲譽記錄打包到區塊鏈中。此外,車聯網設備同樣也面臨資源限制與安全性問題,為應對車輛的計算資源限制和移動性問題,文獻[86]提出代理機制來決定任務是在本地執行驗證,還是將其遷移到邊緣或云基礎設施上執行驗證,并定義可滿足性模型理論方法,使參與者能夠根據基礎設施的狀態、能源效率、卸載成本和計算回報決定參與驗證和卸載驗證。基于聲譽的數據共享方案有效防止了未經授權的數據共享,保證車輛之間的高質量數據共享[87]。
3.4.1 頻譜分配
在頻譜資源分配中加入區塊鏈技術,可以確保頻譜資源分配的公開透明可追溯,增強安全性和用戶隱私,提高管理效率。文獻[88]提出基于區塊鏈的動態頻譜訪問和機會網絡接入技術來緩解頻譜資源,滿足用戶需求。與傳統的蜂窩網絡相比,該技術具有匿名性和可追溯性,可增強用戶隱私的保護,減少網絡流量消耗,縮短訪問時間,并實現接近實時的用戶計費。在用于認知無線電網絡啟用和保護頻譜共享的區塊鏈驗證協議[89]中,用戶使用虛擬貨幣支付接入頻譜的費用,每個主用戶以去中心化的方式廣播頻譜價格。區塊鏈協議促進了主用戶和次用戶之間的交易,并驗證和保存了每個用戶的虛擬錢包,同時在該協議中,區塊鏈作為一個分布式數據庫,其數據對所有參與者開放,并且任何節點都可以參與區塊鏈的更新和維護。文獻[90]在文獻[89]的基礎上,利用無線信道中的小規模衰落變化研究區塊鏈驗證協議與車輛通信中使用的傳統媒體訪問協議間的性能差異。
3.4.2 軟件定義網絡
軟件定義網絡(Software Defined Network,SDN)是一種新型網絡架構,其可編程和控制與轉發分離的性質實現了網絡的靈活管理。與傳統網絡相比,SDN具有較好的可擴展性和容錯性且易于部署[91]。SDN與私有鏈相結合能為私有鏈提供額外的安全性,并改善私有鏈吞吐量低的缺點。例如,私有鏈ChainGuard利用SDN的功能過濾網絡流量,從而為區塊鏈應用程序實現防火墻功能[92]。文獻[93]提出一種安全、節能的SDN控制器區塊鏈支持架構,該架構使用公有鏈和私有鏈進行物聯網設備和SDN控制器之間的點對點通信,省去了高能耗的PoW過程,增加了系統吞吐量,并使用高效的分布式信任認證方法使區塊鏈適用于資源受限的物聯網設備。文獻[94]通過區塊鏈和SDN的結合確保了車輛自組網系統在5G和霧計算環境下的有效運行。
3.4.3 移動服務
移動服務也是無線通信的一個重要研究方向。5G網絡通常由許多分散的異構網絡組成,構建在網絡層之上的區塊鏈可以幫助集成不同的網絡,提供不同網絡之間的無縫訪問。例如,文獻[95]提出一種基于區塊鏈的移動邊緣計算架構,旨在當用戶移動時以一種安全及時有效的方式保證服務的連續性。文獻[96]提出一種通過集成區塊鏈技術、面向服務的體系結構和關鍵性能指標,解決了物聯網服務的互操作性和信任問題。此外,智能合約可以使網絡運營商和用戶之間的條款和協議流程自動化,大幅節省運營成本。文獻[97]提出一種基于區塊鏈技術的移動服務授權體系結構,通過移動通信基礎設施與計費功能的分離實現智能合約下的移動通信服務。
傳統內容分發網絡(Content Distribution Network,CDN)中缺少可信實體進行審計內容訪問,一些內容提供商通過區塊鏈平臺實現與具有訪問權限的實體進行內容交易和消費任務,并且通過智能合約確保無信任實體的真實性,在移動邊緣計算場景下能夠有效提高數據傳輸速率、存儲性能和容錯率。在視頻傳輸模型中,可以通過代理機制和智能合約實現可信的自動化業務執行[98]。文獻[99]提出一種基于區塊鏈的內容分發網絡架構,該架構利用區塊鏈技術,為內容供應商和用戶提供安全的分布式平臺。此外,該架構通過邊緣端緩存應用程序提高緩存命中率,從而減少內容供應商的交付時間。文獻[100]針對內容分發網絡提出一個區塊鏈節點編排策略和用戶請求路由選擇框架,該框架實時監控并分析每個節點的數據,從而對資源進行針對性配置,同時通過在每個節點設置數據副本來減少節點故障所帶來的影響。
由于接入網絡的車輛越來越多,各種車聯網產品將不可避免地面對數據信任、安全以及服務可持續性的問題。車聯網系統會產生龐大的數據量,但其中存在嚴重的安全隱患,將區塊鏈應用于車聯網,能夠解決車輛數據誠信問題,保障數據信息共享的安全性,同時提高車聯網系統的可用性[101-102]。文獻[103]提出一個基于區塊鏈的信任管理平臺,該平臺通過路邊單位執行的PoW/PoS共識機制驗證消息可靠性。此外,文獻[104]研究區塊鏈技術輔助邊緣計算平臺在車聯網中的應用,即通過移動邊緣計算提高基于區塊鏈的車聯網的資源利用率。文獻[105]利用區塊鏈的智能合約技術,實現車輛在邊緣網絡中的安全數據存儲和共享,此外為提高數據共享的質量,還對車輛的聲譽進行精確管理。
區塊鏈共識機制和鏈上數據不可更改的特性可以保障智慧城市信息數據的真實性和安全性,并且打破信息孤島,減少數據傳輸時間和經濟成本。文獻[106]提出一種基于區塊鏈的移動邊緣計算共享系統,通過邊緣計算來收集和處理來自移動邊緣節點和物聯網設備的多媒體請求數據,將處理結果放入區塊鏈中進行安全存儲和共享,保護智慧城市與家庭設備和傳感器之間的通信安全,利用邊緣計算和緩存還可增強無線通信的帶寬和降低延遲。文獻[107]結合SDN和區塊鏈設計一個適合中小城市的混合接入網絡系統,該系統的共識機制能夠保證隱私安全,取得了較高的傳輸效率。文獻[108]構建區塊鏈和移動邊緣網絡平臺快速識別監控視頻中的惡意行為,并實現可伸縮數據的計算,使得服務交付具有更低的延遲、更快的用戶響應以及更好的個人數據隱私保護。
隨著無人機的廣泛應用,參與者的服務交付新模式成為應用領域的研究熱點。虛擬化和云存儲基礎架構被用來保證靈活性、可測量性以及提供更加多樣化服務的能力,但也為數據采集和精確控制帶來了安全問題。區塊鏈技術可用于規范和控制無人機的合理使用,并且確保使用者信息的安全性。文獻[109]利用無人機結合區塊鏈技術保證采集數據過程中的安全,并將數據存儲到移動邊緣服務器以降低移動設備的存儲需求。文獻[110]研究在移動邊緣計算中的通信可靠性,提出一種新的基于神經區塊鏈的邊緣緩存方法,旨在確保高可靠性的同時提供一個平面架構,該架構結合區塊鏈保證了節點間的高可靠通信,從而提高模型傳輸效率。由于無人機被用于危險指數較高的監測領域,能有效執行危險任務,并在包裹遞送、交通監控等多種應用中起到關鍵作用,因此為其提供一個強大且安全的網絡非常必要。為此,文獻[111]提出一種基于區塊鏈技術的新型保密頻譜交易共享方案,利用區塊鏈改善頻譜交易環境并且解決了一些潛在的安全隱患。
區塊鏈融入醫療領域能夠實現醫療健康信息、醫療設備與用品、公共衛生安全的智能化管理與監控,從而解決醫療平臺基礎設施支撐薄弱、醫療服務水平整體較低、醫療安全以及生產隱患等問題,同時移動邊緣計算能夠有效應對傳統云計算中網絡通信瓶頸、高時延以及低吞吐量的問題[112],因此區塊鏈與移動邊緣計算的結合能夠加快智慧醫療的產業化。文獻[113]集成了跨物聯網、霧計算和云計算的網絡虛擬化技術,提出一種基于區塊鏈的智能醫療管理系統,該系統利用霧節點保證醫療數據的可伸縮性,并確保醫療數據的安全性。文獻[114]設計一種高效的基于輕量級區塊鏈的射頻識別(Radio Frequency Identification,RFID)認證協議,將敏感數據通過公眾傳輸并存儲在各種設備上,利用通信安全協議確保RFID系統的安全性,并啟用RFID設備保護護照、身份證等敏感信息。
隨著區塊鏈技術的發展,需加快推進其核心技術的突破,如交易效率較低、賬本容量過大、鏈上鏈下數據的高效協同與強關聯、大規模高頻次交易的共識、抗量子攻擊的安全區塊鏈數據保護、區塊鏈數據和智能合約代碼的安全審計、區塊鏈節點的數據隱私安全和區塊鏈身份隱私保護等技術問題是目前亟待解決的難題,從而為區塊鏈應用提供安全可控的技術支撐。在此基礎上,面向教育、養老、健康、防偽、食品安全、公益、社會救助等領域,結合人工智能、大數據和5G等技術,研發支持國產密碼體系的高效實用的區塊鏈平臺,適應更復雜的應用場景和更高級的功能需求,使其在各行各業中具有廣泛的應用前景。
本文介紹區塊鏈技術和移動邊緣計算技術,并對區塊鏈技術中的共識機制、智能合約和去中心化應用,以及移動邊緣計算中的移動邊緣網絡安全保護、移動無線網絡計算及通信資源管理等關鍵問題進行探討。針對移動邊緣計算中區塊鏈技術的應用研究進展,闡述移動邊緣計算下區塊鏈技術在數據安全、隱私保護、身份認證、訪問控制、計算遷移和網絡管理方面的研究及應用現狀,指出區塊鏈技術在移動邊緣計算場景中能夠有效保護數據與隱私安全并降低資源消耗。通過對區塊鏈技術在移動邊緣計算環境下的應用場景進行歸納總結,并對區塊鏈技術在內容分發網絡、智慧城市、智慧醫療等移動邊緣計算場景中的研究與應用前景進行展望。