徐宇坚 罗绮敏
【摘要】 本文分析信息中心网络和分布式账本的技术特点,结合两者的优势,提出了以接入节点作为信息中心网络和分布式账本共同节点构建物联网系统的设计思想,阐述了这种新型物联网架构下数据结构、数据传输的方案,为后续的深入研究提供方向性指引。
【关键词】 物联网 信息中心网络 分布式账本
引言:
当前,数据共享、分布式数据交互、大数据分析等新需求,给以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.