王同賀, 華昊辰, 曹軍威
(1.清華大學自動化系, 北京市 100084; 2.河海大學能源與電氣學院, 南京市 210098;3.清華大學北京信息科學與技術國家研究中心, 北京市 100084)
邊緣計算(edge computing)是一種分布式計算模式,它通過將計算資源和數據存儲下放到網絡邊緣(即靠近有計算需求的用戶端),以提高計算的響應效率。邊緣計算的概念起源于內容交付網絡[1],它通過在靠近用戶端的邊緣服務器上部署網頁和視頻內容緩存服務來提高加載效率。與傳統的云計算(cloud computing)相比,邊緣計算減少了數據傳輸耗時,縮短了服務響應時間,減輕了網絡寬帶的負擔[2-3]。在大數據(big data)和物聯網(internet of things, IoT)逐漸普及的社會大環境下,邊緣計算因其具有去中心化特點,不僅彌補了云計算暴露出的計算能力不足的問題[4],而且能夠滿足物聯網對響應速度和服務質量的較高要求[5]。
而共識(consensus)問題是分布式計算研究中最熱門的課題之一[6]。分布式系統中的個體會接收到一些請求,共識算法需要對這些請求進行認可,從而使所有個體的狀態達成一致。經典共識算法在實際中有許多應用,如為異步系統提供同步信息[7-9],分布式系統中的故障檢測與恢復[10-12],分布式數據庫系統的一致性維護[13-15]等。
區塊鏈技術的問世,極大地促進了分布式共識算法研究的進展。區塊鏈是一種基于共識算法的鏈式分布式記賬技術(distributed ledger technology, DLT)。比特幣和以太坊使用工作量證明(proof-of-work, PoW)[16]作為共識層算法,Hyperledger Fabric平臺則使用傳統的實用拜占庭容錯(practical Byzantine fault tolerance, PBFT)共識算法[17]。
現如今,能源危機與環境問題日益嚴峻。為充分利用可再生能源,能源互聯網(energy internet)的概念應運而生[18]。能源互聯網通過結合能源系統和信息通信技術,促進了傳統能源產銷、分配、轉換和管理的智能化轉型[19]。由于可再生能源形式多樣,分布范圍廣,能源密度低,對能源互聯網的大規模部署提出了多方面的需求:靈活的接入形式、多樣化的信息采集手段、海量的信息儲存、高效智能化的數據處理能力等。而分布式能源網絡所具有開放性、共享性、智能性和高效性等特點,可以很好地滿足這些需求[20]。
在分布式能源互聯網場景中,共識算法和邊緣計算都有著廣泛的應用。分布式共識以區塊鏈為載體,為去中心化能源交易、物聯網自動化管理、碳認證和交易、電動汽車交通等分布式能源系統提供安全保障[20-24];邊緣計算可以借助可再生能源微網技術供能減少對一次能源的消耗[25],同時在智能制造、智慧城市、城市能源管理、車聯網(internet of vehicles, IoV)信息與能量交互等場景中發揮重要的作用[26-29]。
盡管邊緣計算和共識各自扮演著重要的角色,但明確地將這兩者結合起來的文章或項目卻不多。本文嘗試將兩者有機地結合起來,并首次提出“共識邊緣計算”的概念,并對其在能源互聯網中的應用進行展望性分析。
本文主要有以下3點貢獻:1)基于對邊緣計算和共識算法研究的簡要總結,正式提出“共識邊緣計算”的概念,強調“共識邊緣計算”并非是邊緣計算與共識算法的簡單結合體,而是充分利用二者互惠關系的系統;2)從共識為邊緣計算提供安全保障和邊緣計算為共識算法提供模型創新兩種角度,描述“共識邊緣計算”的幾種具體實現形式;3)基于能源互聯網場景,對“共識邊緣計算”的應用方向進行展望性分析。
本章將描述通用的邊緣計算模型的層級框架結構,并簡要總結邊緣計算所研究的問題。
邊緣計算的架構通常為3層結構,自上而下分別為云(Cloud)、邊(Edge)、端(End)[30],如圖1所示。

