一种基于区块链的云边分布式系统节点操作更新方法

未命名 09-23 阅读:73 评论:0


1.本发明涉及网络安全技术领域,更具体的涉及一种基于区块链的云边分布式系统节点操作更新方法。


背景技术:

2.随着云边协同系统的广泛应用,大量的分布式节点产生的海量数据可靠性问题随之而来。下层节点通常是安全性能不够高的边缘小型设备,仅仅具备数据采集与传输的基本功能,其存储的数据很容易被网络攻击所挟持并因此诱发全系统崩溃或者故障。在这样状况下,利用海量微型智能节点将社会的各种应用与人物场景联系起来的进程始终得不到安全保证。本发明针对这一场景主要在以下角度进行了改进。
3.现有的分布式架构网络安全方案更多是保证整个系统的安全,即将所有的应用和数据放在一个中心化的主机上面,客户只有读取或者使用权,而没有数据操作权。服务供应商的网络安全技术只能保证主机核心数据的安全性,而客户机的安全不会受到任何的保护,因此很容易就会发生数据安全问题。
4.现有的网络安全攻击并非全都是数据窃取形,还有很大一部分类型的攻击目的是恶意破坏,即黑客通过木马程序在系统当中发布恶意指令,占用系统内存去处理垃圾循环或者是故意发送非法请求导致服务器进入瘫痪状态,这样的恶意操作是单中心系统无法避免的困扰。
5.目前的网络安全技术都围绕数据中心的权限管理展开,缺乏针对分布式架构场景的对应方案,尤其是缺乏对云边协同场景下海量低安全设备如何保证其收发数据指令可靠性的保证途径。大量的虚假信息与错误信息很可能导致远端决策错误进而引发严重的损失。


技术实现要素:

