基于区块链的物联网终端的控制方法和系统转让专利

申请号 : CN202210103688.0

文献号 : CN114117553B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戴聪棋彭洪宝杨耀威

申请人 : 北京豪尔赛智慧城域科技有限公司

摘要 :

本申请公开了一种基于区块链的物联网终端的控制方法和系统。控制方法包括以下步骤:第一区块链节点将用于控制物联网终端的第一控制指令信息写入第一智能合约并广播第一智能合约;接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验;当双重校验通过时,第二区块链节点将所述第一智能合约上链,并向物联网终端发送第一控制指令信息。通过对所述控制指令信息进行哈希值校验和智能合约共识校验,从而可以解决容易被黑客攻击的、设备指令数据不安全的技术问题。

权利要求 :

1.一种基于区块链的物联网终端的控制方法,其特征在于,包括以下步骤:第一区块链节点将用于控制物联网终端的第一控制指令信息写入第一智能合约并广播第一智能合约;

接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验;

当双重校验通过时,第二区块链节点将所述第一智能合约上链,并向物联网终端发送第一控制指令信息;

其中,第一区块链节点通过幂等方式广播第一智能合约,使得接收到第一智能合约的多个节点中,仅一个节点作为第二区块链节点进行双重校验;

其中,接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验,包括:对第一智能合约进行哈希值校验,以验证第一智能合约是否被篡改;

对第一区块链节点进行共识算法校验,以验证第一区块链节点的可信任性。

2.根据权利要求1所述的控制方法,其特征在于,哈希值校验与共识算法校验串行执行,或者哈希值校验与共识算法校验并行执行。

3.根据权利要求1所述的控制方法,其特征在于,在第二区块链节点向物联网终端发送第一控制指令信息后,向作为第一控制指令信息来源的物联网服务器返回用于表明指令安全下发成功的令牌。

4.根据权利要求1所述的控制方法,其特征在于,对第一区块链节点进行共识算法校验,以验证第一区块链节点的可信任性,具体包括:使用工作量证明PoW、权益证明PoS、授权工作证明DPoS、拜占庭容错算法中的至少一种,验证第一区块链节点的可信任性。

5.根据权利要求1所述的控制方法,其特征在于,当双重校验通过时,第二区块链节点将所述第一智能合约上链,具体包括:获取将第一智能合约作为交易内容的第一区块和第一区块的第一哈希值;

将用于控制物联网终端的第二控制指令信息写入第二智能合约;

根据第一哈希值、第二智能合约,生成将第二智能合约作为交易内容的第二区块和将第二智能合约作为交易内容的区块的第二哈希值;

广播第二区块和第二哈希值。

6.根据权利要求5所述的控制方法,其特征在于,第一区块中还包括:针对第一控制指令信息的随机校验数;或者发出第一控制指令信息的用户身份信息。

7.根据权利要求1所述的控制方法,其特征在于,所述控制方法在第一区块链节点将第一控制指令信息写入第一智能合约的步骤之前,还包括:对第一控制指令信息进行哈希值校验,以验证第一控制指令信息是否被篡改。

8.一种基于区块链的物联网终端的控制系统,其特征在于,包括:第一区块链节点,包括第一处理器及存储有指令的第一存储器,所述第一处理器配置为执行第一存储器存储的指令以实现:将用于控制物联网终端的第一控制指令信息写入第一智能合约并广播第一智能合约;

第二区块链节点,包括第二处理器及存储有指令的第二存储器,所述第二处理器配置为执行第二存储器存储的指令以实现:接收第一智能合约并进行针对第一智能合约和第一区块链节点的双重校验;

当双重校验通过时,将所述第一智能合约上链,并向物联网终端发送第一控制指令信息;

其中,第一区块链节点通过幂等方式广播第一智能合约,使得接收到第一智能合约的多个节点中,仅一个节点作为第二区块链节点进行双重校验;

其中,接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验,包括:对第一智能合约进行哈希值校验,以验证第一智能合约是否被篡改;

对第一区块链节点进行共识算法校验,以验证第一区块链节点的可信任性。

说明书 :

基于区块链的物联网终端的控制方法和系统

技术领域

[0001] 本申请涉及物联网技术领域,尤其涉及一种基于区块链的物联网终端的控制方法和系统。

背景技术

[0002] 现有物联网系统及大部分软件系统中的安全认证权限控制都是基于Abac方式实现。单一使用Abac方式实现权限安全控制容易引发安全问题。Ddos攻击、暴力破解数据库等
对物联网系统造成很大影响。
[0003] 根据Gartner 的预测,物联网设备数量将在2020年超过200亿,对工业和制造业的经济影响将达到万亿美元。但物联网设备数量的急剧增加给物联网系统带来了新的安全风
险和挑战。例如,2018年,比利时KU Leuven大学的研究者发现,通过截取特斯拉汽车的遥控
钥匙的信号,就能够获取密钥打开汽车。又例如,2018年,美国自动售货机供应商 Avanti 
被黑客盗取用户信用卡和生物特征识别等个人信息。
[0004] 通常,人们将物联网分作三层架构。三层架构的每一层面临着不同的安全问题:(1)感知层安全:感知层的物联网设备的资源相对比较有限,无法实现复杂的安全方案,容
易受到欺骗攻击、假冒攻击、复制攻击等安全威胁。(2)传输层安全:传输层容易受到 DDos 
攻击、异步攻击、信息篡改等安全威胁。(3)应用层安全:通常,物联网的应用层采用集中化
的云平台方案。虽然云平台方案能够带来算力的优势,可以提供各种标准的接口供物联网
设备使用,但同时也带来了单点故障和资源浪费等问题。
[0005] 因此,需要提供一种可以解决容易被黑客攻击的、设备指令数据不安全的技术问题的技术方案。