圖1 邊緣計算架構
最上層為云層,即傳統的集中式云服務器,有著強大的計算能力和存儲資源。中間層為邊緣層,一般由網關、路側節點、邊緣服務器等組成,具有一定的計算能力和儲存能力,可以執行部分從云層下放的任務。最下層為終端層,包含各類數字化設備和傳感器設備,僅具備有限的計算和儲存能力。
該計算模型將本由云層完成的部分或全部任務下放到終端附近的邊緣層,縮短了數據傳輸距離和時間,提高了服務的終端響應速度。同時,邊緣層可以對終端設備采集的數據進行預處理,剔除大量無效數據和錯誤數據,大大緩解云服務器的壓力。
物聯網是邊緣計算的主要應用場景,物聯網的發展衍生了諸如車聯網、智能家居、智慧城市、智能制造、智能電網等研究領域。在這些場景中,設備的資源有限,但往往又對實時性和響應速度有著很高的要求。邊緣計算支持終端設備將部分或全部任務卸載到邊緣設備執行,一定程度上滿足了物聯網場景的需求。這個過程叫做計算卸載(computation offloading)[31]。計算卸載是邊緣計算研究的主要問題,它將決定終端設備是否進行卸載操作、卸載多少、卸載到哪些邊緣節點,以及邊緣設備何時需要進一步將任務上傳至云層中執行。
由于邊緣設備的資源與強大的云服務器相比仍然是有限的,因此合理分配計算、存儲、網絡資源以及均衡負載在邊緣計算中也是至關重要的[32]。另外,物聯網或車聯網系統中存在著大量的公共單元(如邊緣服務器、路側單元等)。如何保障計算卸載過程中公共單元和使用公共單元的設備的隱私和信息安全將是一個巨大的挑戰[33-34]。
本章將詳細介紹共識算法所研究的問題,并描述共識算法研究所面臨的可拓展性方面的挑戰。
在分布式共識算法中,網絡節點將接收到的請求提交給所有節點,并通過共識算法共同決定是否認可該請求。共識算法具有以下3種性質[35]:
1)合法性:節點認可的請求必須是某個節點提交的請求;
2)一致性:所有節點對請求的決定(認可或否決)是相同的;
3)終止性:共識需在有限時間內完成。
下面將詳細介紹共識算法在分布式算法領域中所研究的2個問題:崩潰/拜占庭容錯與FLP(Fischer-Lynch-Paterson)不可能性。
2.1.1崩潰/拜占庭容錯
為描述實際分布式系統可能遇到的故障,共識算法所基于的理論模型常常假設網絡節點會發生2類可能導致系統運行偏離預期結果的錯誤:崩潰錯誤和拜占庭錯誤。
絕大多數經典共識算法(如Paxos[36]、Raft[37]等)會假設節點會發生崩潰錯誤,這種錯誤可以使節點進程完全停滯。在發生崩潰錯誤的情況下依然能實現共識的算法叫崩潰容錯算法。類似地,能在節點發生拜占庭錯誤的情況下解決共識的算法叫拜占庭容錯(Byzantine fault tolerance, BFT)算法。發生拜占庭錯誤的節點可能執行任意操作來打破系統的一致性[38],拜占庭錯誤不僅可能造成系統的混亂,而且造成的資源和資金的損失也是無法預期的。區塊鏈一般要求共識層算法是拜占庭容錯的,如工作量證明[16]、實用拜占庭容錯[17]等。
2.1.2FLP不可能性
異步系統是分布式算法研究中的一種重要的系統模型。在這種系統中,不同節點完成同一操作需要的時間可能會不同。FLP不可能性定理證明,若異步系統出現了崩潰/拜占庭錯誤,則可以解決分布式共識的確定性算法是不存在的[39]。為規避FLP不可能性,后續研究中常添加一些額外的假設,保證異步系統不會因節點錯誤而停滯,使得分布式容錯共識可解。
最常用的方法是添加部分同步假設,即假設在系統穩定后,未發生錯誤節點間的信息傳輸在有限的時間內完成。Zyzzyva[40]、Ouroboros[41]、Honeybadger[42]等算法使用部分同步假設,將算法的重點放在解決拜占庭錯誤上。另外,將終止性要求放寬為概率終止性(即在有限的時間內完成共識的概率隨時間趨近于1)也是一種常見做法。區塊鏈中的工作量證明算法就是通過讓節點求解高計算成本的哈希問題,將區塊鏈分叉概率降至極低,從而保障系統的一致性。這個過程被稱為“挖礦”,參與挖礦的節點也叫做“礦工”。
隨著人們對分布式共識算法研究的深入,共識算法面臨著越來越多的問題與挑戰,如請求沖突問題、信息復雜度高、可拓展性低,網絡、計算和存儲資源消耗高等。其中可拓展性低的問題是最顯著的。
可拓展性是衡量分布式系統是否能大規模應用的指標。隨著系統規模的增加,算法效率降低程度越小,系統可拓展性越高。拜占庭容錯共識算法大多基于PBFT算法,僅能應用于小規模的系統,可拓展性普遍較低[40]。近年來問世的眾多共識算法嘗試用不同的方法來提高系統可拓展性,但這些方式往往又會衍生出其他問題(詳見表1)。因此,解決可拓展性低的問題也是共識問題面臨的最大挑戰。

