一种基于区块链的物联网架构设计
Posted 宋罗世家技术屋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一种基于区块链的物联网架构设计相关的知识,希望对你有一定的参考价值。
摘要
目前已有一些学者基于区块链技术尝试搭建物联网系统,但基于区块链技术搭建的应用对计算资源要求较高,这些物联网系统往往无法良好地契合实际应用环境。为了降低基于区块链技术的物联网系统的复杂度,更契合实际应用环境的需求,通过分析现有区块链共识机制,提出一种基于区块链技术的物联网系统架构。首先,该架构将物联网网络内的所有终端设备划归至若干个覆盖范围较小的区域网络进行管理,提高了系统的灵活性;其次,使用基于轻量级共识机制搭建的区块链网络在所有区域网络之间实现信息交互,提高了系统的安全性;最后,数据使用者必须通过向区块链网络提出数据申请来获得数据,提升了系统控制数据访问的能力,进一步提高了系统安全性。
关键词
区块链; 物联网; 共识机制
0 引言
当前,传统的物联网(Internet of Things, IoT)架构所使用的服务器/客户端模式(Client-Server model, C/S)已逐渐难以适应当今日益繁杂的物联网生态环境系统,其中心化的网络拓扑结构在安全性方面也面临很大挑战。区块链是一种以安全性著称的分布式网络技术,将区块链应用于物联网领域,能够推动物联网发展、降低物联网应用成本,并改善物联网当前的安全状况[1]。然而,典型的区块链技术也存在工作效率低、耗费计算资源多的缺点,使得区块链技术不能良好地契合物联网的需求[2]。因此,基于在效率和计算资源利用率上作出优化的区块链技术,提出一种更适用于物联网应用环境的系统架构,将有利于推动该领域的发展。
近年来已有许多学者针对区块链技术在物联网领域的应用开展了相关研究。如叶小榕等
基于以太坊区块链的物联网/IoT设备管理论文及源码
本文介绍一个利用以太坊区块链管理物联网IoT设备的身份识别、 验证和声誉的IoT设备管理系统。该系统使用Web界面在以太坊智能合约 中注册物联网设备,并通过密码学签名消息验证Iot设备对平台的 使用权。
1、区块链物联网设备管理系统的基本概念
物联网/IoT设备的标识: 通过默克尔树(Merkle Tree)的利用,无需暴露设备的私有属性即可完成 IoT设备的注册。使用公钥(或其衍生表示)作为IoT设备的标识ID。
物联网/IoT设备的消息签名与验证: 系统中的每个消息都需要由发送端的IoT设备签名,并在接收端的IoT 设备处进行验证。
发送端IoT设备的消息签名生成:
接收端IoT设备的消息签名验证:
物联网/IoT设备的固件指纹: 通过保存IoT设备的固件哈希,可以验证设备所运行的固件是否被非法篡改。
物联网/IoT设备的信誉机制: 基于Web的信任原理,设备可以形成一个信任网络。一个IoT设备从其他 有信誉的设备得到越多的签名,该设备就越可信。
2、区块链物联网设备管理系统的整体说明
系统主要组成部分包括:实体、设备和IoT平台:
系统开发基于以下技术栈:
- Ethereum
- Solidity
- Truffle Framework
- Web3.js
- React
项目主要目录内容说明如下:
- contracts - Solidity智能合约
- frontend - Web前端,基于React开发
- simulations - IoT设备和平台仿真
系统中IoT设备的配置文件示例如下:
| |
3、区块链物联网设备管理系统的主要用户界面
网络状态界面:
实体历史记录界面:
IoT设备ID管理界面:
元数据管理界面:
IoT设备固件信息维护界面:
IoT设备维护确认界面:
配置下载界面:
IoT设备列表界面:
IoT设备ID维护界面:
IoT设备历史数据查看界面:
以上是关于一种基于区块链的物联网架构设计的主要内容,如果未能解决你的问题,请参考以下文章
TII2019-基于区块链的工业物联网不可抵赖网络计算服务方案