6.本发明实施例提供一种基于区块链的云边分布式系统节点操作更新方法,包括:
7.获取云边分布式系统所有节点设备;
8.基于链表结构建由所有节点组成的区块链;
9.在进行节点操作时,根据两轮循环机制选出裁判节点,对节点操作进行投票判断是否合法;
10.采用瑞波共识机制rpca确定达到投票阈值的合法节点操作,并在区块链网络更新;
11.其中,两轮循环机制包括:
12.在第一循环中令所有节点生成一个随机数、并将出现次数最多的随机数作为仲裁节点;由仲裁节点生成一个无重复子序列pi,作为待选节点序列添加到列表list中;执行与节点数目相同的第一循环,产生与节点数目相同的待选节点序列、并添加到列表list中;
13.在第二循环中令所有节点生成一个随机数、并确定出现次数最多的随机数p;在第
一循环产生的列表list中选择与出现次数最多的随机数p相对应的第p个待选节点序列;将第p个待选节点序列包含的子序列作为裁判节点。
14.优选地,基于链表结构建由所有节点组成的区块链,包括:
15.通过编程构建链状数据结构,将云边系统中的所有设备上链;
16.采用去中心化存储的方式将边缘节点和中心云上面的信息存放到内容相同但是密码不同的数据区块中;
17.每个设备有单独的访问地址,用户根据访问地址操作对应的区块。
18.优选地,区块链,包括:
19.区块头,包括本区块的操作密钥和地址,作为登陆区块的账号密码,其中密码自于上一个区块的密码;
20.区块体,包含内容信息和上一个区块的地址,所有区块体的内容信息一致,并且少数的不同的区块内容信息向多数的区块内容信息趋向一致。
21.优选地,区块体的内容,包括:
22.amount-操作次数;
23.recipient-接收节点;
24.sender-发送节点;及
25.三条测定指标。
26.优选地,采用瑞波共识机制rpca确定达到投票阈值的合法节点操作,并在区块链网络更新,包括:
27.将每一个云边节点中运行的多个客户端线程当作有效的验证节点;
28.当某一个云边设备发送一个修改操作之后,所有的验证节点都采用两轮循环机制选出裁判节点对修改操作进行合法判断;
29.计算投赞成票的裁判数量和总的裁判数量的比值;
30.当投票未达到投票阈值时,将修改操作存放到候选环节,否则将操作送入待验证操作集合;
31.当投票达到投票阈值时,更新全网区块链链表数据。
32.优选地,合法判断,包括:
33.指令类型判定,判断异常类别是否与模型输出结果一致,以区分异常是否是云边内部的节点所发送;
34.事件型判定,判断异常发生的事件是否与其他设备的报告一致。
35.优选地,待验证操作集合是未经过验证的修改操作组成的集合;候选环节是已经通过一轮验证,等待被反复验证成功以排除时间偶然性的数据操作的集合。
36.本发明实施例提供一种基于区块链的云边分布式系统节点操作更新方法,与现有技术相比,其有益效果如下:
37.区块链本质是一种数据结构,其特点是每一个区块的内容都完全相同,因此相当于对真实数据进行了多次备份,节点越多的场景备份就越多,因此恶意攻击如果要篡改数据就必须对整个系统的所有节点都修改,因此实现了基于无等级内部完全公开而导致的极高破解成本。区块链是按照时间顺序将数据以链表的形式组合起来并且通过密码学加密而不可篡改的分布式信息存储形式。它具备三个基本特点:去中心化、基于共识的数据更新、
基于隐私的公开数据读写方式。而在可以预见的智能化大型系统当中,多节点、分布式、低延迟的架构势必会产生大量的数据以及随之而生的数据安全问题。无论密码学方法先进到什么程度,只要它是由中心化设备设备生成的,就一定会存在数据泄密与数据篡改的问题,而对于机密设施或者军事设施来说,这样的安全隐患先天性制约了大规模云边协同这一种大规模分布式数据计算模型的应用价值。因此区块链是一种先天匹配云边协同数据安全要求的存储模式。
附图说明
38.附图1是区块节点数据更新验证过程;
39.附图2是数据区块结构组成图。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.参见图1~2,本发明实施例提供一种基于区块链的云边分布式系统节点操作更新方法,该方法包括:
42.步骤1:通过编程构建链状数据结构,以便将云边系统中的所有设备联系起来。每个设备有单独的访问地址,所有用户只能根据访问地址去操作对应的区块,即只有知道这个地址才能去访问相应的设备,并在其中增删查改数据。
43.基于区块链分布式账本的理论,本发明采用去中心化存储的方式将边缘节点和中心云上面的信息存放到内容相同但是密码不同的数据区块当中,进行基于算法的置信度保证。其核心是设计基于链表结构的数据区块。在此将链表的每个结构体称之为区块,区块包含两个部分:区块头和区块体。
44.区块头由本区块的操作密钥和地址组成,形成类似账号密码的结构,其中密码的一部分来自于上一个区块的密码。区块体内包含内容信息和上一个区块的地址。因而整个区块链是一个单向链表,即后形成的链只能访问前一个区块,而当前区块的地址只有所有者和下一个区块才知道。
45.所有区块的内容保持一致,并且少数的不同的区块内容向多数的正常的区块保持一致,这样就可以保证少量区块被篡改不会产生数据错误。这样的数据结构可以保证整个系统安全性共享,即恶意攻击必须对区块内的大多数节点进行同时攻击。而对边缘计算场景来说,大量的分布式节点能够将攻击的成本提高到一个难以接受的程度。
46.区块头以后的部分就是区块体,区块体内的内容由系统功能决定。例如交易系统里面存放的是成交额度;数据分析系统里面存放的是数据结果。
47.步骤2:通过sha256算法对每一个数据区块生成一个256位字符的密码哈希值。只有输入正确的哈希值才能对这一个数据区块进行写入的操作,哈希值也是这一个数据区块唯一的操作许可权限。sha256原始算法包括五个步骤:数据填充、消息长度扩充、初始化缓冲区、迭代消息处理和哈希输出,本发明将前三个步骤合并成一个名为数据格式初始化的
步骤,采用随机删补的方法,在数据输入
48.步骤3:采用rpca(ripple protocol consensus algorithm)作为整个节点达成内容更新共识的方法。从不区分云边的所有节点选择出裁判,由裁判团对每一个数据操作进行判断,只有通过判断的操作才被允许执行。随后所有节点都执行这一操作实现指令,以便在全网的扩散。rpca共识机制的核心是通过极少的信任形成整体的信息正确保证,其工作方式类似于法院裁定的陪审团制度,由多个验证节点共同评价一个区块修改操作是否有效。
49.在本设计中,在每一个云/边节点当中运行多个客户端线程都是一个有效的验证节点,当某一个云边设备发送一个修改操作之后,所有的验证线程都对这一个修改的信息进行数字验证。
50.合法与否的判定由指令类型判定,例如判断异常类别是否与模型输出结果一致,以区分异常是否是云边内部的节点所发送,从而甄别系统外操作的隐患。可以判断异常发生的事件是否与其他设备的报告一致,例如温湿度预警节点的报告与机器人节点的报告是否一致,从而甄别出设备挟持的可能性。合法判断本身的安全性是没有完全保证的,因为每一个节点都有可能被完全胁持,但是在下一步的群体验证环节可以将单一设备攻击带来的损失降到最低,所有验证节点达成共识的过程伪代码如下所示。
[0051][0052]
即对于一个操作采用的全局验证表达式如下:
[0053][0054]
grade是对某一个操作的评价结果,是其中m是投赞成票的裁判数量,n是可信任裁判节点数量,表中的待验证操作集合是未经过验证的数据操作组成的集合,候选环节是已经通过一轮验证,等待被反复验证成功以排除时间偶然性的数据操作的集合。
[0055]
步骤4:设计一种通过随机数选择裁判的方式,将可信任验证节点的选择根据轮换制度周期性更换,本发明提出了一种新的多重随机轮换策略以最大化提高整个系统信任节点不被认为操控的可能性。
[0056]
这种随机策略通过多轮循环以确定哪些节点被选为裁判以及裁判权持续时间:第一轮循环由两重循环组成,子循环令所有节点生成随机数,根据出现次数最多的随机数选
择这一轮子循环的仲裁节点,随后一轮子循环结束,由仲裁节点生成一个无重复子序列pi,作为待选节点序列并添加到列表list中,随后进入下一轮主循环。当主循环次数与节点数目相同以后,进入第二轮循环,同样由所有的节点生成随机数,并确定出现频次最高的随机数p,然后就选择第一轮循环生成的列表中的第p个待选节点序列作为后续p次数据操作的裁判节点。这样的一个将裁判候选名单list、裁判身份名单list
p
、裁判权利大小p全都都交给随机数生成的过程,可以在一个数据操作验证体系当中确保担任数据合法性验证裁判功能的节点身份不被操纵,不被影响,不被泄密,并且保持裁判之间的相互独立性,以确保对一个操作的验证过程是正确的。
[0057]
验证的过程可以根据具体的场景自行设计,例如可以验证操作地区与操作时间是否合法,操作来源与操作权限是否合法,操作内容格式是否合法等等。
[0058]
步骤1:本发明举例通过python在flask框架上编写web程序的方式进行区块链结构的设计,建立起类似附图1一样的区块结构体。包括以下几条信息:
[0059]
作为区块头的部分:index、previous_hash、proof、timestamp。
[0060]
index:数据区块序列,代表这是第几个区块,本设计当中index等同于报错序号,即第几次异常。
[0061]
previous_hash:区块头的必要内容,是前一个区块生成的哈希值,用于指向前一个节点的位置。
[0062]
proof:具备访问权限的用户用于访问区块的证明,类似于支付软件的账号,代表这个区块的简化身份标签。
[0063]
timestamp:是在国际标准下由互联网时钟生成的唯一时间戳,代表区块内容被操作的时间。
[0064]
区块头以后的部分就是区块体,假定实例是面向大气环境质量异常的云边监控制系统,那么区块体当中可以只包括六条信息。分别是amount-操作次数、recipient-接收节点、sender-发送节点,以及三条测定指标,例如二氧化碳含量、二氧化硫含量、温湿度测量均值。通过这6条信息就能够完全描述哪一个节点向哪一个节点发送了异常信息、异常类型是哪一类、异常发生在什么时候、异常信息收发双方的身份。每一个区块都由一个哈希值,而这个哈希值由又两部分组成:
[0065]
shai=sha_256+sha
(i-1)
[0066]
其中sha_256是由sha-256这一世界公认的最安全算法作为映射生成的256位字符码,sha
(i-1)
是区块i指向的上一个区块的256字符码,+表示两个256位的字符码按位交错组合之后再随机取256位。
[0067]
步骤2:从一个随机生成的任意长度字符串m作为输入,为区块链生成一个哈希值密码,它主要包括三个步骤:数据初始化、迭代消息处理、哈希输出。
[0068]
其中第一步是将输入的任意长度消息m填充或删除到n个512位的消息块:
[0069]m(1)
,