表1 共識算法為提高可拓展性所采取的方法及衍生出的問題
基于前文對邊緣計算和共識研究的分析和總結,本文在此提出“共識邊緣計算”的概念。“共識邊緣計算”是一種融合了邊緣計算技術和共識機制的分布式系統。共識邊緣計算系統主要通過2種方式來實現:利用共識為邊緣計算保障安全,以及基于邊緣計算框架為共識提供模型的創新。
本小節將介紹2種使用共識機制保障安全的邊緣計算系統,一種是基于區塊鏈的區塊鏈即服務系統,另一種是“去區塊鏈化”的邊緣數據中心。
3.1.1區塊鏈即服務
近年來,基于共識實現信息透明、信息安全、信息不可篡改的區塊鏈,被廣泛應用在了多個領域,邊緣計算也不例外。文獻[49]提出在移動邊緣網絡平臺上構建區塊鏈即服務(blockchain-as-a-service, BaaS)系統,保障計算卸載過程的安全性,系統結構如圖2所示。
當用戶設備需要進行計算卸載時,先向移動邊緣服務器提交計算卸載需求和服務交易請求。交易成功后,用戶可以將計算任務卸載到移動邊緣服務器,同時移動邊緣服務器將交易信息和卸載記錄保存到區塊鏈中。區塊鏈中儲存的信息不僅可以在邊緣服務器之間共享,而且也允許用戶查詢。參與區塊生成的邊緣服務器通過工作量證明共識算法消耗資源,可以賺取額外的收益。
除了計算卸載,其他基于邊緣計算的任務都可以通過類似圖2的系統,將區塊鏈良好的安全性質添加到邊緣計算之中。例如,文獻[50]使用區塊鏈,借助工作量證明對數據進行審計,從而在車輛邊緣計算網絡中實現安全高效的數據共享。

圖2 使用區塊鏈即服務的計算卸載系統
3.1.2邊緣數據中心
隨著邊緣計算的不斷推廣,邊緣數據中心應運而生。類似地,邊緣數據中心就是將傳統集中式的數據中心分散部署在靠近用戶終端的邊緣層,從而支持高帶寬和低延時的邊緣計算服務[51]。作為分布式數據庫的一種特殊形態,邊緣數據中心同樣可以將共識算法應用于一致性維護、故障檢測與維護等場景。
文獻[52]提出了一種基于邊緣數據中心的共識中間設備,這種帶有拜占庭容錯機制的中間設備可以在服務供應商與用戶之間缺少相互信任的情況下,仍然為用戶移動設備提供邊緣網絡服務。
除此之外,文獻[53]描述了一種使用共識算法的虛擬同步模型庫,幫助軟件定義網絡(software defined network, SDN)同步分布式控制器狀態。SDN是一種網絡虛擬化的系統架構,分為控制平面和數據平面。這里的控制平面包含了根據全網狀態定義數據轉發規則的分布式控制器,數據平面則是記錄控制器狀態的邊緣數據中心。文獻中的虛擬同步模型庫使用Paxos或Raft共識算法對邊緣數據中心的控制器狀態數據進行同步,這種虛擬化信息同步可以更好地支持控制器規則的動態調整,提高系統的容錯能力并緩解效率上的瓶頸。
本小節將3種利用邊緣計算對共識算法的理論模型進行創新:利用云解決FLP不可能性、分級共識以及有向無環圖技術。
3.2.1利用云解決FLP不可能性
終端設備可以將共識任務卸載到邊緣層完成,但由于邊緣層設備數量較多且分布較廣,需要靠云服務層進行周期性信息同步。這種云邊協同的模式,本質上就是利用中心化的云服務器實現異步系統的部分同步,從而規避FLP不可能性。
EdgeCons[54]是基于邊緣計算架構的客戶端操作事件排序系統,邊緣設備通過MultiPaxos[55]共識算法完成排序任務,而且無法在邊緣快速解決的共識實例會進一步卸載到云端來完成。Nomad系統在EdgeCons的基礎上,進一步利用云邊協同完成共識任務的地域間負載均衡[56]。
3.2.2分級共識
由于邊緣設備數量多且分布廣,邊緣層往往會按地域劃分為若干簇,不同簇之間的設備不能直接進行點對點信息傳輸,只能通過云作為中轉來完成。這種設計考慮到基礎設施建設上的難度,為全部邊緣設備建立點對點通信也是不現實的。
移動邊緣計算模式的可靠共識(reliable consensus of mobile edge computing paradigm,RCMEC)是首個可以在這種分級式的邊緣計算架構下解決拜占庭共識問題的算法(如圖3所示)[57]。該算法將邊緣層的設備按地理位置分簇,先在簇內邊緣設備之間達成共識,再將共識結果同步給云服務層。如有需要,共識結果也會下發至其他簇的邊緣設備及終端設備。