发明内容

[0006] 本申请实施例提供一种适用于物联网的安全度较高的技术方案,用以解决容易被黑客攻击的、设备指令数据不安全的技术问题。
[0007] 本申请提供的一种基于区块链的物联网终端的控制方法,包括以下步骤:
[0008] 第一区块链节点将用于控制物联网终端的第一控制指令信息写入第一智能合约并广播第一智能合约;
[0009] 接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验;
[0010] 当双重校验通过时,第二区块链节点将所述第一智能合约上链,并向物联网终端发送第一控制指令信息。
[0011] 进一步的,接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验,包括:
[0012] 对第一智能合约进行哈希值校验,以验证第一智能合约是否被篡改;
[0013] 对第一区块链节点进行共识算法校验,以验证第一区块链节点的可信任性。
[0014] 进一步的,哈希值校验与共识算法校验串行执行,或者哈希值校验与共识算法校验并行执行。
[0015] 进一步的,在第二区块链节点向物联网终端发送第一控制指令信息后,向作为第一控制指令信息来源的物联网服务器返回用于表明指令安全下发成功的令牌。
[0016] 进一步的,对第一区块链节点进行共识算法校验,以验证第一区块链节点的可信任性,具体包括:
[0017] 使用工作量证明PoW、权益证明PoS、授权工作证明DPoS、拜占庭容错算法中的至少一种,验证第一区块链节点的可信任性。
[0018] 进一步的,当双重校验通过时,第二区块链节点将所述第一智能合约上链,具体包括:
[0019] 获取将第一智能合约作为交易内容的第一区块和第一区块的第一哈希值;
[0020] 将用于控制物联网终端的第二控制指令信息写入第二智能合约;
[0021] 根据第一哈希值、第二智能合约,生成将第二智能合约作为交易内容的第二区块和将第二智能合约作为交易内容的区块的第二哈希值;
[0022] 广播第二区块和第二哈希值。
[0023] 进一步的,第一区块中还包括:
[0024] 针对第一控制指令信息的随机校验数;或者
[0025] 发出第一控制指令信息的用户身份信息。
[0026] 进一步的,所述控制方法在第一区块链节点将第一控制指令信息写入第一智能合约的步骤之前,还包括:
[0027] 对第一控制指令信息进行哈希值校验,以验证第一控制指令信息是否被篡改。
[0028] 进一步的,第一区块链节点通过幂等方式广播第一智能合约,使得接收到第一智能合约的多个节点中,仅一个节点作为第二区块链节点进行双重校验。
[0029] 本申请还提供一种基于区块链的物联网终端的控制系统,包括:
[0030] 第一区块链节点,包括第一处理器及存储有指令的第一存储器,所述第一处理器配置为执行第一存储器存储的指令以实现:
[0031] 将用于控制物联网终端的第一控制指令信息写入第一智能合约并广播第一智能合约;
[0032] 第二区块链节点,包括第二处理器及存储有指令的第二存储器,所述第二处理器配置为执行第二存储器存储的指令以实现:
[0033] 接收第一智能合约并进行针对第一智能合约和第一区块链节点的双重校验;
[0034] 当双重校验通过时,将所述第一智能合约上链,并向物联网终端发送第一控制指令信息。
[0035] 本申请提供的实施例至少具有以下有益效果:
[0036] 通过对所述控制指令信息进行哈希值校验和智能合约共识校验,从而可以解决容易被黑客攻击的、设备指令数据不安全的技术问题。

附图说明

[0037] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0038] 图1为本申请实施例提供的基于区块链的物联网终端的控制方法的流程示意图。
[0039] 图2为本申请实施例提供的物联网终端的控制方法的实施过程中对指令信息进行哈希值验证的示意图。
[0040] 图3为本申请实施例提供的物联网终端的控制方法的实施过程中对指令信息进行共识算法验证的示意图。
[0041] 图4为本申请实施例提供的基于区块链的物联网终端的控制系统的结构示意图。
[0042] 图5为本申请实施例提供的物联网终端的控制方法的实施过程示意图。
[0043] 图6为本申请实施例提供的指令信息在认证过程中的流程示意图。

具体实施方式

