隨著 5G、物聯網、無人駕駛、AR/VR、車聯網、AI 等眾多新興業務應用的快速涌現,對網絡的傳輸容量、數據分發處理能力提出了越來越高的要求,同時,5G 的應用服務的進一步發展使用網絡流量量呈現出爆炸時的增長態勢。根據 Cisco 最新發布的預測報告,到 2021 年全球 IP 流量將達到3.3ZB,IP 視頻流量將占有消費者互聯網的 82%;此外,移動數據流量將在2016 年至 2021 年間增長 7 倍,到 2021 年流量將達到每月 48.3EB,其中易懂視頻流量將占移動數據流量的 75%。傳統的云計算技術已經無法滿足終端側“大連接,低時延,大帶寬”的需求。隨著邊緣計算技術的出現,云計算將必然發展到下一個技術階段,將云計算的能力拓展至距離終端最近的邊緣側,并通過云邊端的統一管控實現云計算服務的下沉,供端到端的云服務,由此產生了“邊緣云計算”。
在本文中我們分析了 PolarChain(一種用于邊緣計算云服務的加密貨幣)中所使用的主要技術。該技術作為云計算的下一個延續發展階段邊緣云網絡,使傳統邊緣計算和區塊鏈技術成為一個有機結合。
PolarChain 核心技術實現
1. PolarChain 技術框架圖
2. Polar OS
眾所周知,IT 信息技術的基礎框架中包含三大組成部分 – 計算處理、存儲、以及網絡。以 IoT 的未來發展潛力來看,IT 領域的計算處理能力將隨著 IoT 業務的普及化而不斷提升;而在網絡及存儲層面,則可以直接受益于 OS(Operating System)操作系統的進化迭代。作為項目核心技術,Polar OS 是一款基于 Linux 定制精簡和強化的操作系統,可為 POC、POW、POS 類公鏈提供一個可信任的運行環境。
物聯網預計將在接下來的幾年時間中,逐步走近數十億消費者身邊,滲透進城市和企業所使用的各種設備。這樣的發展速度,也給物聯網系統的安全要求提出了巨大的挑戰。遍布世界的物聯網設備已經引起了黑客的注意,這就迫使我們在利用 p2p 技術的同時,要保證端對端系統的安全,以此來為用戶及整個 IoT 行業提供數據安全保障。下圖是星際比特 OS 系統的技術架構圖。
2. Polar OS 安全協議
Interplanetary File System 星際文件系統(IPFS) 是點對點(peerto-peer,簡稱p2p)文件共享系統,旨在從根本上改變信息在全球范圍內的傳播方式。IPFS 本質是分布式的文件系統,旨在用同一個文件系統來連接所有的計算設備。這和傳統的服務器/客戶端的文件系統有著極大的不同,基于 IPFS 協議構建的網站是完全分布式的,沒有源服務器,而且可以完全在客戶端的瀏覽器上運行。
IPFS 是很多領先技術的結合體,例如 Kademlia DHT(Distributed HashTables)分布式哈希表這種數據結構被用來執行文件的分發工作,以便有效地協調,實現節點之間的有效訪問和查找。通過分布式哈希表,節點可以存儲和共享數據,而無需中央協調;利用 Merkle DAG (Merkle 樹和有向無環圖 Directed Acyclic Graph 的混合體)確保在 p2p 網絡上交換的數據塊是正確的、沒有受到損害的和未被修改的。在 IPFS 中,哈希值(hash value)替代了傳統互聯網體系中的 URL,利用獨一無二的哈希值,我們能夠輕易驗證存儲于 IPFS 網絡中信息的真偽及完整性(IPFS 上的所有內容能夠被唯一地標識,因為每個數據塊有獨一無二的哈希值。此外,數據是防篡改的,因為數據的更改會改變哈希值)。Hash Value 的簡潔性使得 IPFS 成為區塊鏈系統中理想的存儲層。
利用 IPFS 作為存儲協議的同時,我們使用 libp2p 作為 p2p 工程的底層協議構建了 p2p 網絡,以確??梢暂p松應對各種復雜的網絡環境。libp2p作為整個網絡層,可以實現發現節點、連接節點、發現數據、傳輸數據的功能。利用 js-libp2p,千千萬萬的節點被連接起來,只要通過瀏覽器即可以實現節點之間的通信。而 libp2p 在 IoT 領域的最大優勢是,它可以支持不同傳輸層之間的通信,不必擔心其它的因素。通過 DHT 及 MDNS,libp2p 可以進行節點發現,并通過 pubsub 進行信息傳輸,十分符合 IoT 設備所處的應用場景。
3. Polar OS 數據安全
利用 p2p 網絡、IPFS 協議等,我們實現了整個操作系統的安全性。接下來,我們將詳細介紹如何實現網絡中數據的真實性及完整性,最后我們將展示如何在無信任的環境中達成節點中的共識。
在大多數 IoT 和 P2P 的應用場景中,需要了解存儲數據的位置及所有權,以進行協調及運算執行。區塊鏈技術天賦的屬性,使得鏈上數據能夠防止被篡改,被復制,這也使得區塊鏈變成理想的信息存儲介質。Ericsson提出了使用以區塊鏈為基礎的系統,進行數字資產的溯源;而 Viant 則利用區塊鏈技術進行對供應鏈的溯源追蹤。以太坊是一種加密貨幣,由圖靈完備可編程語言構建而成。而以太坊網絡的智能合約是可以一次性以確定性和不可否認的方式執行的程序。借助智能合約,我們可以構建在特定條件下運行的程序。一個示例用法是 Town Crier??删幊虆^塊鏈的一個最大弱點是在平臺上運行的程序必須是確定性的,因為程序的結果必須是可公開驗證的,這就使得服務依賴于易受攻擊的單一來源。比如,我們不能在 EVM 上運行web crawler。由于 crawler 的結果差異很大,不同的人會得到不同的網站。Town crier 則使用 Intel 的 SGX,利用可信的方式傳遞傳感器數據,識別故障節點。
虛擬化技術是將計算機的各種實體資源(CPU、內存、磁盤空間、網絡適配器等)資源池化,并使用 軟件進行智能化調度,由此打破實體結構間不可分割的障礙,使用戶可以比原本配置更好的方式應用硬件 資源。邊緣計算中計算、存儲、網絡資源均采用了虛擬化技術。邊緣計算中,設備就近將數據整合并存儲 到最近的移動邊緣平臺(虛擬資源池)上,多個第三方應用和功能共享平臺層,極大地方便了移動邊緣計 算實現統一的資源管理;同時網絡虛擬化技術提升了數據傳輸的智能化程度,減少傳輸時間,使得網絡傳輸進一步優化。
4. 共識算法
在上述的討論中,我們已經提供了驗證 IoT 數據的真實性和完整性的解決方案。然而,僅僅依靠這些技術,我們仍無法解決 IoT 網絡中出現的共識問題。因為總會存在一些故障節點(由于電源故障,bug 或其它原因導致)。作惡節點是導致網絡遭受 sybil 攻擊的原因之一,為了應對這一系列問題,我們需要行之有效的共識算法。值得一提的是,目前通用的 PoW 共識算法并不適用于 IoT 的商業應用場景。大多數接入 IoT 網絡的設備都有算力及存儲能力的局限性,而 PoW 帶來的極高能耗是不符合這一場景特性的。不夸張地說,單一的共識算法并無法適應 IoT 多種多樣的應用場景,我們應該做的,是將共識算法模板化,以適應不同的應用場景。
在 IoT 的應用場景中,設備不斷離開和連接到網絡的現象是極為頻繁的,我們無法保證在特定時間內某個設備可以確定被訪問到。同樣,IoT 設備對環境的敏感性使得這一問題更加凸顯,很多設備會時不時失靈。
解決這類的問題一般要采用故障容錯算法(CFT)來構建同步容錯系統。最常用的方式就是通過 Paxos 協議及其變種來實現的狀態機復制(state machine replication)。Paxos 算法是由 Lamport 提出的,該機制將節點分為兩類,領袖(提議者)和追隨者(接受者),整個算法的大致流程如下所示:
Paxos 算法是由 Lamport 提出的,該機制將節點分為兩類,領袖(提議者)和追隨者(接受者),整個算法的大致流程如下所示:
? 客戶端發送請求給領袖節點、
? 領袖節點發送提議給每一個追隨者
? 追隨者進行運算,返回給領袖結果
? 通過判斷返回的結果,領袖節點發送合適的值給追隨
? 追隨者返回自己的判斷,接受/不接受領袖的發送的值
? 如果絕大多數的追隨者接受這一值,則全部網絡將選擇其為最終的結果。
Paxos 算法能夠大大簡化共識達成的流程,但是在分布式系統中,作惡節點如果成為領袖,結果將是災難性的。尤其是在 IoT 的應用場景下,我們需要多方無信任節點的共識。
Lamport 在 The Byzantine Generals Problem 曾經討論過這一問題,如何在任意節點都可能作惡的情況下,達成系統共識。他提出一種算法,能夠在廣泛意義上解決拜占庭問題,但是這種算法的成本過高也并不實用。而Practical Byzantine Fault Tolerance 這篇論文則提出了一種切實有效的解決辦法。PBFT 算法在多進程系統中,同時滿足了 safety 和 liveness 的要求。Paxos 和 PBFT 的最大區別在于,PBFT 在主要節點作惡的情況下仍然能夠運行。但是 PBFT 算法要求網絡中的每一個節點都要進行通訊,這對于整個網絡的可拓展性是極大的限制。為了解決這一問題,我們提出了硬件協助的密鑰共享機制(hardware-assisted secret sharing)。在這一機制中,我們不將信息發送至每個節點,而是發送至主節點(the primary node),而后者將對其進行集合、傳輸處理。不過,如果主節點作惡的話,它將把錯誤的信息發送給其它不作惡的節點。我們采用了其它的一些機制來避免這一問題。首先,我們可以借助公鑰機制保證信息不被篡改。對于 IoT 應用場景來說,更合適的方法是借助 TEE(Trusted Execution Environment)可信應用環境。要使用 TEE 安全有效地發送消息,我們需要使用安全區域(Secure Enclave)來存儲用于通信的秘密。即使受損節點可以無限期地運行,故障節點也無法檢索這些機密。 完整的實現機制,可以參閱 Scalable Byzantine Consensus via Hardware-assisted Secret Sharing。
云技術可實現按用戶需求使用資源,網絡和服務部署的靈活性和可擴展性高。邊緣計算需要滿足多用 戶共享網絡邊緣計算和存儲資源,但服務器容量相比起云計算處理中心的服務器容量較小,因此需要引入云化的軟件架構,將軟件功能按照不同能力屬性分層解耦部署,實現有限資源條件下任務處理更具高可靠性、高靈活性與高性能。
PolarChain 未來商業場景
1. 視頻加速
智能視頻加速業務主要是通過縮短內容的開始時間和減少視頻停止時間,提升用戶的體驗質量(QoE),并保證無線網絡資源的最大利用。
2. CDN
隨著移動互聯網技術的快速發展,移動網絡數據流量呈現出爆發式增長的趨勢。根據 2017 年思科 VNI 報告,到 2021 年,全球移動數據流量將達到每月 49EB,移動視頻流量將占全球移動數據流量的 78%。 內容提供商每日都會上傳成千上萬個視頻內容,這樣的內容大量存儲在提供商的集中式數據庫中,然后從源格式轉換為最終傳遞格式,分發到位于網絡不同位置的多個流服務器中,并進行進一步傳遞。盡管進行了內容分發工作,但內容到用戶的距離依舊很遠,特別是在移動環境境中,由于緩沖問題和抖動,個別用戶可能會遇到服務中斷。因此, PolarChian 通過將 CDN 服務擴展到移動邊緣來提供分布式緩存,可以增強用戶的 QoE,并減少回程網和核心網的使用。
3. 物聯網
物聯網作為下一個推動世界高速發展的“重要生產力”,近年來得以迅速發展?!拔锫摼W”概念是在“互聯網”概念的基礎上,將其用戶端延伸和擴展到任何物品與物品之間,進行信息交換和通信的一種網絡概念。物聯網是指通過各種信息傳感設備,實時采集任何需要監控、連接、互動的物體或過程等各種需要的信息,與互聯網結合形成的一個巨大網絡。
PolarChian 可以更輕松地集成和規范化數據。智能設備上的 I/0 設備可以輕松連接傳統工業系統和 PolarChian 網絡。網關可以使用 Wi-Fi、WWAN 和以太網與終端進行連接和通信。另外,網關的處理能力支持中間設備對來自所有不同協議(從 ModBus、BACnet 到 Zigbee 等)的數據進行匯總、轉換和標準化,再通過網關將數據傳送到核心網上。PolarChian 可以對連接的終端進行邊緣分析,將決策轉移到邊緣,提供實時操作,還可以幫助管理網絡問題,通過決定數據是否移動到邊緣來解決網絡帶寬問題。
4. 車聯網
車聯網(Internet of Vehicle)一般認為是由車輛位置、速度和路線等信息構成的巨大交互網絡。車聯網服務不斷發展,并且在接下來的幾年內仍會保持持續擴張的態勢。 為了有一個穩健的發展基礎,必須先滿足連通性的要求,而這將導致互聯車輛中傳感器和處理器傳輸數據流量的急劇增加。 連接需求可能會根據所提供的服務有所不同,包括不同的延遲級別、數據接近度、計算成本和帶寬可用性。
PolarChain 技術可以用于將車聯網云擴展到高度分布的移動基站環境中,并且使數據和應用能夠在車輛附近部署。 應用程序可以運行在PolarChain 服務器上,這些服務器部署在 LTE 基站站點上,如小的單元站點或聚集的站點位置,以提供路邊功能。PolarChain 技術為互聯車輛所依賴的新一類應用提供了一個平臺,當互聯車輛移動或與路邊傳感器通信時,數據與應用依舊能夠處于靠近互聯車輛的地方。PolarChain 還能為應用程序提供托管服務,為應用程序提供更低的延遲。 PolarChain 應用程序可以直接從車輛和路邊傳感器中的應用程序接收本地消息,對其進行分析,然后將(具有極低延遲)危險警告和其他等待時間敏感信息傳播到該區域的其他車輛,這使附近的汽車可以在幾毫秒內接收數據,從而允許駕駛員立即做出反應。
評論
查看更多