APP下载

区块链技术在智慧家庭中的应用

2022-07-05魏祥张媛媛

计算机与网络 2022年9期
关键词:区块链应用

魏祥 张媛媛

摘要:智慧家庭正逐渐成为引领智慧生活的新时尚,介绍了一种基于区块链和物联网面向消息中间件(MOM)的智慧家庭体系结构的实现,该体系结构具有2个网关,用于内部家电的管理。对物联网MOM、消息队列遥测传输(MQTT)协议和区块链体系结构进行基本概述,讨论区块链技术中以太坊智能合约的概念。提出了区块链技术和物联网设备集成方面的一些问题和挑战,介绍了智慧家庭应用程序实现的案例。

关键词:区块链;智慧家庭;应用

中图分类号:TP393文献标志码:A文章编号:1008-1739(2022)09-60-4

智慧家庭本质上是一种基于物联网技术的异构传感器网络。如今,智慧家庭中配备了许多智能电器,如洗衣机、冰箱、电视、烤箱、恒温器等。为了实现这些设备之间的透明通信,需要使用网关进行协议转换。在需求的响应、先进的计量基础设施、分布式的发电和存储中使用双向通信。

一方面,许多网关的存在使传感器和执行器内部网络中的系统变得复杂。附加协议转换的存在降低了其功能,为了减少其数量,需要选择与计算能力有限的终端设备兼容的协议。MQTT和COAP(受限应用协议)的存在满足了计算资源有限的设备要求,并且非常方便用于构建内部传感器网络。另一方面,与外部世界的系统接口必须与不同的网络提供商及其通信协议兼容。物联网中许多异构设备的存在导致了内部和外部的兼容性和安全性出现问题。区块链技术具有统一的协议集和内置安全性,不仅可以用作任何家庭网络的外部链接,还可以用作存储每项事务中包含的数据的分布式数据库[1]。

1.1物联网

随着传感器网络、无线移动通信、嵌入式系统和云计算的发展,物联网技术已广泛应用于智能城市、智能农业和智慧家庭等领域。物联网有3个基本组成部分:嵌入式设备(由低成本或低功耗设备和高性能网关组成)、可扩展连接(每个嵌入式设备都能连接)、基于云的大规模设备管理(分布式设备的集中管理)。

物联网的基本理念是在周围无处不在的各种事物或物体,如射频识别(RFID)标签、传感器、执行器和移动电话等,通过特殊的寻址方式,能够交互,并与相邻设备合作以实现共同目标。

1.2 MQTT

消息队列遥测传输(MQTT)由订阅者、发布者和代理3个组件组成。发布者将消息输入到特定主题,代理将这些消息发送到订阅的客户端。客户端订阅与其相关的特定主题,并接收发布到这些主题的每条消息。代理通过授权发布者和订阅者来实现安全性。

1.3区块链

区块链的核心是一个点对点的分布式账本,加密安全、只可追加、不可更改,并且只能通过对等方之间的共识或协议进行更新[2]。根据不同的观点,区块链有不同的定义:从业务角度来看,区块链可以定义为一个平台,通过该平台,对等方可以使用交易交换价值,而无需中间可信第三方;从技术角度来看,区块链是运行在互联网之上的分布式点对点网络。

参与区块链网络的每个用户都表示一个区块鏈节点,该节点有一个地址,该地址表示一个唯一标识符。每个节点都可以在同一网络内启动事务,将值传递给其他节点。所有启动的事务都分组到区块中,由网络中称为矿工节点的特殊节点进行验证。矿工节点通过执行一致性算法来验证新创建的区块,所有的有效区块都存储在分布式分类账本中。

分类账本是一个区块链,包含所有的有效交易链上的第一个块(创世块)。每个块通过位于其头部的Merkle树根散列与前一个块链接。作为一个分散的系统,区块链系统不需要可信第三方机构。相反,为了保证数据交易的可靠性和一致性,区块链采用了分散共识机制。每一种共识机制的实质是让矿工节点解决一个难题,证明数据的真实性。在现有的区块链系统中,有4种主要的共识机制:工作证明(PoW)、股权证明(PoS)、实际拜占庭容错(PBFT)和委托股权证明(DPO)。

PoW一致性算法迫使矿工通过基于nonce值、先前块的散列和事务散列达到目标值来创建新块,从而解决计算密集型易验证任务。如果任务由网络中的任何节点解决,则该节点将解决方案广播给其他矿工节点,并且所有其他节点必须相互确认解决方案的正确性。如果区块被验证,其他矿工将把这个新区块附加到自己的分类账本副本中。