[0044] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一
部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0045] 为叙述方便,如无特别指明,本申请中涉及之术语按照下述说明内容加以理解。区块链是借由密码学串接并保护内容的串连文字记录。串连的文字记录又称区块。每一个区
块包含了前一个区块加密哈希、时间戳和交易数据。时间戳证明交易数据在区块发布时存
在。区块保存成批的有效交易数据。这些交易数据被散列并编码到哈希树(亦称墨克树,
Merkle tree)中。哈希树在密码学及计算机科学中是一种树形数据结构。每个叶节点均以
数据块的哈希作为标签,而除了叶节点以外的节点则以其子节点标签的加密哈希作为标
签。每个区块都包含区块链中前一个区块的加密哈希,从而将区块链接形成区块链。在本申
请中,交易数据部分体现为针对物联网设备的控制指令信息。
[0046] 物联网是一种计算设备、机械、数字机器相互连接的系统。物联网中的每一个单元诸如计算设备、机械、数字机器,具备通用唯一识别码(UID)并具有通过网络传输数据的能
力。
[0047] 物联网终端是物联网单元的具体实现形态。物联网终端通常体现一种具体的计算设备、具有一定数据处理功能的机械或数字机器。具体的例如,具有智能芯片的灯具、具有
智能芯片的空调、具有自动驾驶功能的汽车和智能工厂的加工机床等。在下面的说明书中,
如无特别指出,物联网终端、物联网设备(本文中或简称为“设备”)可以认为是同义语。在不
同语境中,仅为了叙述的方便以及与日常生活中表达习惯的一致,而使用了不同的措辞。
[0048] 请参照图1,图1所示为本申请实施例的一种基于区块链的物联网终端的控制方法的流程图。基于区块链的物联网终端的控制方法包括以下步骤:
[0049] S100:第一区块链节点将用于控制物联网终端的第一控制指令信息写入第一智能合约并广播第一智能合约。
[0050] 第一区块链节点在这里是指提供区块链服务的本地终端、也可以是物联网服务器。在一个实施例中,第一区块链节点是提供区块链服务的终端,其处理的第一控制指令信
息接收自物联网服务器,即,在该实施例中,该控制方法还可以包括步骤:物联网服务器将
用于控制物联网终端的第一控制指令信息发送至第一区块链节点。本地终端可以是若干计
算机中的某一台计算机。在本申请提供的实施例中,该台计算机作为区块链中的一个节点,
接收到了第一控制指令信息。
[0051] 控制指令可以理解为用户发出的期望物联网终端变更或调整为某种状态的指令。控制指令通常表现为指向具备通用唯一识别码(UID)的某物联网终端执行某动作指令。例
如,指向具备通用唯一识别码(UID)的智能灯具发光或熄灭。
[0052] 用户可以通过物联网应用程序发出针对物联网设备的控制指令。例如,用户通过在移动终端上运行的物联网应用程序,在物联网应用程序提供的用户界面上进行按钮的触
发等操作。用户的触发按钮行为,被物联网应用程序及物联网应用程序定义的计算机可执
行代码化序列与行为方式之间的对应关系,视为用户下达了期望物联网终端执行某动作达
到某种状态的指令。
[0053] 物联网应用程序可以理解为物联网提供给用户的接口。在一种典型的实现形态中物联网应用程序可以理解为在移动终端加载运行的APP。在另一种典型的实现形态中,物联
网应用程序可以理解为物联网提供给用户访问的网页。用户可以在物联网应用程序中进行
注册,并根据权限对物联网的个人用户界面进行管理。容易理解的是,用户可以通过个人身
份识别号码及对应的密码来对物联网进行管理。这里的管理可以理解为用户账号的注册和
注销管理、密码的设置和变更管理、物联网设备的加入和删除的管理、物联网终端的操作的
管理等。进而,物联网服务器可以接收控制指令,对控制指令进行解析后,生成用于控制物
联网终端执行相应操作的第一控制指令信息。在一个实施例中,物联网服务器直接生成控
制物联网终端的第一控制指令信息。
[0054] 智能合约是可以运行在区块链中的一段代码。智能合约可以部署在计算机中。智能合约在执行过程中可以提供各种服务,例如,可以用于监控网络中宽带资源的消耗、授权
设备接入、消息收发等服务。在本申请提供的实施例中,智能合约主要用于物联网设备或物
联网终端的控制。当然,智能合约处满足物联网设备或物联网终端控制的基础功能外,还可
以具有其他优化或定制功能。智能合约可以提供调用接口。智能合约的执行主体可以通过
调用智能合约的调用接口,实现智能合约的编辑。例如,这里的控制指令信息的写入。写入
智能合约的控制指令信息,可以是智能合约的组成部分。作为智能合约的组成部分,控制指
令信息可以是明文,也可以是密文。
[0055] 在一个实施例中,控制系统还包括物联网服务器(未图示)。物联网服务器可以接收用户在物联网应用程序中发出的、针对物联网终端的控制请求,将对应该控制请求的第
一控制指令信息加密,形成加密后的第一控制指令信息,并将加密后的第一控制指令信息
发送至第一区块链节点。第一区块链节点将第一控制指令信息写入第一智能合约;第一区
块链节点广播第一智能合约。
[0056] 在一个实施例中,物联网服务器将第一控制指令信息加密,形成加密后的第一控制指令信息,这里的加密可以使用各种加密算法。加密后的第一控制指令信息,只要在被执
行前可以被解密出来都是可以的。本申请不进行实质性限制与要求。在一个实施例中,在第
一区块链节点接收到加密后的第一控制指令信息后,随即进行解密,从而恢复出第一控制
指令信息。
[0057] 第一区块链节点广播第一智能合约,这里的第一智能合约是出于清楚地阐释基于区块链的物联网终端的控制方法的执行过程的需要,若干智能合约中特指的某一则智能合
约。在这里显然是特指写有第一控制指令信息的第一智能合约。
[0058] 进一步的,在本申请提供的一个实施例中,所述控制方法在第一区块链节点将第一控制指令信息写入第一智能合约的步骤之前,还包括:
[0059] 对第一控制指令信息进行哈希值校验,以验证第一控制指令信息是否被篡改。
[0060] 对第一控制指令信息进行哈希值校验,可以防止第一控制指令信息被篡改。当记载有控制指令信息的文件有修改,则修改后的文件会形成新的哈希值。从而,对控制指令信
息进行哈希值校验,可以防止控制指令信息被篡改。
[0061] 以上的基于区块链的物联网终端的控制方法中,区块链服务与物联网服务是相互独立的。提供区块链服务的第一区块链节点兼作为设备合约准入节点,提供将第一控制指
令信息写入第一智能合约的服务。
[0062] S200:接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验。
[0063] 进一步的,在本申请提供的一个实施例中,第一区块链节点通过幂等方式广播第一智能合约,使得接收到第一智能合约的多个节点中,仅一个节点作为第二区块链节点进
行双重校验。
[0064] 具体的,通过幂等计算后广播第一智能合约,是接收到第一智能合约的多个节点中,仅一个节点作为第二区块链节点进行双重校验。也即,第二区块链节点可以通过相关的
消息处理服务确定多个节点中的一个节点执行校验。
[0065] 进一步的,在本申请提供的一个实施例中,接收到第一智能合约的第二区块链节点进行针对第一智能合约和第一区块链节点的双重校验,包括:对第一智能合约进行哈希
值校验,以验证第一智能合约是否被篡改;对第一区块链节点进行共识算法校验,以验证第
一区块链节点的可信任性。
[0066] 具体的,如同第一区块链节点,第二区块链节点也是支持区块链技术、提供区块链服务的计算机中某一台特定的计算机。这里可以理解为第一区块链节点广播的第一智能合
约的接收方。通过哈希值校验,可以识别文件是否被篡改。可以理解的是,一份文件具有唯
一的哈希值。只要文件内容有更改,表征文件唯一性的哈希值会发生变化。因此,通过哈希
值校验可以识别第一智能合约的真伪,也就是验证第一智能合约是否被篡改。同时,除了通
过区块链节点共同遵守的协议来对第一区块链节点进行校验,也可通过共识算法校验,以
验证第一区块链节点的可信任性。如图2所示为本申请实施例提供的物联网终端的控制方
法的实施过程中对指令信息进行哈希值验证的示意图,包括:S021:将指令信息写入智能合
约。S022:校验指令信息的hash值。S023:验证通过后,发送区块处理节点进行处理。S024:处
理完毕后,结束操作。如图3所示为本申请实施例提供的物联网终端的控制方法的实施过程
中对指令信息进行共识算法验证的示意图,包括:S017:指令信息进入区块链模块。S018:对
指令信息进行共识算法验证。S019:验证通过后,将指令信息打包发布。S020:打包发布的数
据上链处理。
[0067] 进一步的,在本申请提供的一个实施例中,哈希值校验与共识算法校验串行执行,或者哈希值校验与共识算法校验并行执行。
[0068] 应当指出的是,对第一智能合约进行哈希值校验以验证第一智能合约是否被篡改,以及对第一区块链节点进行共识算法校验以验证第一区块链节点的可信任性两校验方
法中,可以是串行执行,也可以是哈希值校验与共识算法校验并行执行。
[0069] 还应当指出的是,由于哈希值校验消耗的计算力小,从而可以避免计算力的消耗。也就是说,当第一智能合约进行哈希值校验不通过时,则不再进行后续流程,而直接返回初
始状态。
[0070] 进一步的,在本申请提供的一个实施例中,对第一区块链节点进行共识算法校验,以验证第一区块链节点的可信任性,具体包括:使用工作量证明PoW、权益证明PoS、授权工
作证明DPoS、拜占庭容错算法中的至少一种,验证第一区块链节点的可信任性。
[0071] 工作量证明(Proof‑of‑Work,PoW)是一种对应服务与资源滥用、或是拒绝服务攻击的机制。工作量证明最常用的技术原理是哈希函数。由于输入哈希函数的任意值自变量
n,会对应到一个哈希函数h(n)结果,而自变量n只要变动一个比特,就会引起雪崩效应,所
以几乎无法从h(n)反推回自变量n,因此借由指定查找h(n)的特征,让用户进行大量的穷举
运算,就可以达成工作量证明。在该种实施方式中,第一区块链节点提供工作量证明,证明
第一区块链节点并非恶意攻击方。第一区块链节点的可信,可以间接证明第一智能合约中
所载第一控制指令信息的安全性。
[0072] 权益证明(Proof of Stake,POS)也称股权证明。权益证明模式根据权益方持有资源的量和时间,分配相应的派生资源。资源通常可以理解为相应的代币。派生资源可以理解
为持有代币相应的利息。权益方完成一次验证,例如签名一个区块,则权益方的资源量会被
相应扣除,并且必须等待规则设定的时间才能进行下一次验证。在该种实施方式中, 第一
区块链节点消耗一定资源,从而证明第一区块链节点并非恶意攻击方。第一区块链节点的
可信,可以间接证明第一智能合约中所载第一控制指令信息的安全性。
[0073] 授权工作证明(Delegated Proof‑of‑Stake,DPoS),又叫做股份授权证明机制或受托人机制。智能合约节点选择若干个代表节点进行区块生成。如果代表节点被轮到时没
能生成区块,该代表节点会被移除。在该种实施方式中, 第一区块链节点被选择为代表节
点。第一区块链节点作为受托人,从而可以证明第一区块链节点并非恶意攻击方。第一区块
链节点的可信,可以间接证明第一智能合约中所载第一控制指令信息的安全性。
[0074] 拜占庭容错算法的特征:服务器之间传递的信息,第三方可以知晓,但是不能篡改、伪造信息的内容和验证信息的完整性。在该种实施方式中,第一区块链节点通过拜占庭
容错算法验证为拜占庭节点时,可以证明第一区块链节点并非恶意攻击方。第一区块链节
点的可信,可以间接证明第一智能合约中所载第一控制指令信息的安全性。
[0075] 综上,这里对第一区块链节点进行共识算法校验,就是为了证明第一区块链节点并非恶意攻击方。第一区块链节点的可信,可以间接证明第一智能合约中所载第一控制指
令信息的安全性。
[0076] S300:当双重校验通过时,第二区块链节点将所述第一智能合约上链,并向物联网终端发送第一控制指令信息。
[0077] 可以理解的是,这里将第一智能合约上链,是指记载有第一控制指令的第一智能合约在区块链内广播发布并被广泛接受,也就是通常所说的记账。
[0078] 进一步的,在本申请提供的一个实施例中,当双重校验通过时,第二区块链节点将所述第一智能合约上链,具体包括:获取将第一智能合约作为交易内容的第一区块和第一
区块的第一哈希值;将用于控制物联网终端的第二控制指令信息写入第二智能合约;根据
第一哈希值、第二智能合约,生成将第二智能合约作为交易内容的第二区块和将第二智能
合约作为交易内容的区块的第二哈希值;广播第二区块和第二哈希值。
[0079] 其中,第二控制指令信息为用户在第二时间、在物联网应用程序中、针对物联网终端发出。可以理解的是,区块链是借由密码学串接并保护内容的串连文字记录。这里的串连
文字记录,在本申请的具体实现形态中可以理解为记载有第一控制指令信息的第一智能合
约。记载有第一控制指令信息的第一智能合约和第一智能合约形成的时间戳,可以作为串
连文字记录的内容即通常所说的区块。该串连文字记录对应唯一的哈希值。当第一区块链
节点将以第一智能合约为内容的区块和区块对应的哈希值向外广播时,第二区块链节点可
以获取以第一智能合约为内容的区块和区块对应的哈希值。
[0080] 以第一智能合约、第一智能合约形成时间戳为内容的区块和区块对应的哈希值,可以视为当前区块和与当前区块对应的哈希值。当前区块和与当前区块对应的哈希值,可
以作为下一区块内容的一部分。下一区块的内容,除当前区块和与当前区块对应的哈希值
之外,还包括第二智能合约和第二智能合约形成 的时间戳。当然,第二智能合约记载有第
二控制指令信息。第二控制指令信息为用户在第二时间、在物联网应用程序中、针对物联网
终端发出。这里的第二控制指令信息的形成发生在第一控制指令信息的时序之后。第二控
制指令信息可以是同一用户在发出第一控制指令信息之后,发出的另一条控制指令信息,
也可以是另一用户在第一控制指令信息的时序之后,发出的另一条控制指令信息。
[0081] 下一区块至少包括当前区块、与当前区块对应的哈希值、记载有第二控制指令信息的第二智能合约、第二智能合约形成的时间戳。下一区块的哈希值与前述下一区块的内
容唯一对应。
[0082] 当第一智能合约未被篡改、第一区块链节点可信时,第二区块链节点将下一区块和与下一区块对应的哈希值进行广播。当前区块、当前区块对应的哈希值、作为当前区域内
容的一部分的第一智能合约、由第一智能合约所记载的第一控制指令,随着时间的经过,成
为区块链中不可更改的一部分得以在区块链中继续传递,也就是说,完成了第一智能合约
的上链或者说完成了第一控制指令的上链。换言之,也就是通常所说的记账。
[0083] 进一步的,在本申请提供的一个实施例中,第一区块中还包括:针对第一控制指令信息的随机校验数;或者发出第一控制指令信息的用户身份信息。
[0084] 应当理解的是,第一控制指令写入第一智能合约的、作为智能合约准入节点的第一区块链节点,在生成区块存储的哈希值之前,可以通过随机校验数对其验证。通过该方式
实现提高第一区块链节点的安全性。在另一种具体实现形态中,这里的随机校验数可以理
解为一种调整工作量证明的方式,以便第二区块链节点的后续节点验证第二区块链节点属
于非恶意攻击方。也就是说,这里将当前区块、与当前区块对应的哈希值、记载有第二控制
指令信息的第二智能合约、第二智能合约形成的时间戳、随机校验数五个维度信息,作为生
成下一区块和与下一区块的对应的哈希值的输入信息。
[0085] 发出第一控制指令信息的用户身份信息。这里将当前区块、与当前区块对应的哈希值、记载有第二控制指令信息的第二智能合约、第二智能合约形成的时间戳和发出第一
控制指令信息的用户身份信息作为五个维度信息,作为生成下一区块和与下一区块的对应
的哈希值的输入信息。这样可以反映该用户的行为模式。例如,该用户从未进行过恶意攻
击,即诚信用户。从而便于根据用户的行为模式,对用户进行区分,实现基于用户分类的产
品的多样化。
[0086] 进一步的,在本申请提供的一个实施例中,在第二区块链节点向物联网终端发送第一控制指令信息后,向作为第一控制指令信息来源的物联网服务器返回用于表明指令安
全下发成功的令牌。
[0087] 第二区块链节点将验证通过的第一控制指令信息,返回给物联网应用程序或物联网服务器。由物联网服务器或物联网应用程序,将第一控制指令信息发送给第一控制指令
信息指向的物联网设备或物联网终端。这里,第二区块链节点处理完毕时,可以发出用于表
明第一控制指令信息安全下发成功的令牌。显而易见的是,这里的第一控制指令信息的传
递或传输是通过记载有第一控制指令信息的第一智能合约的传递或传输来间接实现的。当
然,如果第一控制指令信息已经过加密处理时,还需要在第二区块链节点、物联网服务器或
物联网设备上部署有对应的解密算法程序。
[0088] 在本申请提供的具体实施方式中,由于既对第一智能合约进行哈希值校验,以验证第一智能合约是否被篡改,又对第一区块链节点进行共识算法校验,以验证第一区块链
节点的可信任性,从而可以解决容易被黑客攻击的、设备指令数据不安全的技术问题。
[0089] 请参照图4,本申请还提供一种基于区块链的物联网终端的控制系统100,其特征在于,包括:
[0090] 第一区块链节点110,包括第一处理器111及存储有指令的第一存储器112,所述第一处理器111配置为执行第一存储器112存储的指令以实现:将用于控制物联网终端的第一
控制指令信息写入第一智能合约并广播第一智能合约;第二区块链节点120,包括第二处理
器121及存储有指令的第二存储器122,所述第二处理器121配置为执行第二存储器122存储
的指令以实现:接收第一智能合约并进行针对第一智能合约和第一区块链节点110的双重
校验;当双重校验通过时,将所述第一智能合约上链,并向物联网终端发送第一控制指令信
息。
[0091] 在一个实施例中,控制系统还包括物联网服务器(未图示)。物联网服务器可以接收用户在物联网应用程序中发出的、针对物联网终端的控制请求,将对应该控制请求的第
一控制指令信息加密,形成加密后的第一控制指令信息,并将加密后的第一控制指令信息
发送至第一区块链节点110。第一区块链节点110将第一控制指令信息写入第一智能合约;
第一区块链节点110广播第一智能合约。
[0092] 在一个实施例中,物联网服务器将第一控制指令信息加密,形成加密后的第一控制指令信息,这里的加密可以使用各种加密算法。加密后的第一控制指令信息,只要在被执
行前可以被解密出来都是可以的。本申请不进行实质性限制与要求。在第一区块链节点110
接收到加密后的第一控制指令信息后,随即进行解密,从而恢复出第一控制指令信息。
[0093] 第一区块链节点110广播第一智能合约,这里的第一智能合约是出于清楚地阐释基于区块链的物联网终端的控制方法的执行过程的需要,若干智能合约中特指的某一则智
能合约。在这里显然是特指写有第一控制指令信息的第一智能合约。
[0094] 在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和存储器。第一处理器111及存储有指令的第一存储器112和第一处理器111及存
储有指令的第一存储器112,均是指与计算机设备相同或类似功能的设备。
[0095] 进一步的,在本申请提供的一个实施例中,所述控制方法在第一区块链节点110将第一控制指令信息写入第一智能合约的步骤之前,还包括:
[0096] 对第一控制指令信息进行哈希值校验,以验证第一控制指令信息是否被篡改。
[0097] 对第一控制指令信息进行哈希值校验,可以防止第一控制指令信息被篡改。当记载有控制指令信息的文件有修改,则修改后的文件会形成新的哈希值。从而,对控制指令信
息进行哈希值校验,可以防止控制指令信息被篡改。
[0098] 以上的基于区块链的物联网终端的控制方法中,区块链服务与物联网服务是相互独立的。提供区块链服务的第一区块链节点110兼作为设备合约准入节点,提供将第一控制
指令信息写入第一智能合约的服务。
[0099] 接收到第一智能合约的第二区块链节点120进行针对第一智能合约和第一区块链节点110的双重校验。
[0100] 进一步的,在本申请提供的一个实施例中,第一区块链节点110通过幂等方式广播第一智能合约,使得接收到第一智能合约的多个节点中,仅一个节点作为第二区块链节点
120进行双重校验。
[0101] 具体的,通过幂等计算后广播第一智能合约,使得接收到第一智能合约的多个节点中,仅一个点作为第二区块链节点120进行双重校验。也即,第二区块链节点120可以通过
相关的消息处理服务确定自身需要执行校验。
[0102] 进一步的,在本申请提供的一个实施例中,接收到第一智能合约的第二区块链节点120进行针对第一智能合约和第一区块链节点110的双重校验,包括:对第一智能合约进
行哈希值校验,以验证第一智能合约是否被篡改;对第一区块链节点110进行共识算法校
验,以验证第一区块链节点110的可信任性。
[0103] 具体的,如同第一区块链节点110,第二区块链节点120也是支持区块链技术、提供区块链服务的计算机中某一台特定的计算机。这里可以理解为第一区块链节点110广播的
第一智能合约的接收方。通过哈希值校验,可以识别文件是否被篡改。可以理解的是,一份
文件具有唯一的哈希值。只要文件内容有更改,表征文件唯一性的哈希值会发生变化。因
此,通过哈希值校验可以识别第一智能合约的真伪,也就是验证第一智能合约是否被篡改。
同时,除了通过区块链节点共同遵守的协议来对第一区块链节点110进行校验,也可通过共
识算法校验,以验证第一区块链节点110的可信任性。如图2所示为本申请实施例提供的物
联网终端的控制方法的实施过程中对指令信息进行哈希值验证的示意图,包括:S021:将指
令信息写入智能合约。S022:校验指令信息的hash值。S023:验证通过后,发送区块处理节点
进行处理。S024:处理完毕后,结束操作。如图3所示为本申请实施例提供的物联网终端的控
制方法的实施过程中对指令信息进行共识算法验证的示意图,包括:S017:指令信息进入区
块链模块。S018:对指令信息进行共识算法验证。S019:验证通过后,将指令信息打包发布。
S020:打包发布的数据上链处理。
[0104] 进一步的,在本申请提供的一个实施例中,哈希值校验与共识算法校验串行执行,或者哈希值校验与共识算法校验并行执行。
[0105] 应当指出的是,对第一智能合约进行哈希值校验以验证第一智能合约是否被篡改,以及对第一区块链节点110进行共识算法校验以验证第一区块链节点110的可信任性两
校验方法中,可以是串行执行,也可以是哈希值校验与共识算法校验并行执行。
[0106] 还应当指出的是,由于哈希值校验消耗的计算力小,从而可以避免计算力的消耗。也就是说,当第一智能合约进行哈希值校验不通过时,则不再进行后续流程,而直接返回初
始状态。
[0107] 进一步的,在本申请提供的一个实施例中,对第一区块链节点110进行共识算法校验,以验证第一区块链节点110的可信任性,具体包括:使用工作量证明PoW、权益证明PoS、
授权工作证明DPoS、拜占庭容错算法中的至少一种,验证第一区块链节点110的可信任性。
[0108] 这里对第一区块链节点110进行共识算法校验,就是为了证明第一区块链节点110并非恶意攻击方。第一区块链节点110的可信,可以间接证明第一智能合约中所载第一控制
指令信息的安全性。
[0109] 当双重校验通过时,第二区块链节点120将所述第一智能合约上链,并向物联网终端发送第一控制指令信息。可以理解的是,这里将第一智能合约上链,是指记载有第一控制
指令的第一智能合约在区块链内广播发布并被广泛接受,也就是通常所说的记账。
[0110] 进一步的,在本申请提供的一个实施例中,当双重校验通过时,第二区块链节点120将所述第一智能合约上链,具体包括:获取将第一智能合约作为交易内容的第一区块和
第一区块的第一哈希值;将用于控制物联网终端的第二控制指令信息写入第二智能合约;
根据第一哈希值、第二智能合约,生成将第二智能合约作为交易内容的第二区块和将第二
智能合约作为交易内容的区块的第二哈希值;广播第二区块和第二哈希值。
[0111] 其中,第二控制指令信息为用户在第二时间、在物联网应用程序中、针对物联网终端发出。可以理解的是,区块链是借由密码学串接并保护内容的串连文字记录。这里的串连
文字记录,在本申请的具体实现形态中可以理解为记载有第一控制指令信息的第一智能合
约。记载有第一控制指令信息的第一智能合约和第一智能合约形成的时间戳,可以作为串
连文字记录的内容即通常所说的区块。该串连文字记录对应唯一的哈希值。当第一区块链
节点将以第一智能合约为内容的区块和区块对应的哈希值向外广播时,第二区块链节点
120可以获取以第一智能合约为内容的区块和区块对应的哈希值。
[0112] 以第一智能合约、第一智能合约形成时间戳为内容的区块和区块对应的哈希值,可以视为当前区块和与当前区块对应的哈希值。当前区块和与当前区块对应的哈希值,可
以作为下一区块内容的一部分。下一区块的内容,除当前区块和与当前区块对应的哈希值
之外,还包括第二智能合约和第二智能合约形成 的时间戳。当然,第二智能合约记载有第
二控制指令信息。第二控制指令信息为用户在第二时间、在物联网应用程序中、针对物联网
终端发出。这里的第二控制指令信息的形成发生在第一控制指令信息的时序之后。第二控
制指令信息可以是同一用户在发出第一控制指令信息之后,发出的另一条控制指令信息,
也可以是另一用户在第一控制指令信息的时序之后,发出的另一条控制指令信息。
[0113] 下一区块至少包括当前区块、与当前区块对应的哈希值、记载有第二控制指令信息的第二智能合约、第二智能合约形成的时间戳。下一区块的哈希值与前述下一区块的内
容唯一对应。
[0114] 当第一智能合约未被篡改、第一区块链节点110可信时,第二区块链节点120将下一区块和与下一区块对应的哈希值进行广播。当前区块、当前区块对应的哈希值、作为当前
区域内容的一部分的第一智能合约、由第一智能合约所记载的第一控制指令,随着时间的
经过,成为区块链中不可更改的一部分得以在区块链中继续传递,也就是说,完成了第一智
能合约的上链或者说完成了第一控制指令的上链。换言之,也就是通常所说的记账。
[0115] 进一步的,在本申请提供的一个实施例中,第一区块中还包括:针对第一控制指令信息的随机校验数;或者发出第一控制指令信息的用户身份信息。
[0116] 应当理解的是,第一控制指令写入第一智能合约的、作为智能合约准入节点的第一区块链节点110,在生成区块存储的哈希值之前,可以通过随机校验数对其验证。通过该
方式实现提高第一区块链节点110的安全性。在另一种具体实现形态中,这里的随机校验数
可以理解为一种调整工作量证明的方式,以便第二区块链节点120的后续节点验证第二区
块链节点120属于非恶意攻击方。也就是说,这里将当前区块、与当前区块对应的哈希值、记
载有第二控制指令信息的第二智能合约、第二智能合约形成的时间戳、随机校验数五个维
度信息,作为生成下一区块和与下一区块的对应的哈希值的输入信息。
[0117] 发出第一控制指令信息的用户身份信息。这里将当前区块、与当前区块对应的哈希值、记载有第二控制指令信息的第二智能合约、第二智能合约形成的时间戳和发出第一
控制指令信息的用户身份信息作为五个维度信息,作为生成下一区块和与下一区块的对应
的哈希值的输入信息。这样可以反映该用户的行为模式。例如,该用户从未进行过恶意攻
击,即诚信用户。从而便于根据用户的行为模式,对用户进行区分,实现基于用户分类的产
品的多样化。
[0118] 进一步的,在本申请提供的一个实施例中,在第二区块链节点120向物联网终端发送第一控制指令信息后,向作为第一控制指令信息来源的物联网服务器返回用于表明指令
安全下发成功的令牌。
[0119] 第二区块链节点120将验证通过的第一控制指令信息,返回给物联网应用程序或物联网服务器。由物联网服务器或物联网应用程序,将第一控制指令信息发送给第一控制
指令信息指向的物联网设备或物联网终端。这里,第二区块链节点120处理完毕时,可以发
出用于表明第一控制指令信息安全下发成功的令牌。显而易见的是,这里的第一控制指令
信息的传递或传输是通过记载有第一控制指令信息的第一智能合约的传递或传输来间接
实现的。当然,如果第一控制指令信息已经过加密处理时,还需要在第二区块链节点120、物
联网服务器或物联网设备上部署有对应的解密算法程序。
[0120] 在本申请提供的具体实施方式中,由于既对第一智能合约进行哈希值校验,以验证第一智能合约是否被篡改,又对第一区块链节点110进行共识算法校验,以验证第一区块
链节点110的可信任性,从而可以解决容易被黑客攻击的、设备指令数据不安全的技术问
题。
[0121] 关于本发明控制系统的未详尽描述之处,可参考方法实施例。
[0122] 请参照图5,为本申请实施例提供的物联网终端的控制方法的实施过程示意图。
[0123] S011:用户访问物联网应用,将对物联网终端的控制请求发送至物联网平台(物联网服务器)。
[0124] S012:物联网平台将对应的控制指令信息发送至区块链,进行区块链加密和认证服务。
[0125] S013:设备合约准入节点允许数据调用,将控制指令写入智能合约。
[0126] S014:共识节点获取用户身份信息,对设备合约准入节点进行校验。
[0127] S015:验证通过后,共识节点将用户身份信息返回区块链认证服务。
[0128] S016:区块链认证服务发送控制指令至物联网设备进行执行,并发送控制指令下达成功的令牌至物联网平台。
[0129] 请参照图6,为本申请实施例提供的指令信息在认证过程中的流程示意图。
[0130] S025:物联网平台加密传输指令数据。
[0131] S026:对指令数据取哈希值进行认证服务。
[0132] S027:判断是否为设备合约准入节点。
[0133] 当不是设备合约准入节点时,认证失败。
[0134] S028:当为设备合约准入节点时,认证成功,获取共识节点用户信息。
[0135] 并且,并行执行步骤S029、步骤S031和步骤S032。
[0136] S029:数据上链。
[0137] S031:返回用户身份信息,以及发出表示指令数据成功下达的令牌。
[0138] S032:发送指令数据,以便物联网设备执行,反馈执行结果至物联网平台。
[0139] S030:数据上链后,针对该指令数据的操作结束。
[0140] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要
素的过程、方法、商品或者设备中还存在另外的相同要素。
[0141] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的
形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存
储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形
式。
[0142] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同
替换、改进等,均应包含在本申请的权利要求范围之内。