现在的位置:主页 > 综合新闻 >

区块链和物联网也能擦出火花?(2)

来源:物联网技术 【在线投稿】 栏目:综合新闻 时间:2020-07-20 17:24

【作者】:网站采编

【关键词】:

【摘要】整个系统从架构设计上来说,可以分为数据层、网络层、智能合约层、物联网平台层和应用层 5 个层次,如下图所示。下面根据系统总体的架构图来分别描

整个系统从架构设计上来说,可以分为数据层、网络层、智能合约层、物联网平台层和应用层 5 个层次,如下图所示。下面根据系统总体的架构图来分别描述各层的设计。

物联网区块链架构图

(1)最底层的是数据层,主要负责存储区块链数据,包含区块数据和事务交易数据HASH 地址的存储。一些通用的基础模块,如网络通信库、流处理、线程封装、消息封装与解码、系统时间、基础加密算法和数据存储技术等,采用改进的以太坊区块链系统对区块数据的存储进行了优化设计。

(2)第二层是系统的网络层,主要包括共识算法、P2P 网络及验证机制。这层一般包含了区块链的主要逻辑,如共识模块、交易处理模块、嵌入式数据库处理模块等,难点在于点对点网络的实现和并发处理。在本系统中,针对物联网平台下的节点承载能力与应用需求,用基于Tendermint 共识机制的Ethermint 替换了传统以太坊上的工作量证明共识机制。

(3)第三层是智能合约层。系统基于Json Standard RPC 的交互RPC 模块与EVM(以太坊虚拟机)模块,基于EVM 模块运行智能合约交互处理区块链与共识的相关事务,基于JSON-RPC 通过网络从远程计算机程序上请求服务,进行区块节点的一致性处理和网络层事务的交互,从而实现各种交易转账等具体商业活动的完整过程。人们可以通过类似JavaScript 编程语言的Solidity语言,灵活编写,在区块链中严格执行适用于各种应用的智能合约脚本。

(4)第四层是物联网平台层。系统通过基于Json Standard RPC 的交互RPC 模块,通过物联网平台已有的接口,调用物联网数据信息、操控指令和发布智能合约到智能合约层与区块链节点进行交互处理相关的事务,应用层去中心化应用用户通过底层区块链平台能够间接获取交易物联网平台设备的数据和控制权。

(5)最上层的是去中心化应用层。它通过封装以太坊Json RPC API 的Web3.js 接口库与智能合约层、物联网平台层进行数据信息交换。在去中心化应用中,所有的智能合约在经过编译后都以二进制代码的形式运行在区块链系统的EVM 上,并用到了RPC API 的调用。区块链上的智能合约可提供自治的服务,通过在平台中去中心化的应用程序提供物联网设备信息或操作为用户服务。

基于安全的区块链物联网试验案例

现在的物联网管理平台基本有集中式管理和分布式管理两种管理方案。其中集中式系统对物联网物体进行集中化管理,进行统一的分配调度和权限管理。然而随着物联网的迅速发展,接入网络的物体迅速增加,网络结构也变得越来越复杂多样,导致集中式系统的管理和维护压力巨大。更为重要的是集中式系统中存在的单点信任问题,由于集中式系统的统一控制和中央裁决,当主机出现故障或被攻击时,可能会导致整个系统停止工作,甚至出现整个系统的信息泄露,这对于系统安全是一个致命的影响。

研究人员在试验中拟通过两个方面的研究实现分布式平台的搭建。

通过Geth 客户端搭建出私有的区块链网络,该区块链网络负责平台节点的信息通信、对裁决方案进行表决、对平台信息进行账本存储,私有网络上的节点需要提供API 供平台节点进行信息访问和结果反馈。设计分布式平台的架构,设计平台与私有区块链网络的信息交流方式、为设备提供的功能及在Web 端的展现形式。为了实现分布式平台对物联网设备的管理能力,人们在使用平台设备之前需要在平台进行设备注册,只有注册后的设备才能被用于在平台上进行信息交互。为了保证物联网设备之间信息交互的安全可靠,平台设备的合法性必须得到保障。接入认证功能能够在设备注册时对设备进行合法身份的鉴定,认证过程需要通过区块链的智能合约去完成,以保证每个平台分节点都参与到认证之中,以此来解决单点故障问题,保证认证的可信度。认证成功后的设备认证信息也需要存储在平台进行备案,认证信息会被存储到区块链账本中,以保证认证信息不被轻易篡改。

物联网设备需要频繁地对自身的运行信息进行记录,接入平台的设备可以将自己的运行信息上传到平台上。在上传信息之前,平台端会对设备的权限进行验证,判断其是否具有上传信息的权限,权限验证过程也需要通过区块链的智能合约去完成,从而使每个平台分节点都参与到权限验证的过程中,以保证验证的可信度。平台在对设备进行权限验证后,验证通过的设备便可以将运行信息存储到平台上,由其再存储到区块链账本中,以备将来进行信息的统计和历史追溯。设备的上传请求需要受到容忍入侵机制的监督,以防止某些恶意设备进行频繁的错误请求以损耗系统的性能。和前面使用智能合约的原理一样,对容忍入侵模型中的恶性事件的判定也要通过区块链的智能合约去完成,以保证判定的可信度。

文章来源:《物联网技术》 网址: http://www.wlwjszz.cn/zonghexinwen/2020/0720/442.html

上一篇:高考如何选专业之物联网工程专业
下一篇:IoT和IIoT(工业物联网)之间有什么区别?