一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的边缘计算节点压缩方法及轻量级存储系统

2022-07-31 05:49:43 来源:中国专利 TAG:


1.本发明属于边缘计算、区块链技术领域,涉及一种基于区块链的边缘计算节点数据压缩方法及轻量级存储系统。


背景技术:

2.随着计算机技术、通信与微电子技术的高速发展,物联网技术逐渐兴起,已经进入到智能家居、智慧城市、医疗保健、能源产业等各个领域。传统的云计算场景中,物联网设备将采集的感知数据直接传送至云平台进行分析处理,由云平台下发决策指令。但是数量不断增长的物联网设备产生了海量的感知数据,存在网络拥塞、延迟高、效率低、能耗多、数据泄露等诸多问题。
3.为解决上述问题,边缘计算将部分数据计算工作转移到网络边缘处,作为云计算的补充,一定程度上减轻云平台的计算压力,节约网络带宽。边缘计算场景中,物联网设备对数据进行预处理,保护数据隐私,改善服务性能。但是边缘计算具有分布式特点,物联网设备地理位置分散、环境差异大、安全等级各异,难以确保其内部存储的感知数据的安全性,一旦受到恶意攻击或出现内部故障,可能会发生数据丢失。如何保证边缘计算场景下设备的数据安全,成为亟待解决的问题。
4.区块链技术具备去中心化、难以篡改、可追溯、分布式存储的特点,为互不信任的物联网设备节点提供信任环境,实现感知数据多点备份和统一管理,保障数据的安全可信。但是,每个物联网设备节点都需要同步所有的区块链数据,存储数据高度冗余,区块验证的通信和计算开销大,限制了物联网设备的可扩展性。


技术实现要素:

5.本发明旨在解决边缘计算中数据安全与存储空间有限的问题,提出一种基于区块链的边缘计算节点数据压缩方法及轻量级存储系统,边缘计算节点无需存储所有历史区块数据,通过定期进行数据压缩,不仅确保数据一致性与可靠性,还还大大节约边缘计算节点的存储空间。
6.本发明的技术内容包括:
7.一种基于区块链的边缘计算节点数据压缩方法,应用于边缘计算节点nodei,其步骤包括:
8.向区块链上传若干区块链数据的数据压缩请求,其中,所述数据压缩请求包括数据压缩的区块编号范围、数据压缩的区块摘要和边缘计算节点nodei的证书与签名;
9.当同意数据压缩的边缘计算节点nodej大于设定值时,基于同意数据压缩的边缘计算节点发送的返回值,生成多重签名;
10.基于所述多重签名与所述区块编号范围,生成并向区块链上传检查点。
11.进一步地,通过以下步骤得到所述区块链数据:
12.判断待上传的数据m是否为隐私数据:
13.若否,则直接将所述待上传的数据m上传至区块链,以得到所述区块链数据;
14.若是,则通过以下步骤将待上传的数据m上传至区块链:
15.调用密码算法选取一随机数r;
16.计算椭圆曲线点e1=(x1,y1)=r
·
g与椭圆曲线点(x2,y2)=r
·ai
,其中g为椭圆曲线上的基点,ai为边缘计算节点nodei的公钥;
17.计算参数t=kdf(x2||y2,l),其中,kdf为密钥派生函数,l∈n,n为kdf密钥派生函数的参数;
18.分别计算比特串与比特串e3=h0(x2||m||y2),其中,h0为第一哈希函数;
19.将椭圆曲线点e1转换为比特串之后,结合比特串e2与比特串e3,得到密文数据e;
20.将密文数据e上传至区块链,以得到所述区块链数据。
21.进一步地,通过以下步骤下载所述区块链数据:
22.基于所述区块链数据的位置,下载所述区块链数据,得到下载数据m


23.判断下载数据m

是否为隐私数据:
24.若否,则将所述下载数据m

直接作为原始数据m*;
25.若是,则通过以下步骤获取所述下载数据m

的原始数据:
26.调用密码算法,以令下载数据m

=(m
′1||m
′2||m
′3),其中m
′1、m
′2、m
′3分别是一比特串;
27.基于比特串m
′1与边缘计算节点nodei的私钥,计算一椭圆曲线点(x
′2,y
′2);
28.计算参数t