圖3 RCMEC分級共識
與傳統的共識相比,這種分級共識排除了現實中沒有必要且不可能實現的不同簇邊緣設備間的點對點信息傳輸,降低了共識算法的信息復雜度,從而提高了系統的可拓展性。事實上,文獻[58]從理論上證明,這種分級結構可以將PBFT算法的信息復雜度從O(n2)降低至O(nk·logkn),其中n為邊緣設備總數,k為最大簇內設備數目。
3.2.3有向無環圖技術
物聯網是邊緣計算典型的應用場景。文獻[59]總結了20余種常見的共識算法,但“非常”適用于物聯網的卻寥寥無幾。其主要原因在于,共識的結果是將所有請求全序化,分布式地解決這種全局問題有很大難度,且常見的共識算法往往需要消耗大量的存儲、計算、網絡資源,吞吐量低,響應時間長。這些都與物聯網的低資源消耗和高響應效率的需求存在沖突。
為了更好地滿足物聯網場景的要求,越來越多學者開始研究基于有向無環圖(directed acyclic graph, DAG)的共識算法。有向無環圖技術主要通過支持請求并行處理,將共識的結果從全序關系放寬為偏序關系,從而提高共識系統的效率和可拓展性。以Tangle算法[60]為例,新提交的請求按概率選擇2個舊的請求進行認可,認可時需要求解類似工作量證明的但難度相對較低的哈希問題。如果將每個請求視為1個頂點,用有向邊代表請求之間的認可關系,則Tangle算法的結果就形成了一個有向無環圖。
類似的算法還有ONLAY[61]、Fantmette[62]、Byteball[63]等。這些基于DAG的算法雖然對共識算法的一致性要求有所折衷,但處理請求的效率得到了明顯提升,增強了分布式系統的可拓展性,因此也更加符合物聯網場景的要求。近幾年,IOTA[64]、PHANTOM[65]等基于DAG的DLT技術的問世,有效地解決了區塊鏈的鏈式結構對物聯網不友好的難題,極大地促進了DLT技術的多元化發展[66]。
共識邊緣計算的提出,是為了充分利用邊緣計算和共識算法各自的特性與優勢解決對方所面臨的挑戰,并非只是將邊緣計算與共識算法簡單合并。一方面,邊緣計算系統是分布式系統的一種,其安全保障便可以通過共識算法的一致性來提供。另一方面,不同于分布式共識算法的經典理論模型,邊緣計算架構中位于不同層級的設備是異質的,資源、計算能力、功能都會有所不同。因此,在實際中廣泛應用的邊緣計算,可以促進共識基礎理論模型的創新,在解決可拓展性難題上提供新的思路。共識邊緣計算各種實現形式的詳細優點描述如表2所示。