PoS共识算法是PoW的一种节能替代方案。该算法根据拥有的代币数量随机选择负责创建新区块的节点。事实上,拥有更多代币的用户对区块链系统的正常运行更感兴趣,这些所有者负责提供包含有效区块的分类账本。

PBFT是由Liskov和Castro提出的一种复制算法,用于解决分布式系统中的拜占庭式故障。在该算法中,副本节点通过一系列称为“视图”的配置来移动。在每一个视图中,包含一个主节点,其他作为备份节点。当主服务器收到客户机请求时,它会启动一个三阶段协议,以原子方式将请求多播到副本。这3个阶段是预准备、准备和提交。即使提出请求排序的主视图出现故障,预准备和准备阶段也会对同一视图中发送的请求进行排序。准备和提交阶段用于确保提交的请求在视图之间完全有序。

1.4以太坊和智能合约

以太坊是一种基于区块链技术的开源软件,重点是提供一个构建分布式区块链应用程序的平台。开发人员可以在以太坊网络中实现、部署和执行智能合约应用程序。智能合约应用程序由以太坊虚拟机执行。以太坊提供2种类型的账户:用户账户和智能合约账户。用户帐户不执行任何代码,此类型的帐户只能通过使用其私钥创建和签署事务来向其他帐户发送消息。智能合约帐户始终执行事务调用的已部署的相应智能合约中定义的任何方法的代码。以太坊智能合约是用Solidity语言编写的,合约的代码被编译成字节码,然后部署到以太坊虚拟机。

2.1物联网面临的挑战

物联网及其中间件面临的挑战涉及动态异构资源发现和组合、可扩展性、可靠性、互操作性、安全性和隐私[3-4]。

资源发现:物联网基础设施的性质使集中式资源注册和发现方法无效。如果物联网应用程序中存在大量服务发现查询,则可能会出现问题。

资源管理:共享资源的物联网应用程序中可能会发生资源冲突。解决冲突需要解决多个并发服务或应用程序之间的资源分配冲突。

可扩展性:大多数现有的物联网中间件都以无线传感器网络(WSN)为中心,其网络级可扩展性也受到WSN的限制。在物联网的超大规模网络中,它们很有可能表现不佳。

可靠性:为了实现物联网中间件的可靠性,中间件的每个组件或服务都需要易于更换。

互操作性:尽管大多数现有中间件都支持网络互操作性,但也有一些中间件缺乏对语义和语法互操作性的支持。本体论缺乏标准,这给物联网带来了巨大挑战。

安全和隐私:尽管物联网中使用的所有技术中的所有安全、隐私和信任问题在物联网环境中都有明确的体现,但它们并不十分完整。

2.2区块链面临的挑战

区块链技术解决了部分已经提到的物联网挑战。在这种情况下,需要了解区块链挑战。

存储容量和可伸缩性:存储容量和可伸缩性已在区块链中得到深入研究。在这项技术中,以比特币为例,链总是高速增长,并且在网络中的节点之间存储副本。虽然只有完整的节点存储完整的链,但存储需求非常重要。随着规模的增长,节点需要越来越多的资源,从而降低了系统的容量规模。

安全性:此挑战要求了解一些最常见的攻击,例如51%攻击或多数攻击,即如果区块链参与者能够控制超过51%的采矿权,则可能发生这种攻击。

匿名性和数据隐私:在公共区块链中,分类账是公开的。然而,区块链网络中的所有交易对所有人都是公开可见的。从隐私角度来看,这是一个很大的问题。

需要考虑与物联网交互有关的另一个方面,即底层物联网基础设施之间的通信[5-6]。在集成区块链时,需要确定将在何处发生交互:在物联网内部、通过区块链或涉及物联网和区块链的混合设计,区块链与物联网集成如图1所示。

物联网-物联网:这种方法在延迟和安全性方面可能是最快的,因为它可以脱机工作。物联网设备必须能够相互通信,通常涉及路由机制。只有一部分物联网数据存储在区块链中,而物联网交互在不使用区块链的情况下发生,如图1(a)所示。这种方法在具有可靠物联网数据的场景中非常有用,因为物联网交互的延迟降低。

物联网-区块链:在这种方法中,所有交互都通过区块链进行,从而实现交互记录的不可变。这种方法确保所有选择的交互都是可追踪的,因为它们的详细信息可以在区块链中查询,而且增加了物联网设备的自主性。打算交易或租赁的物联网应用程序可以利用这种方法提供服务。然而,记录区块链中的所有交互将导致带宽和数据的增加,这是区块链中众所周知的挑战之一,如图1(b)所示。另一方面,与这些交易相关的所有物联网数据也应存储在区块链中。

