1.本发明属于
能源互联网技术领域,具体涉及一种基于
区块链技术的
数据共享方法和系统。
背景技术:
2.随着能源互联网战略的提出,能源互联网中产生的数据呈指数级增长,这为能源互联网领域的高效生产、定价和价值服务带来了巨大的潜力。然而,由于私人数据的不正当使用,以及数据的安全性、缺乏严重的透明度以及可审计性,使得能源信息泄露的可能性增加。因此,如何在能源信息不被泄露的前提下,实现能源互联网中信息的泛在交互,是当前能源互联网领域的重点研究课题之一。区块链本质上是一种去中心化的分布式记账技术,具有分布化、透明性、公平性以及公开性的特点,可以保障数据的真实性从而打破信任壁垒,解决能源互联网中的信息不对称等问题。
3.现有技术中能源信息的可信共享是通过中心端基于区块链技术获取可信数据,然后再由数据查询方向中心端请求数据实现的。然而该方法可能会被第三方恶意侵入导致各
节点查询的信息缺失或受损。
技术实现要素:
4.有鉴于此,本发明旨在解决现有向中心端查询可信数据的能源信息可信共享方法可能存在被第三方恶意侵入导致各节点查询的信息缺失或受损的问题。
5.为了解决上述技术问题,本发明提供以下技术方案:
6.第一方面,本发明提供了一种基于区块链技术的数据共享方法,包括如下步骤:
7.数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;
8.将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点;
9.获取数据使用者关于能源需求的请求,关于能源需求的请求被打包成数据请求区块并加密后通过p2p网络传递到各个数据所有者的节点;
10.通过智能合约进行博弈,通过各项机制确保达到纳什均衡;
11.当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过p2p网络传播;
12.数据使用者接收数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。
13.进一步的,将能源数据经智能电表隐私化,具体包括:
14.各节点利用自身私有钥计算公钥,计算式如下:
15.y≡g
x
modp
16.式中,p为素数,g为的生成元,为私有钥,y为公钥;
17.获取明文信息,利用公钥计算对应的密文信息,计算式如下:
18.c=(c1,c2)
19.c1=gkmodp
20.c2=ykmmodp
21.式中,c为密文信息,c1为,c2为,k为随机数且
22.进一步的,将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点,具体包括:
23.将能源数据区块以交易记录的形式保存在各数据所有者节点的私人账本中,各数据所有者节点通过将密文信息转换后得到以明文信息保存的能源数据,转换过程通过如下计算式实现:
[0024][0025]
进一步的,数据所有者和数据使用者之间共享的数据具体为能源决策数据,能源决策数据由各节点的用户信息计算得到。
[0026]
进一步的,数据请求区块采用elgamal算法进行数据传输加密。
[0027]
第二方面,本发明提供了一种基于区块链技术的数据共享系统,包括:
[0028]
能源数据发布单元,用于数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;还用于将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点;
[0029]
请求处理单元,用于获取数据使用者关于能源需求的请求,关于能源需求的请求被打包成数据请求区块并加密后通过区块链传递到各个数据所有者的节点;还用于通过智能合约进行博弈,通过各项机制确保达到纳什均衡;还用于当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过区块链网络传播;
[0030]
数据共享单元,用于数据使用者接收数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。
[0031]
进一步的,在能源数据发布单元中,将能源数据经智能电表隐私化,具体包括:
[0032]
各节点利用自身私有钥计算公钥,计算式如下:
[0033]
y≡g
x
modp
[0034]
式中,p为素数,g为的生成元,为私有钥,y为公钥;
[0035]
获取明文信息,利用公钥计算对应的密文信息,计算式如下:
[0036]
c=(c1,c2)
[0037]
c1=gkmodp
[0038]
c2=ykmmodp
[0039]
式中,c为密文信息,c1为,c2为,k为随机数且
[0040]
进一步的,在能源数据发布单元中,将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点,具体包括:
[0041]
将能源数据区块以交易记录的形式保存在各数据所有者节点的私人账本中,各数据所有者节点通过将密文信息转换后得到以明文信息保存的能源数据,转换过程通过如下计算式实现:
[0042][0043]
进一步的,在请求处理单元中,数据所有者和数据使用者之间共享的数据具体为能源决策数据,能源决策数据由各节点的用户信息计算得到。
[0044]
进一步的,在请求处理单元中,数据请求区块采用elgamal算法进行数据传输加密。
[0045]
综上,本发明提供了一种基于区块链技术的数据共享方法和系统,包括数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点;获取数据使用者关于能源需求的请求,关于能源需求的请求被打包成数据请求区块并加密后通过p2p网络传递到各个数据所有者的节点;通过智能合约进行博弈,通过各项机制确保达到纳什均衡;当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过p2p网络传播;数据使用者接收数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。本发明通过利用区块链技术将能源数据在数据拥有者和数据使用者之间直接进行加密传递,保证了信息传递的安全性,避免了第三方机构侵入导致数据受损或缺失的问题。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0047]
图1为本发明实施例提供的一种基于区块链技术的数据共享方法的流程示意图;
[0048]
图2为本发明实施例提供的能源数据区块的结构示意图;
[0049]
图3为本发明实施例提供的数据请求区块的结构示意图。
具体实施方式
[0050]
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0051]
随着能源互联网战略的提出,能源互联网中产生的数据呈指数级增长,这为能源互联网领域的高效生产、定价和价值服务带来了巨大的潜力。然而,由于私人数据的不正当使用,以及数据的安全性、缺乏严重的透明度以及可审计性,使得能源信息泄露的可能性增加。因此,如何在能源信息不被泄露的前提下,实现能源互联网中信息的泛在交互,是当前能源互联网领域的重点研究课题之一。区块链本质上是一种去中心化的分布式记账技术,具有分布化、透明性、公平性以及公开性的特点,可以保障数据的真实性从而打破信任壁垒,解决能源互联网中的信息不对称等问题。
[0052]
现有技术中能源信息的可信共享是通过中心端基于区块链技术获取可信数据,然
后再由数据查询方向中心端请求数据实现的。然而该方法可能会被第三方恶意侵入导致各节点查询的信息缺失或受损。
[0053]
基于此,本发明提供一种基于区块链技术的数据共享方法和系统。
[0054]
以下对本发明的一种基于区块链技术的数据共享方法的实施例进行详细的介绍。
[0055]
请参阅图1,本实施例提供一种基于区块链技术的数据共享方法,包括如下步骤:
[0056]
s100:数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址。
[0057]
需要说明的是,数据所有者包括智能电表、新能源汽车充电站、空调供热系统、光伏发电站等,每个数据所有者所属节点均拥有上链的权限。
[0058]
数据所有者节点基于私有钥计算自身联盟钥,也即公钥:
[0059]
y≡g
x
modp
ꢀꢀꢀ
(1)
[0060]
其中,p为素数,g为(是与素数p互素且小于p的所有数的集合)的生成元,节点选择作为自身私有钥,从而计算出联盟钥;
[0061]
进一步地,输入明文消息和公钥,并选择随机数从而输出密文c=(c1,c2):
[0062]
c1=gkmodp
ꢀꢀꢀ
(2)
[0063]
c2=ykmmodp
ꢀꢀꢀ
(3)
[0064]
最终打包得到的能源数据区块结构如图2所示,其包括区块头和区块体,区块头中的区块识别号用于识别各自区块。需要说明的是,此处明文消息包括两部分内容,第一部分为能源摘要数据信息,另一部分为能源数据决策信息。
[0065]
s200:将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点。
[0066]
需要说明的是,在本步骤中传递的各个区块(数据类型、格式以及存量)将随着区块链网络广播至各个节点,区块信息将被记录在区块链的各个节点中,所有摘要数据都将以交易记录地形式保存,并存放于各节点的私人账本中。
[0067]
若50%以上的节点达成共识一致,即50%以上的节点同意该区块上链,则允许该区块信息上链。并且传递的共识信息在区块链的各节点中传递,输入密文,通过计算从而输出明文;
[0068][0069]
更为具体的是,当每个运营商节点参与进来时,其唯一身份标识(id)与其所持有的能源数据或需求的摘要信息文件(数据类型、格式以及存量)将被隐私保护算法最小化处理,并记录在区块链的节点中,各个参与者的数据摘要信息都将以交易记录的形式保存,并存放于私人账本中。
[0070]
s300:获取数据使用者关于能源需求的请求,关于能源需求的请求被打包成数据请求区块并加密后通过p2p网络传递到各个数据所有者的节点。
[0071]
如图3所示,数据请求区块中包括发起时间和数据使用者信息。
[0072]
运营商、调度节点发布相关能源需求的请求,申请共享数据访问权限。相关数据需
求请求将被打包成区块并完成加密;该申请记录将通过p2p网络广播至各数据所有者节点,全网认证后,全部节点备份数据。
[0073]
加密算法可以采用elgamal算法进行数据传输加密。
[0074]
s400:通过智能合约进行博弈,通过各项机制确保达到纳什均衡。
[0075]
通过传递的数据在智能合约中博弈,计算当前数据所满足的条件,自动选择触发响应结果,并通过各种机制来确保纳什均衡。当数据与需求相匹配时,触发响应结果。
[0076]
s500:当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过p2p网络传播。
[0077]
具体的,当博弈达成,数据使用者完成能源数据的访问权限,并拥有签名;调用智能合约完成了安全校核后,将新计算的merkle树存储在能源数据区块中,再通过p2p网络传播数据。完成访问权限申请后,其区块将具有签名,获得能源数据的访问权限,数据所有者通过智能合约验证其访问权限,即可查看能源数据的存储地址和秘钥。
[0078]
s600:数据使用者接收数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。
[0079]
具体的,接收方接收到数据后,用相应公钥解析区块,校验根节点哈希值,并通过秘钥解密隐私算法后数据。即获取数据区块后,可访问其区块中的数据存储地址,以及秘钥,通过该地址可获取远程数据,并通过上述elgamal算法进行反向解密,从而获取数据明文信息。若完成数据共享,则删除对方查看权限,本次数据共享结束。
[0080]
另外需要说明的是,通过区块链共享的数据为最终的能源决策数据而非用户的个人信息,用户的个人信息只需要上传到智能电表中进行运算,从而保护数据持有者的隐私并为请求者提供数据需求,相应的流程如下:
[0081]
输入为:迭代索引k、收敛阈值ε1和ε2、二次变量λ(0)
u,v
,辅助变量p'
u,v
。
[0082]
输出为:对每个用户的(电网使用率、可再生能源使用率、电器负载、需求响应、辅助服务)等最优化策略。
[0083]
1、判断决策变量或‖δλ‖>∈2是否满足,若满足,则继续执行后续步骤;
[0084]
2、对于每个用户u∈v
′
,读取智能电表中的决策变量p
′
u,v
和二次变量λ
u,v
,求解最优化方程更新能源数据交易决策到智能电表中。
[0085]
3、收集用户的决策变量p
u,v
;
[0086]
计算辅助决策变量
[0087]
计算二次变量λ
u,v
[t]
←
λ
u,v
[t]+ρ(p
′
u,v
[t]-p
u,v
[t]);
[0088]
迭代计算直到所有用户均不满足步骤1的条件时结束。
[0089]
上述用户个人信息为用户所有者的能源数据;数据所有者包括智能电表、新能源汽车充电站、空调供热系统、光伏发电站等。
[0090]
本实施例提供了一种基于区块链技术的数据共享方法,包括数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点;获取数据使用者关于能源需求的请求,关于能源需求的请求被打包成数据请求区块并加密后通过p2p网络传递到各个数据所有者的节点;通过智能合约进行博弈,通过各项机制确保达到纳什均衡;当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过p2p网络传播;数据使用者接收数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。本发明通过利用区块链技术将能源数据在数据拥有者和数据使用者之间直接进行加密传递,保证了信息传递的安全性,避免了第三方机构侵入导致数据受损或缺失的问题。
[0091]
以上是对本发明的一种基于区块链技术的数据共享方法的实施例进行的详细介绍,以下将对本发明的一种基于区块链技术的数据共享系统的实施例进行详细的介绍。
[0092]
本实施例提供了一种基于区块链技术的数据共享系统,包括:能源数据发布单元、请求处理单元和数据共享单元。
[0093]
在本实施例中,能源数据发布单元用于数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;还用于将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点。
[0094]
进一步的,在能源数据发布单元中,将能源数据经智能电表隐私化,具体包括:
[0095]
各节点利用自身私有钥计算公钥,计算式如下:
[0096]
y≡g
x
modp
[0097]
式中,p为素数,g为的生成元,为私有钥,y为公钥;
[0098]
获取明文信息,利用公钥计算对应的密文信息,计算式如下:
[0099]
c=(c1,c2)
[0100]
c1=gkmodp
[0101]
c2=ykmmodp
[0102]
式中,c为密文信息,c1为,c2为,k为随机数且
[0103]
进一步的,在能源数据发布单元中,将能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点,具体包括:
[0104]
将能源数据区块以交易记录的形式保存在各数据所有者节点的私人账本中,各数据所有者节点通过将密文信息转换后得到以明文信息保存的能源数据,转换过程通过如下计算式实现:
[0105][0106]
在本实施例中,请求处理单元用于获取数据使用者关于能源需求的请求,关于能源需求的请求被打包成数据请求区块并加密后通过区块链传递到各个数据所有者的节点;还用于通过智能合约进行博弈,通过各项机制确保达到纳什均衡;还用于当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过区块链网络传播。
[0107]
进一步的,在请求处理单元中,数据所有者和数据使用者之间共享的数据具体为能源决策数据,能源决策数据由各节点的用户信息计算得到。
[0108]
进一步的,在请求处理单元中,数据请求区块采用elgamal算法进行数据传输加密。
[0109]
在本实施例中,数据共享单元用于数据使用者接收数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。
[0110]
需要说明的是,本实施例提供的数据共享系统用于实现前述实施例提供的数据共享方法,各单元的具体设置均以完整实现该方法为准,在此不再详述。
[0111]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种基于区块链技术的数据共享方法,其特征在于,包括如下步骤:数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;将所述能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点;获取数据使用者关于能源需求的请求,所述关于能源需求的请求被打包成数据请求区块并加密后通过p2p网络传递到各个所述数据所有者的节点;通过智能合约进行博弈,通过各项机制确保达到纳什均衡;当博弈达成后,将数据信息记录在所述数据请求区块中,并将区块通过所述p2p网络传播;所述数据使用者接收所述数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。2.根据权利要求1所述的基于区块链技术的数据共享方法,其特征在于,将能源数据经智能电表隐私化,具体包括:各节点利用自身私有钥计算公钥,计算式如下:y≡g
x
modp式中,p为素数,g为的生成元,为私有钥,y为公钥;获取明文信息,利用公钥计算对应的密文信息,计算式如下:c=(c1,c2)c1=g
k
modpc2=y
k
mmodp式中,c为所述密文信息,c1为,c2为,k为随机数且3.根据权利要求2所述的基于区块链技术的数据共享方法,其特征在于,将所述能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点,具体包括:将所述能源数据区块以交易记录的形式保存在各数据所有者节点的私人账本中,所述各数据所有者节点通过将所述密文信息转换后得到以明文信息保存的所述能源数据,转换过程通过如下计算式实现:4.根据权利要求1所述的基于区块链技术的数据共享方法,其特征在于,所述数据所有者和所述数据使用者之间共享的数据具体为能源决策数据,所述能源决策数据由各节点的用户信息计算得到。5.根据权利要求1所述的基于区块链技术的数据共享方法,其特征在于,所述数据请求区块采用elgamal算法进行数据传输加密。6.一种基于区块链技术的数据共享系统,其特征在于,包括:能源数据发布单元,用于数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密,同时产生哈希地址;还用于将所述能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点;请求处理单元,用于获取数据使用者关于能源需求的请求,所述关于能源需求的请求
被打包成数据请求区块并加密后通过p2p网络传递到各个所述数据所有者的节点;还用于通过智能合约进行博弈,通过各项机制确保达到纳什均衡;还用于当博弈达成后,将数据信息记录在所述数据请求区块中,并将区块通过所述p2p网络传播;数据共享单元,用于所述数据使用者接收所述数据请求区块并进行解析,同时校验根节点的哈希值并进行解密从而获取所需的能源数据。7.根据权利要求6所述的基于区块链技术的数据共享系统,其特征在于,在所述能源数据发布单元中,将能源数据经智能电表隐私化,具体包括:各节点利用自身私有钥计算公钥,计算式如下:y≡g
x
modp式中,p为素数,g为的生成元,为私有钥,y为公钥;获取明文信息,利用公钥计算对应的密文信息,计算式如下:c=(c1,c2)c1=g
k
modpc2=y
k
mmodp式中,c为所述密文信息,c1为,c2为,k为随机数且8.根据权利要求7所述的基于区块链技术的数据共享系统,其特征在于,在所述能源数据发布单元中,将所述能源数据区块在区块链网络中进行传递,保存到其余数据所有者节点,具体包括:将所述能源数据区块以交易记录的形式保存在各数据所有者节点的私人账本中,所述各数据所有者节点通过将所述密文信息转换后得到以明文信息保存的所述能源数据,转换过程通过如下计算式实现:9.根据权利要求6所述的基于区块链技术的数据共享系统,其特征在于,在所述请求处理单元中,所述数据所有者和所述数据使用者之间共享的数据具体为能源决策数据,所述能源决策数据由各节点的用户信息计算得到。10.根据权利要求6所述的基于区块链技术的数据共享系统,其特征在于,在所述请求处理单元中,所述数据请求区块采用elgamal算法进行数据传输加密。
技术总结
本发明提供了一种基于区块链技术的数据共享方法和系统,包括数据所有者将能源数据经智能电表隐私化后,打包成能源数据区块结构并加密;通过区块链网络中进行传递,保存到其余数据所有者节点;获取数据使用者的请数据请求区块并加密后通过P2P网络传递到各个数据所有者的节点;通过智能合约进行博弈;当博弈达成后,将数据信息记录在数据请求区块中,并将区块通过P2P网络传播;数据使用者接收数据请求区块并进行解析并进行解密从而获取所需的能源数据。本发明通过利用区块链技术将能源数据在数据拥有者和数据使用者之间直接进行加密传递,保证了信息传递的安全性,避免了第三方机构侵入导致数据受损或缺失的问题。机构侵入导致数据受损或缺失的问题。机构侵入导致数据受损或缺失的问题。
技术研发人员:
张春梅 许兴雀 李辉明 王曦 黄静婷
受保护的技术使用者:
广东电网有限责任公司中山供电局
技术研发日:
2022.08.24
技术公布日:
2022/11/18