=kdf(x
′2||y
′2,l),并基于参数t

与比特串m
′2,获取原始数据m
*

29.通过m3′
是否与h1(y
′2||m
*
||y
′2)相等,验证所述原始数据m
*
,其中h1为第二哈希函数。
30.进一步地,所述当同意数据压缩的边缘计算节点nodej大于设定值时,基于同意数据压缩的边缘计算节点发送的返回值,生成多重签名,包括:
31.基于随机数ki生成的椭圆曲线点ki,并向区块链上传哈希值wi=h2(ki),其中h2为第三哈希函数;
32.接收边缘计算节点nodej′
发送的哈希值wj′
=h2(kj′
)后,向该边缘计算节点nodej′
发送椭圆曲线点ki,以使各边缘计算节点nodej′
基于所述哈希值wi验证椭圆曲线点ki,并当所述验证通过的情况下,所述边缘计算节点nodej′
作为同意数据压缩的边缘计算节点nodej,且向边缘计算节点nodei发送椭圆曲线点kj,其中kj′
为边缘计算节点nodej基于随机数kj′
生成的椭圆曲线点,其中j

≠i;
33.当接收到的椭圆曲线点kj的数量超过所述设定值时,基于接收到的椭圆曲线点kj,分别构建随机数集合与生成椭圆曲线点k=(xk,yk),并广播基于参数xk、所述区块摘要与所述区块编号范围计算的参数c;
34.基于边缘计算节点nodej发送的值sj,计算参数s,其中所述值sj=k
j-c
·dj
·aj
,所述参数dj=h4((a1,a2,

,a
l
),aj),所述kj为边缘计算节点nodej生成的随机数kj′
,aj为边缘计算节点nodej的公钥,l为边缘计算节点nodej的数量,aj为边缘计算节点nodej的私钥,h3为第四哈希函数;
35.生成多重签名(c,s)。
36.进一步地,所述基于所述多重签名与所述区块编号范围,生成并向区块链上传检查点,包括:
37.基于边缘计算节点nodej的公钥aj,计算所述多重签名的公钥
38.根据所述区块编号范围、区块摘要、边缘计算节点nodej的证书列表和多重签名与公钥生成检查点,其中所述证书列表包括:随机数集合和区块链系统为边缘计算节点nodej颁发的证书;
39.将所述检测点上传至区块链。
40.进一步地,所述方法还包括:
41.边缘计算节点nodej′
验证所述检查点是否有效;
42.在所述检查点有效的情况下,所述边缘计算节点nodej′
存储所述检查点及所述区块编号范围之后生成的区块。
43.进一步地,所述边缘计算节点nodej′
验证所述检查点是否有效,包括:
44.提取所述证书列表,以验证证书的有效性;
45.和,
46.从证书列表中提取公钥列表,以验证公钥的有效性;
47.和,
48.计算椭圆曲线点以验证c=h3((num1,num2),dig) xk′
是否成立,其中,g为椭圆曲线的基点,h4为第五哈希函数,(num1,num2)为区块编号范围,dig为区块摘要。
49.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一所述方法。
50.一种基于区块链的边缘计算节点轻量级存储系统,包括若干边缘计算节点nodei,所述边缘计算节点nodei,用于:
51.将收集的感知数据预处理后上传至区块链,其中,对于隐私数据,运行sm2加密算法,且使用公钥加密后上传;
52.和,
53.从区块链下载指定数据,其中,对于加密的隐私数据,运行sm2解密算法,使用私钥解密;
54.和,
55.向区块链上传若干区块链数据的数据压缩请求,其中,所述数据压缩请求包括数据压缩的区块编号范围、数据压缩的区块摘要和边缘计算节点nodei的证书与签名;
56.当同意数据压缩的边缘计算节点nodej大于设定值时,基于同意数据压缩的边缘计算节点发送的返回值,生成多重签名;
57.基于所述多重签名与所述区块编号范围,生成并向区块链上传检查点。
58.与现有技术相比,本发明的积极效果为:
59.本发明提出一种安全可靠的边缘计算节点轻量级存储系统及方法。通过区块链技术,实现边缘计算节点数据的分布式存储,所有节点按照共识算法,确保数据的一致性、完整性与可追溯。结合sm2签名算法,设计数据压缩机制,边缘计算节点分别投票,生成多重签
名,建立检查点,降低节点存储开销,适用于资源受限的物联网设备,具有很高的实用性。
附图说明
60.图1是一种基于区块链的边缘计算节点轻量级存储系统。
61.图2是系统初始化流程图。
62.图3是边缘计算节点数据上传流程图。
63.图4是边缘计算节点数据下载流程图。
64.图5是边缘计算节点数据压缩流程图。
具体实施方式
65.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面通过其具体实施例,并结合附图,对本发明做进一步详细说明。
66.本发明的边缘计算节点轻量级存储系统,该系统包括区块链系统和边缘计算节点。
67.所述区块链系统是由地理位置分散的边缘计算节点组成的点对点网络,包括共识算法模块、身份管理模块、密码算法模块、账本存储模块、点对点通信模块。
68.所述共识算法模块用于保证区块链系统中账本的一致性,区块链系统的各个节点运行共识算法,维护由按照时间顺序排列的区块组成的链式结构。所述身份管理模块用于管理区块链系统中边缘计算节点的身份注册、认证和撤销等。所述密码算法模块用于提供区块链运行中使用的哈希算法、sm2加密算法、sm2数字签名算法等。所述账本存储模块用于存储区块链账本数据,边缘计算节点的数据以默克尔树的形式存储在账本中。所述点对点通信模块用于边缘计算节点间的节点发现、数据传播等。
69.所述边缘计算节点负责感知数据收集与传输,是区块链系统的主要实体,负责生成新区块、验证其他节点生成的区块并广播。
70.本发明同时公开一种基于区块链的边缘计算节点轻量级存储方法,基于上述系统实现,包括如下步骤:
71.步骤1:系统初始化;
72.系统初始化包括:边缘计算节点调用密码算法模块生成公私钥对,边缘计算节点在区块链系统注册证书,具体实现如图2所示,包括以下子步骤:
73.步骤1.1:区块链系统选取安全参数λ,生成椭圆曲线参数params=(q,a,b,g,p),其中q为有限域fq的规模,a,b∈fq是椭圆曲线方程的参数,g=(xg,yg)是椭圆曲线e(fq)的基点,p是g的阶,选取密钥派生函数kdf:{0,1}
*
×n→
{0,1}
*
,对于任意l∈n,n为自然数集,kdf(
·
,l)输出长度为l的比特串,选取五个哈希函数h0,h1,h2,h3,h4;
74.步骤1.2:边缘计算节点nodei(i=1,2,

n)调用密码算法模块根据安全参数λ和椭圆曲线参数params随机生成随机数计算ai=ai·
g,ai作为私钥秘密保存,ai作为公钥公开发布;
75.步骤1.3:边缘计算节点nodei向区块链系统提交身份信息和公钥ai进行身份注册,区块链系统审核通过后,为边缘计算节点nodei颁发证书certi。
76.步骤2:边缘计算节点数据上传:
77.边缘计算节点的数据上传包括边缘计算节点将收集的感知数据预处理后上传至区块链,对于隐私数据,运行sm2加密算法,使用公钥加密后上传,具体实现如图3所示,包括以下子步骤:
78.步骤2.1:边缘计算节点nodei判断待上传的数据m是否为隐私数据;
79.步骤2.2:若m∈{0,1}
l
为隐私数据,边缘计算节点nodei调用密码算法模块的sm2加密算法,选取随机数计算椭圆曲线点e1=r
·
g=(x1,y1),r
·ai
=(x2,y2),计算t=kdf(x2||y2,l),计算e3=h0(x2||m||y2),将e1的数据类型转换为比特串,得到数据m的密文e=e1||e2||e3,将密文数据e上传至区块链,并获得密文e在链上所处位置;
80.步骤2.3:若m∈{0,1}
l
不是隐私数据,则边缘计算节点nodei直接将数据m上传至区块链,并获得数据m在链上所处位置。
81.步骤3:边缘计算节点数据下载:
82.边缘计算节点的数据下载包括边缘计算节点同步区块链,从区块链下载指定数据,对于加密的隐私数据,运行sm2解密算法,使用私钥解密,具体实现如图4所示,包括以下子步骤:
83.步骤3.1:边缘计算节点nodei与其他相邻的节点通信,同步区块链,根据数据m在链上所处位置,从区块链上下载数据m


