应用于电力资源共享网络的区块链共识方法

文档序号:24646221发布日期:2021-04-13 15:15阅读:81来源:国知局
应用于电力资源共享网络的区块链共识方法

1.本发明涉及区块链共识技术领域,具体地说是应用于电力资源共享网络的 区块链共识方法。


背景技术:

2.随着社会的发展,传统的电网逐渐向着智能电网的方向发展,智能电网的 发展造成了不确定的电力需求,这就导致了传统发电机的发电量和电网系统的 流量会发生不可预测的波动。为了减小电网的负荷波动水平,各种电网用户共 享电能的进度优化策略层出不穷,由于电力资源交易过程中涉及到交易订单、 交易用户以及管理账户等多方面问题,使得用户与电网之间交易过程耗时、交 易缺乏灵活性。因此,为了激励电网用户以自身利益实现需求响应,区块链技 术与分布式的能源交易网络相结合。
3.区块链技术最初用于没有第三方的密码货币“比特币”中,其作为一种具 有分布式和不可变特点的分类账,上面的交易是透明可追溯的。而共识协议是 区块链技术的关键部分,它实现了在没有第三方的情况下,完成不可篡改以及 不可否认的分类账记录。由于区块链的分散和高度安全,电网场景中开始应用 区块链技术对其信息共享和资源交易过程中的数据进行可靠和可信的管理。而 作为区块链关键技术的共识算法对电网系统的效率及安全起到了至关重要的作 用。对于传统的共识算法,例如,工作量证明在挖矿时计算困难,以至于交易 速度慢;权益证明利用了参与者掌握的权益来替代挖矿操作,但容易造成权力 掌握在少数固定的参与者手中;而大部分的bft类共识算法可扩展性差,难以 实现大批量用户的增加。因而,传统的共识算法无法满足电网对效率和安全的 要求,这就需要一个新的适用于电网系统的轻量级共识机制。
4.对于应用区块链技术的电力资源共享网络来说,效率和安全是现如今需要 解决的重要难题。作为电力资源共享网络的交易用户,拥有的资源都是有限的, 因此需要一个轻量级的共识算法来提高电力资源共享网络的效率。同时,电力 资源共享网络中交易的准确实现以及不可篡改的要求,就需要一个能够阻止权 力集中的共识算法。
5.基于上述,如何提供一种用于电力资源共享网络的轻量级区块链共识处理 方法,以实现电力资源共享网络的可靠性和安全性,是需要解决的技术问题。


技术实现要素:

