本申请涉及工业物联网技术领域,公开了一种基于区块链的智能控制系统,该基于区块链的智能控制系统包括:智能网关和多个控制器;多个控制器之间相互连接,每个控制器用于根据工业设备上传的工业数据生成新区块,并将新区块进行广播;每个控制器还用于接收其余控制器广播的新区块,并在预设时间内完成对新区块的验证,得到第一验证结果;智能网关分别与每个控制器连接,用于接收每个控制器广播的新区块,并对新区块进行验证,得到第二验证结果;智能网关还用于在根据第一验证结果和第二验证结果判定新区块合法后,将新区块上传至区块链。通过上述方式,本申请实施例降低了边缘端工业控制系统的通信与计算开销。控制系统的通信与计算开销。控制系统的通信与计算开销。
【技术实现步骤摘要】
一种基于区块链的智能控制系统
[0001]本申请实施例涉及工业物联网
,具体涉及一种基于区块链的智能控制系统。
技术介绍
[0002]随着工业控制系统的网络化、智能化浪潮,由于传统的工业控制系统没有应对重放攻击和拒绝式服务攻击等恶意攻击的安全措施,工业控制系统信息安全问题日益突出。
[0003]目前,将区块链应用于工业控制系统可以有效地保证工业控制系统的信息安全,但是,在现有的区块链方案的区块共识过程中,区块需要在每一个区块链节点之间广播,每个区块链节点对该区块执行验证过程并相互广播验证结果,最后依据验证结果达成共识,这带来了大量的通信开销,然而,边缘端工业控制系统的各个工业节点一般仅可存储简单的控制指令及工业数据,没有过多的额外资源承受复杂计算以及频繁通信所带来的通信开销。
技术实现思路
[0004]鉴于上述问题,本申请实施例提供了一种基于区块链的智能控制系统,降低了边缘端工业控制系统的通信与计算开销。
[0005]根据本申请实施例的一个方面,提供了一种基于区块链的智能控制系统,该基于区块链的智能控制系统包括:智能网关和多个控制器;智能网关和多个控制器;多个控制器之间相互连接,每个控制器用于根据工业设备上传的工业数据生成新区块,并将新区块进行广播;每个控制器还用于接收其余控制器广播的新区块,并在预设时间内完成对新区块的验证,得到第一验证结果;其中,多个控制器中除生成该新区块的控制器以外的其余控制器中N个控制器在预设时间内完成对新区块的验证,N为正奇数;智能网关分别与每个控制器连接,用于接收每个控制器广播的新区块,并对新区块进行验证,得到第二验证结果;智能网关还用于在根据第一验证结果和第二验证结果判定新区块合法后,将新区块上传至区块链。
[0006]在一种可选的方式中,每个控制器还用于将第一验证结果发送给智能网关;智能网关还用于在根据第一验证结果和第二验证结果判定新区块合法后,将新区块上传至区块链,包括:智能网关还用于累计第一验证结果为验证成功的数量,并在数量大于N/2,且第二验证结果为验证成功时,将新区块上传至区块链。
[0007]在一种可选的方式中,智能网关还用在数量大于N/2,且第二验证结果为验证失败时,向第一验证结果为验证成功的控制器发送区块转发请求,以使该控制器向智能网关发送新区块;智能网关还用于在接收到该控制器发送的新区块后对新区块进行验证,并在验证成功后将新区块上传至区块链。
[0008]在一种可选的方式中,控制器还用于在第一验证结果为验证成功时不向智能网关发送新区块的第一验证结果,在第一验证结果为验证失败时向智能网关发送新区块的第一
验证结果;智能网关还用于在根据第一验证结果和第二验证结果判定新区块合法后,将新区块上传至区块链,包括:智能网关还用于在预设时间内没有接收到第一验证结果,且第二验证结果为验证成功时,将新区块上传至区块链。
[0009]在一种可选的方式中,智能网关还用于:在预设时间内没有接收到第一验证结果,且第二验证结果为验证失败时,将区块转发请求进行广播,以使第一验证结果为验证成功的控制器向智能网关发送新区块,并在接收到新区块后对新区块进行验证,以在验证成功后将新区块上传至区块链;在预设时间内接收到第一验证结果,且第二验证结果为验证成功时,将验证结果转发请求进行广播,以使第一验证结果为验证成功的控制器向智能网关发送第一验证结果,并在接收到第一验证结果后累计第一验证结果为验证成功的数量,以在数量大于N/2时将新区块上传至区块链;在预设时间内接收到第一验证结果,且第二验证结果为验证失败时,将区块转发请求和验证结果转发请求进行广播,以使第一验证结果为验证成功的控制器向智能网关发送新区块和第一验证结果,并在接收到新区块和第一验证结果后,累计第一验证结果为验证成功的数量以及对新区块进行验证,并在数量大于N/2,且验证成功后将新区块上传至区块链。
[0010]在一种可选的方式中,每个控制器还用于向智能网关发送注册请求,注册请求包括控制器的唯一标识符;智能网关还用于接收每个控制器发送的注册请求,并根据控制器的唯一标识符生成控制器的数字证书;智能网关还用于根据每个控制器的唯一标识符和数字证书、区块链的最新区块时间戳和最新区块哈希值生成白名单,并将白名单进行广播。
[0011]在一种可选的方式中,控制器还用于根据控制器的唯一标识符、前一区块哈希值和新区块的时间戳生成预备区块,并根据预备区块和控制器的数字证书生成新区块的哈希值;控制器还用于根据预备区块和新区块的哈希值生成新区块。
[0012]在一种可选的方式中,控制器和智能网关还用于通过以下步骤对新区块进行验证:检索白名单中区块链的最新区块时间戳,判断区块链的最新区块时间戳与新区块的时间戳之间的差值是否大于或等于第一预设阈值;若区块链的最新区块时间戳与新区块的时间戳之间的差值大于或等于第一预设阈值,则判断当前时间戳与新区块的时间戳之间的差值是否小于第二预设阈值;若当前时间戳与新区块的时间戳之间的差值小于第二预设阈值,则检索白名单中区块链的最新区块哈希值,并判断区块链的最新区块哈希值与前一区块哈希值是否一致;若区块链的最新区块哈希值与前一区块哈希值一致,则检索白名单中控制器的数字证书,并判断新区块的预备区块和控制器的数字证书之间的哈希值与新区块的哈希值是否一致;若新区块的预备区块和控制器的数字证书之间的哈希值与新区块的哈希值一致,则判定新区块的验证结果为验证成功。
[0013]在一种可选的方式中,控制器还用于根据其存储控制地址和当前时间戳的哈希值生成控制器的唯一标识符。
[0014]在一种可选的方式中,控制器还用于根据其存储控制地址和随机数之间的哈希值生成控制器的唯一标识符。
[0015]在本申请实施例提供的基于区块链的智能控制系统中,每个控制器将工业设备的上传的工业数据生成新区块并进行广播,使得在预设时间内完成新区块验证的控制器可以对其余控制器广播的新区块进行验证,得到第一验证结果,并使得智能网关对新区块进行验证得到第二验证结果,最后由智能网关根据第一验证结果和第二验证结果确定是否将新
区块上传至区块链。通过这种方式,可以使得计算资源充足的控制器参与新区块的验证与共识过程,不需要每个控制器对该新区块执行验证过程并相互广播验证结果,不仅可以避免因计算资源不足的控制器对新区块进行验证而导致的验证时间过长的情况,还可以降低边缘端工业控制系统的通信与计算开销,解决边缘端设备引入区块链后增加边缘端资源占用及通信开销负担的问题。
[0016]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0017]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的智能控制系统,其特征在于,所述系统包括:智能网关和多个控制器;多个所述控制器之间相互连接,每个所述控制器用于根据工业设备上传的工业数据生成新区块,并将所述新区块进行广播;每个所述控制器还用于接收其余控制器广播的新区块,并在预设时间内完成对所述新区块的验证,得到第一验证结果;其中,多个所述控制器中除生成该新区块的控制器以外的其余控制器中N个控制器在预设时间内完成对所述新区块的验证,N为正奇数;所述智能网关分别与每个所述控制器连接,用于接收每个控制器广播的新区块,并对所述新区块进行验证,得到第二验证结果;所述智能网关还用于在根据所述第一验证结果和所述第二验证结果判定所述新区块合法后,将所述新区块上传至区块链。2.根据权利要求1所述的系统,其特征在于,每个所述控制器还用于将所述第一验证结果发送给所述智能网关;所述智能网关还用于在根据所述第一验证结果和所述第二验证结果判定所述新区块合法后,将所述新区块上传至区块链,包括:所述智能网关还用于累计所述第一验证结果为验证成功的数量,并在所述数量大于N/2,且所述第二验证结果为验证成功时,将所述新区块上传至所述区块链。3.根据权利要求2所述的系统,其特征在于,所述智能网关还用在所述数量大于N/2,且所述第二验证结果为验证失败时,向所述第一验证结果为验证成功的控制器发送区块转发请求,以使该控制器向所述智能网关发送所述新区块;所述智能网关还用于在接收到该控制器发送的所述新区块后对所述新区块进行验证,并在验证成功后将所述新区块上传至所述区块链。4.根据权利要求1所述的系统,其特征在于,所述控制器还用于在所述第一验证结果为验证成功时不向所述智能网关发送所述新区块的第一验证结果,在所述第一验证结果为验证失败时向所述智能网关发送所述新区块的第一验证结果;所述智能网关还用于在根据所述第一验证结果和所述第二验证结果判定所述新区块合法后,将所述新区块上传至区块链,包括:所述智能网关还用于在预设时间内没有接收到所述第一验证结果,且所述第二验证结果为验证成功时,将所述新区块上传至所述区块链。5.根据权利要求4所述的系统,其特征在于,所述智能网关还用于:在预设时间内没有接收到所述第一验证结果,且所述第二验证结果为验证失败时,将区块转发请求进行广播,以使所述第一验证结果为验证成功的控制器向所述智能网关发送所述新区块,并在接收到所述新区块后对所述新区块进行验证,以在验证成功后将所述新区块上传至所述区块链;在预设时间内接收到所述第一验证结果,且所述第二验证结果为验证成功时,将验证结果转发请求进行广播,以使所述第一验证结果为验证成功的控制器向所述智能网关发送第一验证结果,并在接收到第一...
【专利技术属性】
技术研发人员:金紫君,
申请(专利权)人:广东省工业边缘智能创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。