混合方式:混合设计中只有部分交互和数据发生在区块链中,其余部分在物联网设备之间直接共享。这种方法的挑战之一是选择哪些交互通过区块链,并提供在运行时决定这一点的方法。这种方法的完美协调将是集成这2种技术的最佳方式,因为它利用了区块链的优势和实时物联网交互的优势。如图1(c)所示,在这种方法中,雾计算甚至云计算都可以发挥作用,以补充区块链和物联网的局限性。

实现基于物联网的智能家庭网络,使用并集成物联网和区块链技术,利用“物联网-物联网”方法集成这2种技术,提出了一种智慧家庭体系结构,智能合约执行如图2所示,其中每个智慧家庭通过控制网关管理自己的专用传感器网络,它可以共享来自该内部网络的数据,并通过部署在区块链网络内的智能合约提供对执行机构的访问。用户或网络提供商可以连接到相应的智慧家庭,并与提供的智能合约交换数据。区块链网络内的每个参与者都需要创建用于发送数据的交易。每个事务都使用非对称安全算法进行数字签名和加密。这一优势提供了用户、网络提供商与家庭网络之间的安全连接。另一方面,交易记录保存在分类账簿中,并且共享数据也保存在同一位置可用于进一步分析。

智能合约提供了统一的接口,提高了智慧家庭与网络提供商和用户的互操作性。使用区块链网络,网络提供商不需要在每个家庭安装自己的智能电表,也不需要提供自己的安全基础设施。智慧家庭可以将传感器数据和执行器状态共享到自己的智能合约中。网络提供商可以连接到同一智能合约以提取数据。智能合约还可以用作第三方软件,供消费者通过互联网安全连接到家庭中。

在区块链网络中,发起智能合约交易的参与者为智能合约的执行支付天然气费用。为了减少控制网关调用智能合同的天然气付款数量,可以使用2种方法:在第1种方法中,如果传感器数据发生任何变化,控制网关可以将所有数据的交易发送到区块链网络内的智能合约;在第2种方法中,消费者或网络提供商可以发起请求传感器数据的事务。控制网关从传感器和执行器提取所有数据,并创建一个事务以将这些数据发送到区块链网络。

专用家庭网络基于2种网关体系结构:家庭内部每个设备的网关(设备网关)和单个控制网关,通过与以太坊区块链网络上部署的智能合约交换数据,提供与外部世界的连接。每个设备网关可以包含传感器和执行器,使用MQTT协议与控制网关通信。控制网关充当MQTT代理,并为其传感器和执行器的每个设备网关提供特定主题。在试验实现中,设备网关由无线物联网模块ESP8266通过I2C接口连接TCN75A温度传感器实现。该平台还提供WiFi网络接口,用于连接控制网关,并发送特定主题的温度数据。为了实现控制网关,使用了Olinuxino A20。它具有双核A20处理器,1 GB的RAM和以太网接口,用于连接到Internet。控制网关已安装go ethereum(geth)客户端以连接区块链,并安装MQTT实现以充当MQTT代理。Olinixuno A20平台从特定主题(例如温度主题)提取数据,并通过JSON-RPC将这些数据发送到以太坊Ropsten测试区块链网络内的智能合约。

基于区块链的智慧家庭内部网络的构建,涵盖了各种计算能力有限的设备,降低了通信成本。区块链与MQTT结合降低了控制网关,维护大量协议与内外部的网络通信,以及使用数据库来存储传感器数据,为进一步分析提供条件。使用智能合约提供了统一的接口,也可以用作分布式计算。区块链集成与智能合约功能相结合,有助于房屋与外部通信的安全性和互操作性。

参考文献

[1]殷婷.赋能智能家居新体验:区块链能带来什么?[J].机电信息,2019,(34):16.

[2]蔡晓晴,邓尧,张亮,等.区块链原理及其核心技术[J].计算机学报,2021,44(1):84-131.

[3]黃倩怡,李志洋,谢文涛,等.智能家居中的边缘计算[J].计算机研究与发展,2020,57(9):1800-1809.

[4]王基策,李意莲,贾岩,等.智能家居安全综述[J].计算机研究与发展,2018,55(10):2111-2124.

[5]叶欣宇,李萌,赵铖泽,等.区块链技术应用于物联网:发展与展望[J].高技术通讯,2021,31(1):48-63.

[6]宋鹏程,沈寓实,李昂达.基于区块链技术的可信任设备及其在物联网中的应用[J].中国科技信息,2018,(18):101-103.

猜你喜欢

区块链应用
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
多媒体技术在小学语文教学中的应用研究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析
气体分离提纯应用变压吸附技术的分析