,m
(n)
[0070]
而每一个消息块又进一步分成16个消息组:
[0071]m0(1)
,

,m
15(n)
[0072]
第二步sha-256算法根据其定义的消息块逻辑函数进行消息块的处理,将每一个m通过下面的操作映射到定长度拓展消息块w当中。
[0073][0074][0075]
具体操作流程如下表:
[0076][0077]
此外sha-256通过自然数中前64个质数的立方和小数部分的前三十二位定义了64个16进制参数,记作k[0]到k[63],最终形成了下表所示的输出流程。
[0078][0079][0080]
上述过程说明了本设计对每一个区块加密的过程,节点向自己的区块中写入数据的时候必须通过这样一个h来访问到区块,之后再通过步骤3消息共识机制实现消息在整个区块链当中的更新。
[0081]
步骤3:通过民主集中制的模式,采用rpca作为整个节点达成内容更新共识的方法,由裁判团对每一个数据写入操作进行合法性判断,只有通过判断的操作才被允许执行。
[0082]
当一个操作生成之后,会被发送到当前区块所在节点的操作集合当中,并且由这一个节点发送到其他的具备投票资格的验证节点当中,这样所有具备验证资格的节点都获得了一样的操作候选集合,然后每一个节点都对操作提案进行投票,认为操作合法的就投赞成票,认为不合法的不投票,然后不断迭代直到生成获得80%选票的操作,从而将这个操作扩散到整个区块链的所有节点当中去。这种将群体共识过程转化为可信任代表节点的共
识过程是从政治投票中模仿而来的民主集中制信用保证算法,是以算法保证数据信用的直接依据。整个详细的验证过程如附图1所示。
[0083]
步骤4:其中可信任验证节点的选择是根据轮换制度周期性更换,根据本发明提出的一种新的多重随机轮换策略p以最大化提高整个系统信任节点不被认为操控的可能性。
[0084][0085][0086]
其中