6.本发明的技术任务是针对以上不足,提供应用于电力资源共享网络的区块 链共识方法、终端及介质,来解决如何提供一种轻量级区块链共识方法以实现 电力资源共享网络的可靠性和安全性的技术问题。
7.第一方面,本发明提供一种应用于电力资源共享网络的区块链共识方 法,所述电力资源共享网络的联盟网络中配置有奖惩机制,并配置有多个一 一对应的联盟委员会节点和电能分配节点,所述电力资源共享网络的公共网 络中配置有用户节点,每一轮次的共识包括如下步骤:
8.根据参与竞选的联盟委员会节点的随机信任值,所有联盟委员会节点投 票选出本轮的领导者;
9.根据用户节点的随机信任值,领导者选出本轮的验证者节点并组成验证 者节点列表,将验证者节点列表及区块链高度值签名后广播至每个电能分配 节点;
10.电能分配节点根据验证者节点的公钥对区块链高度值进行加密得到加 密后验证消息,将加密后验证消息签名后发送至每个用户节点,用户节点通 过解密上述签名的验证消息确认其验证者节点身份;
11.每个验证者节点从公共网络中收集并验证交易,对于通过验证的交易, 将所述交易和押金划分为多份并与电能分配节点一一对应,每一份作为交易 消息通过其对应电能分配节点的公钥加密后,将加密后交易消息广播至对应 的电能分配节点;
12.每个电能分配节点解密对应的加密后交易消息,并将交易消息广播至对 应的联盟委员会节点;
13.联盟委员会节点恢复每个验证者节点对应的交易和押金,对于每个交 易,基于押金及对应验证者节点的信任值,所有联盟委员会节点进投票验证 所述交易并向联盟网络广播投票消息;
14.基于投票消息,将未通过验证的交易作为恶意交易,领导者收集本轮恶 意交易对应的验证者节点并广播至联盟网络,触发奖惩机制惩罚对应的验证 者节点,将通过验证的交易作为合法交易,领导者收集本轮合法交易并打包 为区块广播至联盟网络,触发奖惩机制奖励对应的领导者和验证者节点。
15.作为优选,每个联盟委员会节点的随机信任值基于上一轮所述联盟联盟 委员会节点的随机信任值以及所述联盟委员会节点被选为领导者的次数得 出,计算公式为:
[0016][0017][0018]
其中,t
ir
表示第r轮共识中,联盟委员会节点i的随机信任值,首轮共识 对应的t
ir
为初始值;
[0019]
r表示第r轮共识对应的随机值;
[0020]
n表示联盟网络中联盟委员节点的总数;
[0021]
n
i
表示联盟委员会节点i被选为领导者的次数。
[0022]
作为优选,联盟委员会节点根据参与竞选的联盟委员会节点的随机信任 值选出本轮的领导者,包括如下步骤:
[0023]
参与竞选的联盟委员会节点作为竞选者,每个竞选者均发送请求投票消 息
[0024]
对于每个竞选者,联盟网络中各个联盟委员会节点基于所述竞选者的随 机信任值发送投票响应消息进行投票;
[0025]
选取随机信任值最大的竞选者作为领导者。
[0026]
作为优选,每个用户节点的随机信任值基于上一轮所述用户节点的随机 信任值以及所述用户节点被选为验证节点的次数得出,计算公式为:
[0027][0028][0029]
其中,表示第r轮共识中,用户v的随机信任值,首轮共识对应的为 初始值;
[0030]
r表示第r轮共识对应的随机值;
[0031]
n表示公共网络中用户的总数;
[0032]
n
v
表示联盟委员会节点v被选为验证者的次数。
[0033]
作为优选,根据用户节点的随机信任值,领导者选出本轮的验证者节点 并组成验证者节点列表,将验证者节点列表及区块链高度值签名后广播至每 个电能分配节点,包括如下步骤:
[0034]
领导者根据用户节点的信息,选择随机信任值大于等于阈值的用户节点 作为验证者候选人,并组成验证者候选人名单validatorcandidatelist;
[0035]
领导者将验证者候选人消息发送至每个联盟委 员会节点;
[0036]
每个联盟委员会节点根据用户节点的随机信任值,对验证者候选人进行 投票,对于信任的验证者候选人投票为是,对于不信任的验证者候选人投票 为否,并将投票消息广播至联盟网络中;
[0037]
领导者选出投票为是的前v个成员,组成验证组,如果验证组成员数量 达到预定值,所述验证组中验证者候选人作为验证者节点组成验证者节点列 表,如果验证组成员数量不满足预定值,更改阈值并重新选择成员组成验证 组;
[0038]
将验证者节点列表及当前区块链高度值签名后广播至电 能分配节点。
[0039]
作为优选,电能分配节点相互配合,根据各个验证者节点的公钥分别对 区块链高度值加密组成验证数组,与领导者对应的电能分配节点将通过其私 钥签名的验证数组发送至每个用户节点,用户节点通过解密上述签名的验证 数组确认其验证者节点身份。
[0040]
作为优选,每个验证者节点从公共网络中收集并验证交易,包括如下步 骤:
[0041]
验证者节点从公共网络中收集交易,所述交易由其对应的用户节点进行 哈希计
算并签名后发送至公共网络中;
[0042]
验证者节点验证交易的签名,确认所述交易来源于真实的用户节点;
[0043]
验证者节点验证交易的哈希,确认所述交易的正确性。
[0044]
作为优选,通过ssss算法将加密后交易消息广播至对应的电能分配节 点;
[0045]
联盟委员会节点通过ssss算法恢复每个验证者节点对应的交易和押 金。
[0046]
作为优选,领导者收集本轮合法交易并打包为区块广播至联盟网络,触 发奖惩机制奖励对应的领导者和验证者节点,包括如下步骤:
[0047]
(1)领导者根据投票信息选出满足预定投票数的交易作为合法交易, 将合法交易打包为区块,上述区块作为预选区块广播至联盟网络中;
[0048]
(2)除领导者之外的其他联盟委员会节点验证上述预选区块,如果验 证通过,领导者将预选区块作为最终区块连接至区块链中并执行步骤(3), 如果验证不通过,领导者将验证不通过消息广播至联盟网络中并执行步骤 (5);
[0049]
(3)电能分配节点接收最终区块,并将最终区块广播到公共网络中, 完成本轮共识,并触发奖惩机制中奖励机制;
[0050]
(4)基于奖励机制,对于本轮合法交易对应的验证者节点、领导者、 以及投票的联盟委员会节点进行资金奖励,并提高对应验证者节点以及领导 者的随机信任值;
[0051]
(5)基于奖励机制,对本轮的领导者进行惩罚,且联盟委员会节点发 出更换领导者申请,将本轮领导者的随机信任值降为初始的随机信任值,并 取消本轮领导者作为竞选者参与下轮领导者的机会。
[0052]
作为优选,领导者收集本轮恶意交易对应的验证者节点并广播至联盟网 络,触发奖惩机制惩罚对应的验证者节点,包括如下步骤:
[0053]
领导者根据投票信息选出不满足预定投票数的交易作为恶意交易,恶意 交易对应的验证者节点作为恶意验证者节点;
[0054]
收集本轮的恶意验证者节点组成恶意验证者节点列表,并将恶意验证者 节点列表广播至联盟网络中,触发奖惩机制;
[0055]
基于奖惩机制中惩罚机制,对恶意验证者节点进行惩罚,扣除交易所包 含的验证者押金作为资金惩罚,将扣除的验证者押金存入奖励金额钱包中, 并在联盟网络中广播所述恶意验证者节点,将恶意验证者节点的随机信任值 降为初始的随机信任值。
[0056]
第二方面,本发明提供一种终端,包括处理器、输入设备、输出设备和 存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储 计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所 述程序指令执行如第一方面任一项所述的方法。
[0057]
第三方面,本发明提供一种介质,为一种计算机可读存储介质,所述计算 机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令 当被处理器执行时所述处理器执行如第一方面任一项所述的方法。
[0058]
本发明的应用于电力资源共享网络的区块链共识方法、终端及介质具有以 下优点:
[0059]
1、联盟委员会节点根据竞选者的随机信任值选举领导者,由于随机信任值 的优越性,可以保证领导者不会固定在部分节点中,实现了权力的分散,领导 者根据用户节点
的随机信任值选出验证者节点,保证了权力的分散;
[0060]
2、验证者节点列表以及区块链高度值通过领导者签名后广播至每个电能分 配节点,电能分配节点相互配合,通过验证者节点的公钥对区块链高度值加密 组成验证数组,与领导者对应的电能分配节点将通过其私钥签名的验证数组发 送至每个用户节点,用户节点通过解密上述签名的验证数组确认其验证者节点 身份,实现了加密传送,保证了验证者节点的准确性与安全性;
[0061]
3、交易验证与块验证的分离,提高了共识算法的效率;
[0062]
4、交易的加密传输,保证了交易的隐私性;
[0063]
5、联盟委员会节点对交易的第二次验证,防止了非正确验证者提供的恶意 交易以及阻止了sybil攻击;
[0064]
6、激励机制的应用,提高了共识算法的活性。
附图说明
[0065]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性 劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]
下面结合附图对本发明进一步说明。
[0067]
图1为实施例应用于电力资源共享网络的区块链共识方法的流程框图。
具体实施方式
[0068]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人 员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定, 在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0069]
本发明实施例提供一种应用于电力资源共享网络的区块链共识方法,用于 解决如何提供一种轻量级区块链共识方法以实现电力资源共享网络的可靠性和 安全性的技术问题。
[0070]
实施例:
[0071]
本发明的一种应用于电力资源共享网络的区块链共识方法,所述电力资 源共享网络的联盟网络中配置有奖惩机制,并配置有多个一一对应的联盟委 员会节点和电能分配节点,所述电力资源共享网络的公共网络中配置有用户 节点。
[0072]
每一轮次的共识包括如下步骤:
[0073]
s100、根据参与竞选的联盟委员会节点的随机信任值,所有联盟委员会 节点投票选出本轮的领导者;
[0074]
s200、根据用户节点的随机信任值,领导者选出本轮的验证者节点并组 成验证者节点列表,将验证者节点列表及区块链高度值签名后广播至每个电 能分配节点;
[0075]
s300、电能分配节点根据验证者节点的公钥对区块链高度值进行加密得 到加密后验证消息,将加密后验证消息签名后发送至每个用户节点,用户节 点通过解密上述签名的验证消息确认其验证者节点身份;
[0076]
s400、每个验证者节点从公共网络中收集并验证交易,对于通过验证的 交易,将所述交易和押金划分为多份并与电能分配节点一一对应,每一份作 为交易消息通过其对应电能分配节点的公钥加密后,将加密后交易消息广播 至对应的电能分配节点;
[0077]
s500、每个电能分配节点解密对应的加密后交易消息,并将交易消息广 播至对应的联盟委员会节点;
[0078]
s600、联盟委员会节点恢复每个验证者节点对应的交易和押金,对于每 个交易,基于押金及对应验证者节点的信任值,所有联盟委员会节点进投票 验证所述交易并向联盟网络广播投票消息;
[0079]
s700、基于投票消息,将未通过验证的交易作为恶意交易,领导者收集 本轮恶意交易对应的验证者节点并广播至联盟网络,触发奖惩机制惩罚对应 的验证者节点,将通过验证的交易作为合法交易,领导者收集本轮合法交易 并打包为区块广播至联盟网络,触发奖惩机制奖励对应的领导者和验证者节 点。
[0080]
本实施例中,每个联盟委员会节点的随机信任值基于上一轮所述联盟联 盟委员会节点的随机信任值以及所述联盟委员会节点被选为领导者的次数 得出,计算公式为:
[0081][0082][0083]
其中,t
ir
表示第r轮共识中,联盟委员会节点i的随机信任值,首轮共识 对应的t
ir
为初始值;
[0084]
r表示第r轮共识对应的随机值;
[0085]
n表示联盟网络中联盟委员节点的总数;
[0086]
n
i
表示联盟委员会节点i被选为领导者的次数。
[0087]
联盟委员会节点根据参与竞选的联盟委员会节点的随机信任值选出本 轮的领导者,包括如下步骤:
[0088]
s110、参与竞选的联盟委员会节点作为竞选者,每个竞选者均发送请求 投票消息
[0089]
s120、对于每个竞选者,联盟网络中各个联盟委员会节点基于所述竞选 者的随机信任值发送投票响应消息进行投票;
[0090]
s130、选取随机信任值最大的竞选者作为领导者。
[0091]
每个用户节点的随机信任值基于上一轮所述用户节点的随机信任值以 及所述用户节点被选为验证节点的次数得出,计算公式为:
能解密出块区块链高度值的用户节点确认自己成为验证者 节点。
[0107]
验证者搜集公共网络中交易并验证交易,交易由其对应的用户节点进行哈 希计算并签名后发送至公共网络中。通过验证交易签名,确定来源属于真实的 用户节点,通过验证交易的哈希,确定交易的正确性,接着将验证通过的交易 结合一定数量的押金分成m份交易消息,上述m对应电能分配节点的个数,即 上述m份交易消息与电能分配节点一一对应,使用(k,m)ssss方案将每个份额的 交易消息分别用对应电能分配节点的公钥pk
g
进行加密,然后将m份加密的交易 消息分别广播至对应的电能分配节点。
[0108]
电能分配节点在收到加密的交易消息后 进行解密,并广播对应的联盟委员会节点。
[0109]
联盟委员会节点利用ssss算法恢复每个验证者节点的交易及押金 transactionlist&deposit,并广播到联盟网络,对于每个交易,基于押金及对应验 证者节点的信任值,所有联盟委员会节点进投票验证上述交易并向联盟网络广 播投票消息
[0110]
领导者根据投票信息选出不满足预定投票数的交易作为恶意交易,恶意 交易对应的验证者节点作为恶意验证者节点;领导者收集本轮的恶意验证者 节点组成恶意验证者节点列表,并将恶意验证者节点列表广播至联盟网络 中,触发奖惩机制;基于奖惩机制中惩罚机制,对恶意验证者节点进行惩罚, 扣除交易所包含的验证者押金作为资金惩罚,将扣除的验证者押金存入奖励 金额钱包中,并在联盟网络中广播所述恶意验证者节点,将恶意验证者节点 的随机信任值降为初始的随机信任值,即
[0111]
领导者根据投票信息选出满足预定投票数的交易作为合法交易,将合法 交易打包为区块,上述区块作为预选区块广播至联盟网络中;除领导者之外 的其他联盟委员会节点验证上述预选区块。
[0112]
如果验证通过,领导者将预选区块作为最终区块连接至区块链中,电能 分配节点接收最终区块,并将最终区块广播到公共网络中,完成本轮共识, 并触发奖惩机制中奖励机制;基于奖励机制,对于本轮合法交易对应的验证 者节点、领导者、以及投票的联盟委员会节点进行奖励,具体的,提高对应 验证者节点初始的随机信任值,即对于领导者进行一定的 资金奖励并提高其随机信任值,即t
ir
=t
ir
+t
ir
×
10%,对于积极投票的验证者 节点,给予一定的资金奖励。
[0113]
如果验证不通过,是因为领导者生成的新区块没有得到大多联盟委员会 节点的同意,那么就对领导者进行惩罚,联盟委员会成员收到同意成块消息 不足,发送更换领导者申请,并降低当前领导者的信任值为初始信任值 t
ir
=t
i0
,同时取消该联盟成员下次竞选成为领导者的机会。
[0114]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明 不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓, 可以组合上述不
同实施例中的手段得到本发明更多的实施例,这些实施例也在 本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1