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