表示从箭头右侧的集合向箭头左侧的集合映射,映射关系可以根据实际部署时任意给定。
[0087]
需要注意的是,上述实例的四个步骤并不是对本发明所采用的区块链数据安全思想的全部提现,而仅仅是本发明为了展示基于区块链对云边系统数据安全进行保障的一个演示。建立一个区块链的过程可以采用c/c++/硬件汇编语言在内的任意一种形式,而凡是系统数据存储的架构模式符合去中心化、基于共识的更新、全节点内容公开这三点要求的云边系统存储模式,都应当属于本发明的内容范畴。
[0088]
以上公开的仅为本发明的几个具体实施例,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围内。

技术特征:
1.一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,包括:获取云边分布式系统的所有节点设备;基于链表结构构建由所有节点组成的区块链网络;在对区块链网络上的节点进行节点操作时,根据两轮循环机制选出对节点操作进行合法性投票的裁判节点;采用瑞波共识机制rpca判断对节点操作合法投票的裁判节点比例是否达到投票阈值,如果达到投票阈值,在区块链网络更新节点操作;其中,两轮循环机制包括:在第一循环中令所有节点生成一个随机数、并将出现次数最多的随机数作为仲裁节点;由仲裁节点生成一个无重复子序列p
i
,作为待选节点序列添加到列表list中;执行与节点数目相同的第一循环,产生与节点数目相同的待选节点序列、并添加到列表list中;在第二循环中令所有节点生成一个随机数、并确定出现次数最多的随机数p;在第一循环产生的列表list中选择与出现次数最多的随机数p相对应的第p个待选节点序列;将第p个待选节点序列包含的子序列作为裁判节点。2.如权利要求1所述的一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,所述基于链表结构建由所有节点组成的区块链,包括:通过编程构建链状数据结构,将云边系统中的所有设备上链;采用去中心化存储的方式将边缘节点和中心云上面的信息存放到内容相同但是密码不同的数据区块中;每个设备有单独的访问地址,用户根据访问地址操作对应的区块。3.如权利要求1所述的一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,所述区块链,包括:区块头,包括本区块的操作密钥和地址,作为登陆区块的账号密码,其中密码自于上一个区块的密码;区块体,包含内容信息和上一个区块的地址,所有区块体的内容信息一致,并且少数的不同的区块内容信息向多数的区块内容信息趋向一致。4.如权利要求1所述的一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,所述区块体的内容,包括:amount-操作次数;recipient-接收节点;sender-发送节点;及三条测定指标。5.如权利要求1所述的一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,所述采用瑞波共识机制rpca确定达到投票阈值的合法节点操作,并在区块链网络更新,包括:将每一个云边节点中运行的多个客户端线程当作有效的验证节点;当某一个云边设备发送一个修改操作之后,所有的验证节点都采用两轮循环机制选出裁判节点对修改操作进行合法判断;计算投赞成票的裁判数量和总的裁判数量的比值;
当投票未达到投票阈值时,将修改操作存放到候选环节,否则将操作送入待验证操作集合;当投票达到投票阈值时,更新全网区块链链表数据。6.如权利要求5所述的一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,所述合法判断包括:指令类型判定,判断异常类别是否与模型输出结果一致,以区分异常是否是云边内部的节点所发送;事件型判定,判断异常发生的事件是否与其他设备的报告一致。7.如权利要求5所述的一种基于区块链的云边分布式系统节点操作更新方法,其特征在于,所述待验证操作集合是未经过验证的修改操作组成的集合;候选环节是已经通过一轮验证,等待被反复验证成功以排除时间偶然性的数据操作的集合。

技术总结
本发明公开了一种基于区块链的云边分布式系统节点操作更新方法,属于区块链技术领域,包括:获取云边分布式系统所有节点设备,基于链表结构建由所有节点组成的区块链,在进行节点操作时,根据两轮循环机制选出裁判节点,对节点操作进行投票判断是否合法,采用瑞波共识机制RPCA确定达到投票阈值的合法节点操作,并在区块链网络更新。该方法可以在云边协同场景下海量低安全设备保证其收发数据指令可靠性。性。性。


技术研发人员:郭鹏 俞水 汪世杰 王梓鹏 史海超 张笑苑
受保护的技术使用者:西南交通大学
技术研发日:2022.09.02
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