表2 共識邊緣計算的優點總結
本章將以能源互聯網為背景,詳細對“共識邊緣計算”系統的應用進行展望性分析。
物聯網區塊鏈技術,是基于區塊鏈技術的支持物聯網場景下不同業務的一種綜合性技術。物聯網區塊鏈在能源互聯網中有著非常多的應用。一方面,物聯網可以借助邊緣計算,使得能源網絡部署更加分散化,有效緩解傳統集中式能源網絡在帶寬消耗、數據傳輸、信息存儲上的壓力,促進能源的有效利用[67];另一方面,區塊鏈可以為物聯網中的分布式計算和價值交換提供安全保障,同時可以通過智能合約實現能源網絡的自動調節和自我維護[68-69]。
例如,文獻[70]中的路側單元和本地聚合器通過共識算法對數據和能源貢獻進行審計,可以提高車聯網信息和能量交互過程的可追溯性和透明性。類似地,文獻[71]描述了一種使用區塊鏈研發的概念證明系統,它使用基于激勵的共識算法來為家庭用電量、用戶行為、環境感知等數據提供真實性驗證信息,而這些數據隨后會進入人工智能引擎來完成數據分析和安全風險預報。
類似的應用還有很多,其中以太坊是這些項目與工程使用的主流區塊鏈平臺,因此以太坊使用的工作量證明成為了主流共識算法[72]。然而,完成工作量證明算法所需的電力、儲存、硬件設備等資源消耗卻是無法忽視的。據估計,比特幣公司年均電力消耗約34 TW·h,平均每確認一個區塊消耗250 kW·h,這相當于美國一戶普通家庭一周的用電量[73]。雖然BaaS系統可以解決物聯網終端設備計算能力和資源不足的問題,但這種解決方案只是將能源消耗從終端“轉嫁”至邊緣層或云層,系統整體的能源消耗并未減少,甚至可能增加(如計算卸載過程中的耗能)。因此,越來越多研究和項目開始嘗試低能耗物聯網區塊鏈,以減少系統的能耗,優化系統的整體用能效率。
這些可以通過使用基于低能耗共識算法的區塊鏈來實現,如文獻[74]中的去中心化能源交易系統采用基于資金的權益證明算法替代工作量證明。文獻[75]則自主研發了低能耗的鑒定證明算法,通過引入少量可靠的節點建立起一套認證體系,并且使用基于鑒定證明的區塊鏈對邊緣計算系統實施去中心化的訪問控制。這種低能耗的共識算法不但可以加快生成區塊的速度,而且也能提升系統的靈活性和可拓展性。
區塊鏈集成了點對點傳輸、DLT技術、智能合約等多種信息通信技術,但有不少文獻中的能源系統也僅僅用到了區塊鏈的分布式記賬功能[76-81]。這種情況下,部署一套完整的區塊鏈系統反而會大大增加系統的復雜度。因此,開始有研究嘗試并提倡“去區塊鏈化”,僅使用基于信息加密和共識算法的輕量DLT技術,滿足對去中心化、信息安全、信息共享、信息不可篡改等性質的需求[52]。
文獻[82]提出在可再生能源微網中加入輕量DLT技術,通過共識算法即可保障微網中個體安全地進行數據操作和信息交換。該文獻提出的微網結構還加入了邊緣計算層,承擔微網中部分數據儲存、預處理、分析等任務。在工業物聯網場景中,基于共識的輕量DLT技術可以協助搭建分布式認證框架,用于對邊緣層設備進行安全認證,防止對生產機器的惡意定向網絡攻擊[83]。
以上文獻中使用的輕量DLT技術,可以視為“瘦身版”物聯網區塊鏈,在為能源網絡提供靈活性和安全性的同時,降低區塊鏈系統的復雜程度和實施難度,提升項目的可行性。
區塊鏈與有向無環圖是兩種不同的DLT技術,二者的區別不局限于共識結果是全序結構還是偏序結構。事實上,大多數DAG技術(如IOTA)是“免區塊”的。這種免區塊DAG的優點在于,它可以將交易信息直接記入賬本,無需生成區塊。于是,每個個體都可以成為交易的記錄者,可以避免區塊鏈中因委托礦工生成區塊而產生的中間費用,同時也克服了由于區塊大小限制造成的交易延時。這與去中心化能源交易(或P2P(peer-to-peer)能源交易)的無中間費用和高效率交易的目標是一致的[84]。文獻[84]同時還提出了一種基于IOTA的P2P能源交易平臺(如圖4所示),支持家庭用戶間的周期性能源交易。

圖4 基于IOTA的P2P能源交易平臺示意圖
除此之外,在智能充電基礎設施建設領域,通過在充電樁與電動汽車之間的纜線可以實現機器對機器(machine-to-machine, M2M)交易和數據交換的自動化,而且這種基于IOTA交易平臺的充電樁已在社區內試驗性投入使用[85]。M2M互動模式有兩方面的優點,一方面它無需建立傳統的網絡傳輸協議或設施,另一方面減少了人工介入的環節,因而更經濟、安全、高效[86]。
邊緣計算和共識是分布式計算中的2個熱門課題。本文通過對將二者結合的文獻的總結,分析了二者的互惠關系:邊緣計算框架提高了共識算法的可行性和實用性,共識算法為邊緣計算提供安全性和魯棒性。
另外,本文正式提出“共識邊緣計算”概念,并對其在能源互聯網領域的應用進行展望,同時也為本文今后的工作指明了2個方向:一方面可以從理論上設計效率更高可拓展性更強的共識邊緣計算系統,另一方面可以在能源互聯網的背景下探索更多“共識邊緣計算”的應用場景。