徐宇堅 羅綺敏


【摘要】? ? 本文分析信息中心網絡和分布式賬本的技術特點,結合兩者的優勢,提出了以接入節點作為信息中心網絡和分布式賬本共同節點構建物聯網系統的設計思想,闡述了這種新型物聯網架構下數據結構、數據傳輸的方案,為后續的深入研究提供方向性指引。
【關鍵詞】? ? 物聯網? ? 信息中心網絡? ? 分布式賬本
引言:
當前,數據共享、分布式數據交互、大數據分析等新需求,給以IP地址為核心的傳統互聯網架構帶來了巨大的挑戰。而越來越受關注的“萬物互聯”的概念更是加劇了這一趨勢。大量的異構物聯網設備被引入,如果數據都存儲在中心服務器,相關的應用效率得不到保障,能源消耗和安全風險也不可忽視。此外,對于物聯網產生的海量數據,若使用傳統中心式數據收集方式,不同的利益群體之間難免質疑數據的保密級別、完整性和可信度。
以數據為中心的網絡架構更適合物聯網時代的需求,這就是信息中心網絡 (Information Centric Network,ICN) 方面的研究和探索興起的原因。
另一方面,基于分布式賬本技術(Distributed Ledger Technology,DLT)的數據庫,因其去中心化(Decentralized)的特點,可與信息中心網絡相結合,構建出更加適應數據交互、運用新需求的物聯網系統。
相應的,下文分為六個小節。第二和第三節分別介紹信息中心網絡技術和分布式賬本技術的特點,第四節闡述采用這兩個技術的物聯網系統架構。第五和第六節介紹對應的數據結構和數據傳輸。第七節總結全文。
一、信息中心網絡技術
新一代物聯網的應用場景,更集中于消息瀏覽、信息搜索和數據分享,這些需求都是對數據本身的需求。傳統的互聯網通過查詢數據提供者的地址建立連接,傳遞數據,即,通過“尋找地址”實現“尋找數據”。而信息中心網絡以數據作為網絡架構設計核心,從基本設計理念上省去了對查詢目標的轉化,在網絡中根據內容直接對數據進行查詢,獲得回答,從而簡化網絡服務,提高網絡效率[1][2]。
下面以命名數據網絡(Named Data Networking,NDN)為例,闡述信息中心網絡的技術原理和優勢。
命名數據網絡吸收了傳統互聯網的層次結構,同時對網絡層進行了優化。在命名數據網絡中,互聯網協議(Internet Protocol)是網絡層唯一的協議,對IP地址和尋址規則進行定義。
命名數據網絡認為“地址”僅是“數據”的一種類型,在網絡層這個通用層上定義數據本身,并制定相關的基本規則,可以打破傳統互聯網存在的各種技術壁壘,適應新一代物聯網的應用場景。
為此,命名數據網絡在網絡層進行了兩種報文的定義,一種是興趣報文(Interest Packet),亦稱為請求報文;另一種則是數據報文(Data Packet)。對應這兩種報文存在消費者(consumer)和生產者(producer)兩個基本角色。其中的邏輯關系是消費者生成興趣報文,傳遞給生產者,生產者回應以數據報文。報文格式如圖1所示,興趣報文中關鍵的部分是內容名稱,而數據報文除了內容名稱,還承載了對應于內容名稱的數據,以及生產者的數字簽名。
報文的傳遞則依賴于命名數據網絡中執行轉發守護進程(forwarding daemon)的節點,這些節點在本地維護用于存儲數據的內容庫、用于記錄查詢信息的等待興趣表,以及用于路由轉發的轉發信息表。
當轉發守護進程收到一個興趣報文,首先記錄報文進入的接口,使用興趣報文內的內容名稱查詢本地內容庫,如果存在匹配內容,則在本地生成數據報文,并通過記錄下的接口反饋給消費者。若本地內容庫中不存在匹配的內容,則把此興趣報文的內容名稱和報文進入的接口寫入等待興趣表。接著,在以內容名稱為索引的轉發信息表中查詢應該把此興趣報文轉發至哪些接口,并且轉發出去。后續收到此興趣報文的每一個節點進行同樣的流程,直到興趣報文被送達至擁有相關內容的節點,相應的數據報文按反向路徑回傳給消費者。當路徑中的轉發守護進程收到數據報文,首先檢查等待興趣表中對應名稱的記錄,然后將數據報文轉發到記錄中記載的每個接口并刪除這條記錄,最后,將數據報文中的名稱及內容作為一個記錄儲存在內容庫中。
可見,信息中心網絡具有以下的優勢:
1.在數據報文回傳給消費者的路徑上,每個進行了轉發的守護進程,都可以在本地內容庫保存一份數據名稱對應數據內容的記錄。這樣無論此轉發守護進程從哪個接口再次收到有關數據名稱的興趣報文,都可以直接生成數據報文回應請求,從而大大減少因重復請求產生的數據流量。
2.當轉發守護進程獲取了相應的數據報文,即便最初產生數據的生產者下線,或者與其相連的路徑上任何一跳出現暫時無法連通的情況,也不會改變消費者最終得到數據的方式和內容。
3.當多個消費者向網絡請求相同數據的時候,興趣報文會被途徑中的轉發進程整合,并在收到相應數據報文以后回傳給每個需要此數據的接口,即,自然支持了多播(Multicast)功能。
另外,信息中心網絡中的實體對自己發出的消息進行簽名,接收者可以很容易了解到數據的來源,進而驗證其可靠性。
二、分布式賬本技術
對于如何保障物聯網數據的完整性和不可否認性,很自然能想到分布式賬本技術(Distributed Ledger Technology,DLT)。
基于分布式賬本架構,數據庫分布在所謂對等網絡(Peer-to-Peer,P2P)的各個節點上,其中的每一個節點都復制并存儲與賬本完全一致的副本,獨立地進行更新。分布式賬本技術不設置權威管理者,當網絡中某一節點的賬本出現新交易,其他節點都將收到通知,各節點基于共識機制“投票”決定最新副本。最后,所有節點根據達成的共識進行更新。
分布式賬本技術適用于去中心化的分布式系統,這與大多數物聯網應用場景契合。同時,分布式賬本技術利用其獨特的數據結構和共識算法,使互不信任的參與方達成一定共識,共同維護一個獲得每個參與方都承認的“賬本”,這也解決了物聯網實際應用中數據可靠性遭到質疑的問題[3]-[9]
可見,分布式賬本技術可支撐物聯網系統實現安全、協作和經濟的數據存儲應用。
三、系統架構
物聯網常見為樹型架構,其中包括終端、接入節點和后臺服務器。一般來說,終端是各種傳感器,特點為功耗要求高、計算能力低。接入節點則計算能力相對更高,且功耗要求較低。接入節點具備作為分布式賬本系統節點和信息中心網絡數據傳輸存儲節點的條件,當然,也可以同時作為消費者和生產者。
如圖2所示,以接入節點作為信息中心網絡和分布式賬本的共同節點,接入節點之間相互連接,即構成了基于信息中心網絡和分布式賬本架構的物聯網系統。換言之,在這種新型的物聯網架構中,信息中心網絡系統和分布式賬本系統得到了統一。
四、 數據結構
參考用于物聯網的加密貨幣(IOTA)的藤曼結構(tangle structure)來設計數據結構。如圖3所示,每個數據區塊用一個方塊表示,某個數據區塊指向另一數據區塊的鏈接用帶有箭頭的連線表示。新生成的數據區塊與已有的多個數據區塊產生指向性的鏈接,形成如藤曼一樣勾連蔓延的有向無環圖(Directed Acyclic Graph),所有未被其它數據區塊指向的數據區塊處于圖的末尾。每當網絡中的節點生成一個新的數據區塊時,從本地維護的圖中找出兩個以上末尾數據區塊,通過“認證”產生聯系。新的數據區塊的形成過程可以完全在本地完成,避免了物聯網在實時數據傳輸方面的短板。縱使連接暫時中斷導致了網絡分片(network partition),當網絡重新連接,各自“生長”的兩片“藤曼”也能在一段時間后重新“編織”在一起,對數據結構影響不大。
相應的,物聯網系統以數字簽名作為身份證明(Proof of Identity)共識機制的基礎。節點生成新的數據區塊之后添加自己的數字簽名再廣播出去,其它收到這個新數據區塊的節點則對數字簽名的正確性作驗證。
基于上述思路,在每個節點的本地數據備份中可能包含三類的數據區塊:一,新數據區塊(new block),也就是完全未被“認證”過的數據區塊;二,未確認數據區塊(unconfirmed block),即已得到一些數據區塊的“認證”但未尚達到確認門限的數據區塊;三,已確認數據區塊(confirmed block),即已達到確認門限的數據區塊。
數字簽名的驗證對計算能力的要求不高,并且,數據區塊一旦被網絡確認,與之后生成的新數據區塊就沒有直接聯系了,因而可以采取逐步遺忘或者壓縮封存的策略來節省物聯網設備的存儲空間。換言之,物聯網設備的計算能力、存儲能力能夠與上述數據結構相匹配。
五、數據傳輸
在數據傳輸上,為了保證整個網絡都能收到新數據區塊的更新信息,需要考慮數據同步的問題,具體來說需要考慮兩種情形,第一種是新入網的節點如何同步數據,第二種是有節點產生了數據如何廣播。特殊興趣報文發送和接受的流程,可涵蓋上述兩種情況。
在第一種情形下,特殊興趣報文名字中帶有周期數據更新的關鍵詞。例如“/PERIODUPDATE/
興趣報文的接收者將本地存儲的數據副本的散列值與收到的相比較,如果相同,則判定兩個節點的數據同步,過程結束;如果不同,接收者對照本地已知的數據區塊列表,只要收到的列表中存在本地沒有出現過的數據區塊的名字,那么就正式發送普通興趣報文請求此數據區塊,并最終從原發送者那里獲得所有數據區塊。
在第二種情況下,節點在本地生成了新數據區塊后,會向相鄰節點發送名字中帶有區塊數據更新關鍵詞的特殊興趣報文。例如“/BLOCK UPDATE/
六、結束語
本文分析信息中心網絡和分布式賬本的技術特點,結合兩者的優勢,提出了以接入節點作為信息中心網絡和分布式賬本共同節點構建物聯網系統的設計思想,闡述了這種新型物聯網架構下數據結構、數據傳輸的方案。特別值得一提的是,一種統一的數據傳輸方式被提出,用于確保整個信息中心網絡都能收到分布式賬本系統的數據更新。
本文為新一代物聯網研究提供了方向性指引。后續工作可以包括三個方面:一,引入接入節點上游的匯聚節點,考慮更大規模的物聯網架構;二,考慮對應數據傳輸協議的詳細設計;三,考慮更多節點納入時海量數據的高效存儲方案。
參? 考? 文? 獻
[1] A. Afanasyev, J. Burke, T. Refaei, L. Wang, B. Zhang and L. Zhang, “A Brief Introduction to Named Data Networking,” MILCOM 2018 - 2018 IEEE Military Communications Conference (MILCOM), Los Angeles, CA, USA, 2018, pp. 1-6, doi: 10.1109/MILCOM.2018.8599682.
[2] Zhang, Zhiyi & Lu, Edward & Li, Yanbiao & Zhang, Lixia & Yu, Tianyuan & Pesavento, Davide & Shi, Junxiao & Benmohamed, Lotfi. (2018). NDNoT: a framework for named data network of things. 200-201. 10.1145/3267955.3269019.
[3] S. Nakamoto, “Bitcoin: a peer-to-peer electronic cash system,” White paper, 2009. [Online]. Available: https://bitcoin.org/bitcoin.pdf.
[4] A. Dorri, M. Steger, and et al., “Blockchain: a distributed solution to automotive security and privacy,” IEEE Commun. Mag., vol. 55, no. 12, pp. 119-125, Dec. 2017.
[5] J. Kang, R. Yu, and et al., “Enabling localized peer-to-peer electricity trading among plug-in hybrid electric vehicles using consortium blockchains,” IEEE Trans. Ind. Inf., vol. 13, no. 6, pp. 3154-3164, Dec. 2017.
[6] G. Perboli, S. Musso, and M. Rosano, “Blockchain in logistics and supply chain: a Lean approach for designing real-world use cases,” IEEE Access, vol. 6, pp. 62018-62028, Oct. 2018Q.
[7] Gao W, Hatcher W G, Yu W. A survey of blockchain: techniques, applications, and challenges [C]// 2018 27th International Conference on Computer Communication and Networks (ICCCN), 2018: 1-11.
[8] B. Cao, Y. Li, and et al., “When Internet of Things meets blockchain: challenges in distributed consensus,” IEEE Netw. Mag. , vol. 33, no. 6, pp. 133-139, Nov.-Dec. 2019.
[9]A. M. Antonopoulos, “Mastering Bitcoin: unlocking digital cryptocurrencies,” 2nd ed. Sebastopol, CA, USA: OReilly Media, Inc., June 2017. G. BitFury, “Proof of stake versus proof of work,” White paper, Sep. 2015. [Online]. Available: https://bitfury.com/content/downloads/pos-vspow-1.0.2.pdf.