84.步骤3.2:若m

∈{0,1}
l
为密文,则调用密码算法模块的sm2解密算法,令m

=(m
′1||m
′2||m
′3),通过nodei的私钥ai计算椭圆曲线点ai·m′1=(x
′2,y
′2),计算t

=kdf(x
′2||y
′2,l),得到若m3′
≠h1(y
′2||m
*
||y
′2)则解密失败,否则得到原始数据m
*

85.步骤4:边缘计算节点数据压缩:
86.边缘计算节点数据压缩包括边缘计算节点发起数据压缩请求,其他边缘计算节点若同意该请求,则共同生成多重签名作为凭证,当大多数人同意数据压缩时,边缘计算节点生成检查点,其他节点验证该检查点是否有效,具体实现如图5所示,包括以下子步骤:
87.步骤4.1:边缘计算节点node1发起数据压缩请求,请求包括数据压缩的区块编号范围(num1,num2)、数据压缩的区块摘要节点node1的证书cert1、节点node1的签名sig1,其中表示区块编号在num1到num2之间(包括和)的区块,sig1是对((num1,nu
m2
),dig)的签名,node1生成随机数k0←zp
,计算点k0=k0·
g=(x0,y0),生成签名sig1=(c0,s0),其中),其中s0=(1 a1)-1
(k
0-c0·
a1);
88.步骤4.2:边缘计算节点node1生成随机数k1←zp
,计算点k1=k1·
g,向其他节点nodei发送哈希值w1=h2(k1);
89.步骤4.3:其他边缘计算节点nodei收到边缘计算节点node1数据压缩请求,若同意该请求,随机生成ki←zp
,计算ki=ki·
g,并发送wi=h2(ki);
90.步骤4.4:边缘计算节点node1收到wi后向其他节点发送k1;
91.步骤4.5:其他边缘计算节点nodei收到k1后验证w1=h2(k1)是否成立,若成立,则发送ki;
92.步骤4.6:当边缘计算节点node1收到个边缘计算节点发送的ki后,令后,令表示所有同意数据压缩的边缘节点生成的随机数,计算点c=h3((num1,num2),dig) xk;
93.步骤4.7:同意数据压缩的边缘计算节点nodej(j=1,2,

,l)计算哈希值dj=h4((a1,a2,

,a
l
),aj),值sj=k
j-c
·dj
·aj
,并发送给其他同意数据压缩的节点;
94.步骤4.8:边缘计算节点node1收到所有同意数据压缩的边缘节点发送的sj,计算,计算得到多重签名(c,s),计算(c,s)的公钥生成检查点将检查点ck上传至区块链;
95.步骤4.9:其他边缘计算节点验证该检查点步骤4.9:其他边缘计算节点验证该检查点是否有效,从检查点ck中提取证书列表验证证书是否合法,若合法,则从证书列表中提取公钥列表判断是否成立,若成立,则计算验证c=h3((num1,num2),dig) xk′
是否成立,若成立,则说明该检查点有效,其他边缘计算节点只需要存储该检查点以及区块编号num>num2的区块。
96.综上所述,为实现区块链的轻量级存储,本发明提出基于sm2数字签名算法的数据压缩机制。该数据压缩机制能够为历史区块定期创建检查点,检查点包括历史区块的摘要和证明。当压缩操作得到区块链网络中多数节点认可后,多数节点利用sm2数字签名算法生成多重签名,作为检查点中历史区块摘要的证明。节点只需存储该检查点及历史区块后新生成的区块,降低了节点的数据存储开销。
97.本发明采用区块链技术,将边缘计算场景下的物联网设备作为区块链节点,保证感知数据的一致性、完整性与安全性,同时设计基于sm2数字签名算法的数据压缩机制,实现感知数据的轻量级存储,适用于能源有限的物联网设备,降低数据冗余度,提升物联网设备可扩展性。
98.虽然本发明己以实施例公开如上,然其并非用以限定本发明,本领域的普通技术人员对本发明的技术方案进行的适当修改或者等同替换,均应涵盖于本发明的保护范围内,本发明的保护范围以权利要求所限定者为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献