近年來隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,物聯(lián)網(wǎng)設(shè)備的使用規(guī)模呈現(xiàn)爆炸式增長。 據(jù)統(tǒng)計,2017 年物聯(lián)網(wǎng)設(shè)備同比增長 31%,達(dá)到了 84 億。 預(yù)計到 2020 年,這個數(shù)字將增長至300億。 物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用為物理世界更直接地整合到計算機網(wǎng)絡(luò)世界創(chuàng)造了機會,從而減少人力消耗,提升生產(chǎn)效率和經(jīng)濟效益。 物聯(lián)網(wǎng)綜合了傳統(tǒng)互聯(lián)網(wǎng)、移動網(wǎng)絡(luò)、傳感器網(wǎng)絡(luò)等,擴展了新的互聯(lián)網(wǎng)概念,從而將萬物互聯(lián)互通。 然而,物聯(lián)網(wǎng)在帶來開放性、包容性的同時也不可避免地引入了安全性、匿名性等隱患。 為了完善網(wǎng)絡(luò)安全、更好地實現(xiàn)用戶隱私保護以及信任管理,物聯(lián)網(wǎng)安全技術(shù)仍有待進一步研究。
目前,大多數(shù)物聯(lián)網(wǎng)解決方案都依賴于集中式的服務(wù)器–客戶端范例,以云計算的方式接 入物聯(lián)網(wǎng)設(shè)備。 在這種中心化的模式下,線性增長的集中式云計算能力無法匹配爆炸式增長的設(shè)備及數(shù)據(jù)規(guī)模;網(wǎng)絡(luò)邊緣設(shè)備與云服務(wù)器的傳輸帶寬限制了網(wǎng)絡(luò)性能,其網(wǎng)絡(luò)延遲也帶 來了更多安全問題;數(shù)據(jù)的集中化管理使得隱私安全問題變得突出;網(wǎng)絡(luò)邊緣設(shè)備與云服務(wù) 器的數(shù)據(jù)傳輸給物聯(lián)網(wǎng)設(shè)備帶來了較大的開銷。 因此,相繼出現(xiàn)了一些基于分布式 P2P 的物聯(lián)網(wǎng)架構(gòu),可以解決中心化網(wǎng)絡(luò)架構(gòu)存在的問題。 然而,直至引入區(qū)塊鏈技術(shù)并將其與物聯(lián)網(wǎng)相結(jié)合,才有效地解決了物聯(lián)網(wǎng)存在的許多問題。 比如:物聯(lián)網(wǎng)設(shè)備之間存在敏感的數(shù)據(jù)生成、交換、存儲,可以憑借區(qū)塊鏈的 P2P 特性確保其隱私性、魯棒性、單點故障容錯性;物聯(lián)網(wǎng)中數(shù)據(jù)的創(chuàng)建、修改、刪除等每個操作,可以在區(qū)塊鏈中進行注冊和驗證來實現(xiàn)對物聯(lián)網(wǎng) 數(shù)據(jù)篡改、濫用行為的檢測。 此外,還可以通過區(qū)塊鏈定制和實施訪問策略,從而實現(xiàn)對數(shù)據(jù)的訪問控制。 在區(qū)塊鏈框架中,物聯(lián)網(wǎng)設(shè)備無需人為干預(yù)就可以將數(shù)據(jù)安全地存儲在不同的節(jié)點中,并利用區(qū)塊鏈的特性保證其去中心化信任、真實性、安全性、隱私性等。 本文將綜述相關(guān)文獻(xiàn),并主要介紹了區(qū)塊鏈技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用。
1 區(qū)塊鏈物聯(lián)網(wǎng)的應(yīng)用場景
1.1區(qū)塊鏈技術(shù)概述
區(qū)塊鏈?zhǔn)且环N以密碼學(xué)算法為基礎(chǔ)的點對點分布式賬本技術(shù),其本質(zhì)是一種互聯(lián)網(wǎng)共享 數(shù)據(jù)庫。 區(qū)塊鏈?zhǔn)状螐募夹g(shù)上解決了基于信任的中心化模型帶來的安全問題,它基于密碼學(xué)算法保證數(shù)據(jù)與價值的安全轉(zhuǎn)移,基于哈希鏈及時間戳機制保證數(shù)據(jù)的可追溯和不可篡改的 特性,基于共識算法保證節(jié)點間區(qū)塊數(shù)據(jù)的一致性。 區(qū)塊鏈技術(shù)自 2008 年比特幣提出以來迅速得到了應(yīng)用。 最初,區(qū)塊鏈技術(shù)主要應(yīng)用在數(shù)字貨幣領(lǐng)域,并出現(xiàn)了多種類比特幣的數(shù)字貨幣。 2014 年后,越來越多的領(lǐng)域開始嘗試與區(qū)塊鏈相結(jié)合,催生了廣闊的應(yīng)用前景。
區(qū)塊鏈?zhǔn)怯砂灰?a target="_blank">信息的區(qū)塊從后向前有序鏈接起來的數(shù)據(jù)結(jié)構(gòu)。 每個區(qū)塊頭都包含它的父區(qū)塊哈希值,這樣把每個區(qū)塊鏈接到各自父區(qū)塊的哈希值序列就創(chuàng)建了一條一直可以 追溯到第 1 個區(qū)塊(創(chuàng)世區(qū)塊)的鏈條。 隨著鏈上新區(qū)塊的產(chǎn)生,該區(qū)塊鏈的本地副本會不斷地更新維護這個鏈,并通過共識算法和其他同步機制來保證每個區(qū)塊鏈副本的最終一致性。 區(qū)塊鏈網(wǎng)絡(luò)是一個分布式的點對點網(wǎng)絡(luò),其中每個完整節(jié)點都存儲了所有交易數(shù)據(jù),而不需 要第 3 方或中心化的節(jié)點來控制交易或數(shù)據(jù)。 這種分布式的數(shù)據(jù)管理架構(gòu)賦予了區(qū)塊鏈應(yīng)用去中心化、開放性、自治性、信息不可篡改性和匿名性等優(yōu)勢。
1.2區(qū)塊鏈層級架構(gòu)
現(xiàn)有的區(qū)塊鏈架構(gòu)一般從下到上分為數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、合約層、應(yīng)用層,如圖 1所示。
圖 1 區(qū)塊鏈架構(gòu)圖
區(qū)塊鏈數(shù)據(jù)層一般是基于 levelDB 等數(shù)據(jù)庫實現(xiàn)的。 區(qū)塊體以 Merkle 樹的形式存儲了交易數(shù)據(jù)和賬戶數(shù)據(jù)等,而區(qū)塊頭則存儲了區(qū)塊父哈希值和 Merkle 樹的根以及用于挖礦的nonce 值等數(shù)據(jù),形成了區(qū)塊鏈基礎(chǔ)的鏈?zhǔn)浇Y(jié)構(gòu)。 除此之外,數(shù)據(jù)層還包括了時間戳技術(shù)和非對稱加密技術(shù)等,是區(qū)塊鏈實現(xiàn)數(shù)據(jù)可溯源且不可篡改的基礎(chǔ)。
網(wǎng)絡(luò)層則決定了區(qū)塊鏈的分布式點對點網(wǎng)絡(luò)拓?fù)洹?這一層包括了節(jié)點間的分布式 P2P 通信協(xié)議、區(qū)塊同步算法、數(shù)據(jù)傳播與數(shù)據(jù)驗證機制,負(fù)責(zé)網(wǎng)絡(luò)中的節(jié)點發(fā)現(xiàn)、消息廣播、數(shù)據(jù)傳輸?shù)裙δ堋?/p>
共識層主要涉及區(qū)塊鏈的共識算法,包括了區(qū)塊驗證、礦工競爭出塊、最長鏈確認(rèn)等。 較為成熟的共識算法有:工作量證明算法(proof of work, PoW)、權(quán)益證明算法(proof of stake, PoS)、股份授權(quán)證明算法(delegate proof of stake, DPoS)以及實用拜占庭容錯算法(practical Byzantine fault tolerance, PBFT)。 共識算法是區(qū)塊鏈的核心機制。 各類共識算法各有利弊,目前已有許多工作針對共識算法進行了創(chuàng)新與優(yōu)化。
合約層包括了智能合約的部署、合約測試、日志管理、實例管理、合約接口等。 智能合約即在區(qū)塊鏈上運行的圖靈完備腳本語言,無需人工干預(yù)就可以在約束條件下自動觸發(fā),執(zhí)行 事先約定好的一切條款。 這也是區(qū)塊鏈能夠解決去信任的關(guān)鍵技術(shù)之一。
應(yīng)用層則包括了運行在區(qū)塊鏈上的去中心化應(yīng)用程序(decentralized application, DAPP),以及一些接口調(diào)用。 應(yīng)用層封裝了各種應(yīng)用和案例,支撐區(qū)塊鏈實現(xiàn)在金融貨幣、供應(yīng)鏈、物聯(lián)網(wǎng)、征信、社交娛樂等領(lǐng)域的應(yīng)用落地。
1.3區(qū)塊鏈在實際物聯(lián)網(wǎng)中的應(yīng)用場景
當(dāng)前區(qū)塊鏈技術(shù)已用于多種物聯(lián)網(wǎng)場景,涉及了如傳感器、數(shù)據(jù)存儲、身份管理、時間戳服務(wù)、可穿戴設(shè)備、供應(yīng)鏈管理等多種技術(shù),涵蓋了農(nóng)業(yè)、金融、醫(yī)療、交通等各個領(lǐng)域,如圖2 所示。
圖 2 區(qū)塊鏈在物聯(lián)網(wǎng)中的應(yīng)用場景
在無人機領(lǐng)域中,無人機技術(shù)的廣泛應(yīng)用受到了安全和數(shù)據(jù)隱私等因素的制約,而區(qū)塊 鏈可以為無人機管控提供更高水平的透明度、安全性、可信度和效率。 例如沃爾瑪在 2019 年 8 月 1 日公布了此前申請的名為“使用區(qū)塊鏈克隆無人機”的專利,旨在以區(qū)塊鏈技術(shù)保障無人機包裹遞送系統(tǒng)的數(shù)據(jù)完整和安全。 文獻(xiàn) 通過哈希算法實現(xiàn)數(shù)字簽名,并提供了一種圖像和傳感器采集數(shù)據(jù)的加密方法,通過時間戳機制記錄包含了 GPS 位置信息的交易日志,基于區(qū)塊鏈實現(xiàn)了一個通用、可擴展且易于管理的無人機訪問控制系統(tǒng)。 相信在不久的將來,這項技術(shù)可以在對消費者友好的小型無人機上實現(xiàn),并且其服務(wù)器可以在諸如手機等移動設(shè)備上運行。
區(qū)塊鏈在車聯(lián)網(wǎng)領(lǐng)域也得到了廣泛應(yīng)用。 在車聯(lián)網(wǎng)中,車輛需要收集并共享數(shù)據(jù)以提高駕駛安全性,提供更好的服務(wù)質(zhì)量。 區(qū)塊鏈技術(shù)的引入一方面解決了集中式管理架構(gòu)中車輛因擔(dān)心單點故障和數(shù)據(jù)操控而不愿意將數(shù)據(jù)上傳至基礎(chǔ)設(shè)施的問題,另一方面也解決了分布式管理架構(gòu)中未授權(quán)的數(shù)據(jù)訪問和安全保護問題。 文獻(xiàn) 利用區(qū)塊鏈建立分布式數(shù)據(jù)庫來管理車輛數(shù)據(jù),通過部署智能合約來保證路側(cè)基礎(chǔ)設(shè)施(roadside units, RSUs)數(shù)據(jù)存儲的安全與高效,通過基于信譽的數(shù)據(jù)分享方案來選擇更加可靠的數(shù)據(jù)源以提高數(shù)據(jù)可信度。 車輛可以選擇高質(zhì)量、高可信的數(shù)據(jù)提供者,確保了數(shù)據(jù)存儲和數(shù)據(jù)共享的安全性。 結(jié)果表明: 相比于傳統(tǒng)方法,該方案在提高異常車輛的檢測率以及確保數(shù)據(jù)共享的安全性方面具有很大優(yōu)勢。
在未來電網(wǎng)中,除了主電網(wǎng)之外,間歇性能源和微電網(wǎng)也將成為能源供應(yīng)的重要組成部分。 文獻(xiàn) 將區(qū)塊鏈與智能電網(wǎng)相結(jié)合,創(chuàng)建了一個更加高效的系統(tǒng),通過人工智能和微交易來匹配電力需求和供應(yīng),更加合理地利用了分布在整個網(wǎng)絡(luò)中的電力資源。 文獻(xiàn) 提出了一個基于區(qū)塊鏈的安全、透明、分布式的電力交易模型以消除傳統(tǒng)能源市場的壟斷,促進了能源和信用的合理交易,實現(xiàn)了平穩(wěn)的能源管理需求。 現(xiàn)有的項目比如 Energo 就是通過代幣的形式評估能源的占有量和消耗量,通過智能合約調(diào)整交易規(guī)則和電網(wǎng)切換策略;基于區(qū)塊鏈和本地微電網(wǎng)實現(xiàn)了一個清潔能源計量、登記、管理、交易與結(jié)算的去中心化系統(tǒng)。 目前, 該系統(tǒng)已在東南亞和澳洲得到了推廣與部署。
在農(nóng)產(chǎn)品運輸?shù)任锫?lián)網(wǎng)場景下,傳感器數(shù)據(jù)是重要的組成部分,物聯(lián)網(wǎng)的正常運行依賴于大量傳感器數(shù)據(jù)的傳輸,而區(qū)塊鏈與傳感器技術(shù)相結(jié)合可以實現(xiàn)傳感器數(shù)據(jù)的存證和溯源, 是提高物聯(lián)網(wǎng)去中心化信任和安全的有效手段。 文獻(xiàn) 分析了在實際運輸鏈應(yīng)用場景中, 基于區(qū)塊鏈的谷物質(zhì)量跟蹤系統(tǒng)的可行性。 文章指出:該系統(tǒng)可以將巴西的大豆出口收益額度提高約 15%. 加拿大的 Transport Genie 公司通過傳感器檢測運輸車輛車廂內(nèi)微氣候,應(yīng)用區(qū)塊鏈技術(shù)保存與傳輸數(shù)據(jù),使供應(yīng)商、運輸單位、食品公司都能實時掌握運輸途中生鮮家畜的狀況。 同時,該系統(tǒng)還實現(xiàn)了傳感器數(shù)據(jù)的不可篡改與供應(yīng)鏈數(shù)據(jù)的可溯源,在很大程度上確保了農(nóng)產(chǎn)品供應(yīng)的安全。
除此之外,還有更多物聯(lián)網(wǎng)領(lǐng)域都因為引入了區(qū)塊鏈技術(shù)而具備了更強的安全、隱私、信任等特性。 區(qū)塊鏈在物聯(lián)網(wǎng)領(lǐng)域擁有廣闊的應(yīng)用前景,因此進一步研究區(qū)塊鏈底層技術(shù)以及與物聯(lián)網(wǎng)更加有效的結(jié)合方式變得尤為重要。
2 針對物聯(lián)網(wǎng)的區(qū)塊鏈底層技術(shù)研究
區(qū)塊鏈技術(shù)可以解決物聯(lián)網(wǎng)的許多問題,但區(qū)塊鏈本身并不是專門為物聯(lián)網(wǎng)而設(shè)計的, 怎樣將區(qū)塊鏈技術(shù)與物聯(lián)網(wǎng)可行有效地結(jié)合是一個值得研究的問題。 目前,已有很多研究對這個問題進行了討論。 文獻(xiàn) 分析了區(qū)塊鏈基礎(chǔ)設(shè)施在物聯(lián)網(wǎng)設(shè)備更新場景下的應(yīng)用,提出合理地設(shè)計區(qū)塊鏈系統(tǒng)可以有效提升物聯(lián)網(wǎng)設(shè)備更新的可用性,降低設(shè)備承受惡意攻擊的風(fēng)險, 提高設(shè)備的持久性。 文獻(xiàn) 提出:在物聯(lián)網(wǎng)中,區(qū)塊鏈和其他技術(shù)的結(jié)合可以有效地應(yīng)用于物聯(lián)網(wǎng)邊緣計算架構(gòu),解決隱私與安全問題。 此外,區(qū)塊鏈本身也存在一些短板亟待解決,例如交易通量受限導(dǎo)致的系統(tǒng)性能低下,使得其不能滿足物聯(lián)網(wǎng)中需要頻繁數(shù)據(jù)交換的應(yīng)用場景;共識算法缺陷導(dǎo)致的系統(tǒng)去中心化不完全,使得物聯(lián)網(wǎng)應(yīng)用不能完全發(fā)揮區(qū)塊鏈的去中心化優(yōu)勢;區(qū)塊生成的冗余計算導(dǎo)致的大量能源消耗,使得傳感器網(wǎng)絡(luò)等能源受限網(wǎng)絡(luò)的壽命減少;鏈上數(shù)據(jù)公開以及交易過程中的數(shù)據(jù)泄露,導(dǎo)致物聯(lián)網(wǎng)數(shù)據(jù)的隱私安全問題等。 因此,在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用區(qū)塊鏈技術(shù)的同時仍需針對實際場景對區(qū)塊鏈進行一定的優(yōu)化與改進。
設(shè)計新的系統(tǒng)架構(gòu)、共識算法、智能合約、加密算法、時間戳技術(shù)、數(shù)據(jù)存儲結(jié)構(gòu)等,可 以使得區(qū)塊鏈更加適用于物聯(lián)網(wǎng)領(lǐng)域。 例如文獻(xiàn) 提出了一種優(yōu)化的區(qū)塊鏈,可以解決經(jīng)典區(qū)塊鏈中的高資源消耗、低擴展性、長處理時間的問題,同時為物聯(lián)網(wǎng)保留了安全性與隱私 性。 為了更好地與物聯(lián)網(wǎng)結(jié)合,現(xiàn)有的針對物聯(lián)網(wǎng)場景下區(qū)塊鏈底層技術(shù)的研究大多從以下三方面展開:系統(tǒng)架構(gòu)、共識算法、智能合約。
2.1系統(tǒng)架構(gòu)
物聯(lián)網(wǎng)架構(gòu)的發(fā)展經(jīng)歷了從服務(wù)器–客戶端到開放式云中心,再到分布式 P2P 的過程, 如圖 3 所示。 傳統(tǒng)的基于云服務(wù)器的物聯(lián)網(wǎng)存在一些固有的安全隱患,服務(wù)器若出錯或被攻擊將直接影響整個網(wǎng)絡(luò)系統(tǒng)。 此外,若單個物聯(lián)網(wǎng)設(shè)備被攻擊,則可能通過拒絕服務(wù)(denial of service, DoS)攻擊破壞整個網(wǎng)絡(luò),從而影響到網(wǎng)絡(luò)安全。 相比之下,基于區(qū)塊鏈的分布式P2P網(wǎng)絡(luò)架構(gòu)則不依賴于某個中心節(jié)點或云服務(wù)器,且事務(wù)或交易在網(wǎng)絡(luò)中以加密的形式操作和驗證,因此在單個惡意節(jié)點存在的情況下可以拒絕該節(jié)點對鏈上數(shù)據(jù)的操作。
圖 3 物聯(lián)網(wǎng)網(wǎng)絡(luò)架構(gòu)發(fā)展
針對適用于物聯(lián)網(wǎng)的區(qū)塊鏈架構(gòu),研究者們提出了許多解決方案。 例如文獻(xiàn) 考慮到典型的智能家居環(huán)境,基于區(qū)塊鏈技術(shù)提出了一種新的輕量級體系架構(gòu)。 該系統(tǒng)結(jié)構(gòu)分為 3 層:智能家居、覆蓋網(wǎng)絡(luò)、云存儲。 智能家居層在區(qū)塊中加入 Policy Header,解決了身份認(rèn)證和訪問控制等問題;覆蓋網(wǎng)絡(luò)層通過簽名與驗簽、賬戶公鑰與 ID 解決了隱私問題;云存儲層通過數(shù)據(jù)的哈希簽名解決分布式節(jié)點的信任問題。 文獻(xiàn) 基于區(qū)塊鏈技術(shù)實現(xiàn)了一個新的物聯(lián)網(wǎng)分布式訪問控制系統(tǒng),使用區(qū)塊鏈存儲并分發(fā)訪問控制信息。 該系統(tǒng)由管理中心節(jié)點將多個約束網(wǎng)絡(luò)同時連接至區(qū)塊鏈網(wǎng)絡(luò),因此具有很好的擴展性與靈活性,能夠適用于各種 物聯(lián)網(wǎng)場景。 文獻(xiàn) 提出了 IoTChain,結(jié)合了基于對象的物聯(lián)網(wǎng)安全架構(gòu)(object security architecture for the Internet of Things)和 ACE 授權(quán)框架,使 ACE 授權(quán)階段變得可信而靈活。 該文以區(qū)塊鏈替換單個 ACE 授權(quán)服務(wù)器,由智能合約處理授權(quán)請求,使用自我修復(fù)的密鑰分發(fā)方案實現(xiàn)了物聯(lián)網(wǎng)的高效管理。 文獻(xiàn) 提出了一個多層分布式網(wǎng)絡(luò)模型,有機地結(jié)合了區(qū)塊鏈技術(shù)的安全性、可靠性和云服務(wù)器架構(gòu)的高性能和管控能力。 該模型將網(wǎng)絡(luò)分為邊緣層和高級層。 邊緣層包括了本地物聯(lián)網(wǎng)實體,并提供與高級層的接口。 邊緣層與當(dāng)前的集中式網(wǎng)絡(luò)模型一致:云服務(wù)器管理設(shè)備數(shù)據(jù)并處理請求,相當(dāng)于實現(xiàn) IoT 的局域網(wǎng)。 高級層連接邊緣層并實現(xiàn) IoT 的廣域網(wǎng)功能。 在高級層中,同一層的所有節(jié)點均以分布式方式運行,基于拜占庭容錯(Byzantine fault tolerance, BFT)算法來維護分布式記錄的數(shù)據(jù),使同一層的節(jié)點實現(xiàn)了自我管理和一定程度的容錯;針對跨層通信,該模型也設(shè)計了特定的跨層尋址與 數(shù)據(jù)傳輸方法。 這種網(wǎng)絡(luò)架構(gòu)為建立廣域安全物聯(lián)網(wǎng)網(wǎng)絡(luò)提供了可行的解決方案。
設(shè)計更適合物聯(lián)網(wǎng)的區(qū)塊鏈系統(tǒng)架構(gòu),是兩個技術(shù)領(lǐng)域交叉融合的基礎(chǔ)。 據(jù)現(xiàn)有的研究來看,完全分布式的網(wǎng)絡(luò)架構(gòu)并不是最適合物聯(lián)網(wǎng)應(yīng)用場景的架構(gòu),而多層可擴展的區(qū)塊鏈 架構(gòu)能夠在擁有區(qū)塊鏈優(yōu)勢的情況下更有效地兼容物聯(lián)網(wǎng)原有的功能,如圖 4 所示。 同時,隨著下一代物聯(lián)網(wǎng)邊緣計算的快速發(fā)展,分層結(jié)構(gòu)的霧計算將成為更高效的物聯(lián)網(wǎng)架構(gòu)。 區(qū)塊鏈與霧計算結(jié)合將是未來區(qū)塊鏈物聯(lián)網(wǎng)系統(tǒng)架構(gòu)研究的重要發(fā)展方向。
圖 4 結(jié)合霧計算的區(qū)塊鏈物聯(lián)網(wǎng)多層架構(gòu)
2.2共識算法
在區(qū)塊鏈中,共識機制用于分布式 P2P 網(wǎng)絡(luò)能確保各節(jié)點維護相同內(nèi)容和順序的交易記錄。 在共識過程中,各節(jié)點獨立構(gòu)造候選區(qū)塊,獲得記賬權(quán)的節(jié)點將自身構(gòu)造的區(qū)塊廣播至其他節(jié)點,而其他節(jié)點將收到的有效區(qū)塊加入各自區(qū)塊鏈。 共識算法是區(qū)塊鏈的核心技術(shù)之一, 在保證其去中心化、維護其安全性等方面發(fā)揮著重要作用。 類似傳統(tǒng) PoW 的共識算法具有較高的安全性,但其挖礦過程給區(qū)塊鏈帶來了低通量、低可擴展性以及高能耗的問題,這在物聯(lián)網(wǎng)場景中是不可接受的。 因此,優(yōu)化或設(shè)計更適合物聯(lián)網(wǎng)應(yīng)用的共識算法已經(jīng)成為區(qū)塊鏈落地的關(guān)鍵問題。
文獻(xiàn) 對比了傳統(tǒng)區(qū)塊鏈與有向無環(huán)圖(directed acyclic graph, DAG)區(qū)塊鏈的共識算法,DAG(即以網(wǎng)狀拓?fù)涠擎準(zhǔn)浇Y(jié)構(gòu)存儲區(qū)塊鏈數(shù)據(jù))概念作為共識算法,最早在2013年由以色列希伯來大學(xué)學(xué)者提出。 文章認(rèn)為:在沒有礦工參與的情況下,交易有向無環(huán)圖(transaction directed acyclic graph, TDAG)區(qū)塊鏈的共識過程相比于 PoW 具有更好的去中心化程度、更小的能源消耗以及更高的可擴展性。 提出區(qū)塊鏈應(yīng)用DAG的共識算法,可以給邊緣設(shè)備為主的物聯(lián)網(wǎng)提供完整有效的解決方案。 文獻(xiàn) 提出了一種適用于物聯(lián)網(wǎng)的輕量級區(qū)塊鏈共識算法:身份認(rèn)證證明。 它包括了兩個認(rèn)證步驟:1)認(rèn)證區(qū)塊以及區(qū)塊的源。 2)在可信節(jié)點成功認(rèn)證區(qū)塊之后,第 1 個認(rèn)證該區(qū)塊的節(jié)點信任值增加一個單位。 之后所有節(jié)點更新區(qū)塊,在此過程中區(qū)塊內(nèi)的非法交易會被識別出,任何對這個區(qū)塊進行過錯誤認(rèn)證的節(jié)點 將失去一個單位的信任值,直至成為一個普通節(jié)點。 身份認(rèn)證證明不需要逆 Hash 計算,從而減少了能源消耗,使區(qū)塊鏈可以有效地集成到資源約束網(wǎng)絡(luò),并且在分層網(wǎng)絡(luò)和霧計算場景 中依然有效。 文獻(xiàn) 為物聯(lián)網(wǎng)應(yīng)用場景提出了一種混合區(qū)塊鏈 Hybrid-IoT. 在 Hybrid-IoT 中,IoT 設(shè)備以 PoW 區(qū)塊鏈的形式組成若干小組,而各 PoW 區(qū)塊鏈之間使用 BFT 共識算法連接,這種共識類似于跨鏈交互的 Polkadot或Cosmos. 文獻(xiàn) 分析了PoW 共識算法在子區(qū)塊鏈應(yīng)用的有效性,證明了 PoW 與 BFT 混合共識的安全性,為針對物聯(lián)網(wǎng)的區(qū)塊鏈共識算法設(shè)計提供了新的解決方案。
共識算法作為區(qū)塊鏈的核心技術(shù),其優(yōu)化與改進對區(qū)塊鏈物聯(lián)網(wǎng)的性能表現(xiàn)起重要作用。 在大多數(shù)情況下,PoW 類的共識算法不再適用于物聯(lián)網(wǎng)環(huán)境。 相比之下,在網(wǎng)絡(luò)規(guī)模大且安全性要求高的環(huán)境下,可以使用 PoS 共識算法。 在網(wǎng)絡(luò)規(guī)模小、安全性要求不太嚴(yán)苛的環(huán)境下,可以使用 DPoS 和 PBFT 等共識算法。 總的來說,更多的工作應(yīng)針對更高效、更節(jié)能、更大交易吞吐量的共識算法進一步研究;而更加前沿的 DAG 無鏈結(jié)構(gòu)共識算法,省去了打包區(qū)塊的時間,在效率方面有了質(zhì)的飛躍。 使區(qū)塊鏈的容量和速度有了質(zhì)的提升,DAG 共識算法的應(yīng)用也將成為區(qū)塊鏈物聯(lián)網(wǎng)的新趨勢。
2.3智能合約
區(qū)塊鏈在去中心化數(shù)字貨幣等領(lǐng)域取得成功后,支持各類智能合約的區(qū)塊鏈設(shè)計使得區(qū) 塊鏈技術(shù)在其他領(lǐng)域得到了更廣泛的應(yīng)用。 智能合約是一種使用區(qū)塊鏈來實現(xiàn)各方之間協(xié)議的方法。 通過使用加密算法和其他區(qū)塊鏈安全機制,智能合約允許在沒有第3方的情況下執(zhí)行可信交易。 這些交易是可追蹤的,也是不可逆轉(zhuǎn)的。 因此,智能合約提供了優(yōu)于傳統(tǒng)合約的安全性,并降低了與合同相關(guān)的其他交易成本。
智能合約本質(zhì)上是在區(qū)塊鏈的特定地址上記錄的預(yù)定義指令和數(shù)據(jù)的集合。 合約操作的結(jié)果通過礦工的共識打包進區(qū)塊中,保證了整個網(wǎng)絡(luò)同步更新數(shù)據(jù)。 由智能合約定義的公共函數(shù)或應(yīng)用程序二進制接口(application binary interface, ABI)允許用戶在給定預(yù)定義的業(yè)務(wù)邏輯或合同協(xié)議的情況下與它們進行交互。 智能合約將操作邏輯封裝為字節(jié)碼并對分布礦工執(zhí)行圖靈完整計算,允許用戶將更復(fù)雜的業(yè)務(wù)模型轉(zhuǎn)化為區(qū)塊鏈網(wǎng)絡(luò)上的新類型的交易, 因此可以提供可擴展的解決方案,允許物聯(lián)網(wǎng)設(shè)備在區(qū)塊鏈網(wǎng)絡(luò)上完成更靈活、更細(xì)粒度、更復(fù)雜的業(yè)務(wù)。
文獻(xiàn) 在以太坊基礎(chǔ)上根據(jù)智能合約定義的訪問控制方法,通過檢查對象的行為來實現(xiàn)基于預(yù)定義策略的靜態(tài)/動態(tài)訪問權(quán)限驗證。 訪問控制框架包括了多個訪問控制合約(access control contracts, ACC)、一個裁決合約(judge contract, JC)和一個注冊合約(register contract, RC)。 ACC 為每對主體–客體提供一種訪問控制方法,通過檢測主體的行為來實現(xiàn)基于預(yù)定義策略的靜態(tài)/動態(tài)訪問權(quán)限驗證。 JC 實現(xiàn)了一個非法行為的判斷算法, 通過接收 ACC 的行為報告來輔助 ACC 進行動態(tài)驗證并懲罰非法行為。 RC 注冊登記訪問控制以及非法行為判斷方法的信息,并提供管理這些方法的接口。 該訪問控制系統(tǒng)的實現(xiàn),證明了利用區(qū)塊鏈智能合約實現(xiàn)分布式物聯(lián)網(wǎng)設(shè)備訪問控制的可行性。 文獻(xiàn) 基于以太坊區(qū)塊鏈開發(fā)了一個物聯(lián)網(wǎng)設(shè)備管理系統(tǒng)。 該系統(tǒng)將密碼公鑰存儲在區(qū)塊鏈上,而將私鑰保存在各個設(shè)備上,通過圖靈完備語言編寫的智能合約輕松管理物聯(lián)網(wǎng)設(shè)備的配置并構(gòu)建密鑰管理系統(tǒng)。 智能合約的應(yīng)用使得物聯(lián)網(wǎng)設(shè)備的管理達(dá)到了更細(xì)的粒度。
通過智能合約區(qū)塊鏈能靈活地實現(xiàn)物聯(lián)網(wǎng)應(yīng)用功能,因此智能合約已經(jīng)成為區(qū)塊鏈技術(shù) 在各個領(lǐng)域落地的關(guān)鍵點。 除了訪問控制和設(shè)備管理等,當(dāng)前區(qū)塊鏈物聯(lián)網(wǎng)中供應(yīng)鏈產(chǎn)品溯源、傳感器質(zhì)量控制、分布式智能電網(wǎng)等應(yīng)用都依賴于智能合約來實現(xiàn),可見智能合約在物聯(lián) 網(wǎng)中的應(yīng)用場景仍有待開發(fā)。 與此同時,物聯(lián)網(wǎng)環(huán)境下的智能合約代碼審計和代碼安全等問題也將成為重要的研究方向。
3 區(qū)塊鏈為物聯(lián)網(wǎng)帶來的新挑戰(zhàn)
區(qū)塊鏈技術(shù)與物聯(lián)網(wǎng)的有效結(jié)合,為物聯(lián)網(wǎng)帶來了去中心化信任、安全、不可篡改、可溯源等優(yōu)勢;同時區(qū)塊鏈本身作為一個尚在發(fā)展的新技術(shù),也為物聯(lián)網(wǎng)帶來了新的問題和挑戰(zhàn), 這意味著對區(qū)塊鏈進行進一步設(shè)計的同時對區(qū)塊鏈物聯(lián)網(wǎng)也有了更高的技術(shù)要求。 目前,大部分工作將重點放在隱私安全、節(jié)能高效、通量性能等方面。
3.1隱私安全
如今物聯(lián)網(wǎng)與人們的日常生活息息相關(guān),物聯(lián)網(wǎng)設(shè)備遍布城市各個角落。 各類傳感器以及通信設(shè)備承載的海量數(shù)據(jù)信息也引起了人們對于隱私安全方面的擔(dān)憂,尤其在區(qū)塊鏈系統(tǒng) 中交易數(shù)據(jù)公開透明地存儲在鏈上,雖然地址與用戶真實身份是匿名對應(yīng)的關(guān)系,但仍然帶 來了嚴(yán)重的安全隱患。 在涉及敏感數(shù)據(jù)的應(yīng)用中,如何確保數(shù)據(jù)隱私安全是區(qū)塊鏈物聯(lián)網(wǎng)需要研究的重要問題。
文獻(xiàn) 首次提出了用區(qū)塊鏈來保障物聯(lián)網(wǎng)數(shù)據(jù)隱私安全的方法——FairAccess,利用分布式賬本的一致性來解決物聯(lián)網(wǎng)中集中式和分布式訪問控制的問題,開辟了區(qū)塊鏈新的使用 領(lǐng)域,即物聯(lián)網(wǎng)訪問控制。 文獻(xiàn) 提出了ControlChain,這是一種基于區(qū)塊鏈的訪問控制架構(gòu)。 該架構(gòu)不但可以保護物聯(lián)網(wǎng)的隱私安全,而且可以與物聯(lián)網(wǎng)中的各種訪問控制模型兼容。 文獻(xiàn) 提出了一種區(qū)塊鏈連接網(wǎng)關(guān)的設(shè)計,可以自適應(yīng)地保護用戶隱私安全。 區(qū)塊鏈在用戶和物聯(lián)網(wǎng)設(shè)備之間起著中介的作用,用戶可以獲得連接到區(qū)塊鏈網(wǎng)關(guān)的設(shè)備信息以及隱私 策略。 用戶通過網(wǎng)關(guān)訪問設(shè)備,而不是直接訪問以免數(shù)據(jù)泄露。 此外,區(qū)塊鏈網(wǎng)關(guān)將存儲用戶對于物聯(lián)網(wǎng)設(shè)備的隱私偏好。 由于區(qū)塊鏈數(shù)據(jù)的不可篡改性,存儲的用戶偏好信息可用于解決用戶和物聯(lián)網(wǎng)服務(wù)提供者之間的隱私爭議。 該區(qū)塊鏈網(wǎng)關(guān)的設(shè)計在不改變傳統(tǒng)物聯(lián)網(wǎng)結(jié)構(gòu)的情況下,為提高用戶隱私安全和物聯(lián)網(wǎng)應(yīng)用信任做出了貢獻(xiàn)。 然而,即使在區(qū)塊鏈架構(gòu)下,如果數(shù)據(jù)是通過高級加密標(biāo)準(zhǔn)(advanced encryption standard, AES)等對稱密鑰方案加密的, 那么在礦工驗證出塊的過程中,密鑰與數(shù)據(jù)也會一起共享,這意味著區(qū)塊鏈物聯(lián)網(wǎng)的數(shù)據(jù)隱私性依然是個問題。 文獻(xiàn) 基于屬性加密算法(attribute-based encryption, ABE)提出了一種隱私保護的區(qū)塊鏈物聯(lián)網(wǎng)架構(gòu),將 ABE 加密技術(shù)應(yīng)用于區(qū)塊鏈以重構(gòu)區(qū)塊鏈協(xié)議,為物聯(lián)網(wǎng)生態(tài)系統(tǒng)提供了端到端的隱私保護方案,為解決實際應(yīng)用問題提供了新的思路。 然而,基于加密算法的隱私安全優(yōu)化也會為物聯(lián)網(wǎng)設(shè)備帶來更多的計算開銷,需要根據(jù)實際應(yīng)用場景權(quán)衡利弊。
3.2節(jié)能高效
在分布式 P2P 網(wǎng)絡(luò)中,物聯(lián)網(wǎng)設(shè)備大多是嵌入式終端或傳感器節(jié)點,具有較低的計算能力和存儲能力。 在使用電池供能的無線傳感器網(wǎng)絡(luò)中,能源消耗甚至直接影響到整個網(wǎng)絡(luò)的壽命。 設(shè)備性能的影響極大地限制了區(qū)塊鏈在物聯(lián)網(wǎng)中的應(yīng)用,因此如何保障區(qū)塊鏈的節(jié)能高效是一個必須解決的問題。
文獻(xiàn) 分析了物聯(lián)網(wǎng)設(shè)備應(yīng)用區(qū)塊鏈的 3 個限制條件:一是區(qū)塊鏈挖礦需要大量的計算資源,使物聯(lián)網(wǎng)設(shè)備不適合成為礦工節(jié)點;二是區(qū)塊鏈的任何設(shè)備都需要一套完整的加密功能,這提高了硬件設(shè)備的最低門檻;三是每個完整節(jié)點需要存儲區(qū)塊鏈副本,但一般的物聯(lián)網(wǎng)設(shè)備可能無法提供如此大的存儲容量。 因此,該文提出了基于 Twitter 概念的 Tweetchain, 使用類似推文的結(jié)構(gòu)對交易和狀態(tài)進行編碼,重新制定共識協(xié)議以取代工作量證明,從而大幅降低區(qū)塊鏈的性能開銷。 文獻(xiàn) 認(rèn)為區(qū)塊鏈計算開銷昂貴,可擴展性有限,并且有顯而易見的帶寬開銷和延遲,不適合物聯(lián)網(wǎng)場景,于是提出了一個分層的輕量級可擴展區(qū)塊鏈(lightweight scalable blockchain, LSB)。 LSB 針對物聯(lián)網(wǎng)需求進行優(yōu)化,包括輕量級的共識算法、分布式信任和通量管理算法以及交易路由和數(shù)據(jù)流的分離,大大降低了能源消耗,使得區(qū)塊鏈能夠適用于低性能的物聯(lián)網(wǎng)設(shè)備。
據(jù)當(dāng)前已有的研究來看,共識算法依然是制約物聯(lián)網(wǎng)設(shè)備能耗開銷的最主要的問題。 在一般的物聯(lián)網(wǎng)應(yīng)用場景下,采用輕量級的共識協(xié)議可以有效降低物聯(lián)網(wǎng)設(shè)備計算、通信和存儲 的負(fù)擔(dān),但在類似無線傳感器網(wǎng)絡(luò)等更加嚴(yán)苛的能源受限環(huán)境中,針對區(qū)塊鏈物聯(lián)網(wǎng)的節(jié)能 高效問題仍有待進一步研究。
3.3通量性能
通量和性能的提升是目前區(qū)塊鏈領(lǐng)域的熱點問題。 現(xiàn)有區(qū)塊鏈通量有限,比特幣平均每秒只能處理 7 筆交易,以太坊平均每秒只能處理 15 筆交易。 雖然使用效率更高的共識算法可以在一定程度上提升每秒交易數(shù)量(transactions per second, TPS),但仍難以滿足業(yè)務(wù)需求。在物聯(lián)網(wǎng)的某些場景下,提升區(qū)塊鏈的通量性能也是應(yīng)用區(qū)塊鏈技術(shù)的重要前提。 文獻(xiàn) 提出網(wǎng)絡(luò)吞吐量是物聯(lián)網(wǎng)協(xié)議的一個重要指標(biāo)。 文獻(xiàn) 就適用于物聯(lián)網(wǎng)的區(qū)塊鏈進行了評估, 認(rèn)為基于拜占庭容錯共識的大規(guī)模區(qū)塊鏈在物聯(lián)網(wǎng)應(yīng)用中表現(xiàn)為通量性能存在很大的不足, 并且該不足隨節(jié)點規(guī)模的增長越發(fā)明顯。
當(dāng)前許多區(qū)塊鏈的交易通量并不足以支持物聯(lián)網(wǎng)應(yīng)用,因此出現(xiàn)了許多針對區(qū)塊鏈物聯(lián)網(wǎng)提升交易通量的工作。 文獻(xiàn) 對區(qū)塊鏈的優(yōu)化在一定程度上減少了帶寬要求和處理時間, 提升了網(wǎng)絡(luò)通量。 文獻(xiàn) 實現(xiàn)了一種基于物聯(lián)網(wǎng)霧計算的區(qū)塊鏈云架構(gòu),并通過通量、響應(yīng)時間和網(wǎng)絡(luò)延遲來評估系統(tǒng)。 實驗顯示該架構(gòu)可以有效提升區(qū)塊鏈數(shù)據(jù)通量,但從目前的工作來看,區(qū)塊鏈物聯(lián)網(wǎng)在通量上的改進并不明顯。 通量性能可能還需要在區(qū)塊鏈基礎(chǔ)設(shè)施的大幅優(yōu)化之后才能得到明顯的提升。 目前比特幣、以太坊等團隊也正在著重針對這個問題進行優(yōu)化。
4 結(jié)語
隨著數(shù)字驅(qū)動的互聯(lián)網(wǎng)世界高速發(fā)展,萬物互聯(lián)的概念越來越接近現(xiàn)實。 在物聯(lián)網(wǎng)設(shè)備數(shù)量呈爆炸式增長同時區(qū)塊鏈技術(shù)日益進步的情況下,物聯(lián)網(wǎng)與區(qū)塊鏈技術(shù)的結(jié)合已經(jīng)成為 非常值得關(guān)注的研究問題。 在物聯(lián)網(wǎng)生態(tài)下,區(qū)塊鏈可以提供一個分布式去中心化信任平臺。借助密碼學(xué)、哈希鏈、時間戳、共識算法等技術(shù)解決了物聯(lián)網(wǎng)存在的安全、隱私、信任等舊問 題,賦予了物聯(lián)網(wǎng)數(shù)據(jù)去中心化、可追溯、不可篡等新特性,從而使區(qū)塊鏈物聯(lián)網(wǎng)在智能家 居、智慧城市、可穿戴醫(yī)療設(shè)備、物流保障、傳感器數(shù)據(jù)安全等眾多領(lǐng)域有了廣泛的應(yīng)用前景。
本文針對區(qū)塊鏈技術(shù)在物聯(lián)網(wǎng)場景下的應(yīng)用與優(yōu)化、提升與挑戰(zhàn),綜述了目前的研究成果和熱點問題。 可以看到,區(qū)塊鏈在有效提升物聯(lián)網(wǎng)表現(xiàn)的同時也存在需要研究和解決的問題。 近年來,學(xué)術(shù)界也針對區(qū)塊鏈及其在實際應(yīng)用中的核心問題與關(guān)鍵技術(shù)開展了相關(guān)研究。 但目前區(qū)塊鏈物聯(lián)網(wǎng)仍處于起步階段,并沒有一個完美的解決方案,因此針對物聯(lián)網(wǎng)的區(qū)塊 鏈底層技術(shù),尤其是共識算法的研究十分重要。 可以說在這個研究領(lǐng)域機遇與挑戰(zhàn)并存,仍需對關(guān)鍵技術(shù)進一步深入探索,使區(qū)塊鏈技術(shù)在物聯(lián)網(wǎng)領(lǐng)域可以得到更好的應(yīng)用與發(fā)展.
評論