面向电力能源系统的区块链共识方法及系统技术方案

技术编号:34460865 阅读:9 留言:0更新日期:2022-08-06 17:21
本发明专利技术公开了面向电力能源系统的区块链共识方法及系统;区块链节点接收客户端发送的交易入块请求,对所有的节点进行分组,并在每个小组内部选举出领导者节点;组外共识阶段:区块提议者节点向其他小组的领导者节点进行广播;区块提议者节点和其他小组的领导者节点进入预准备状态;每个领导者节点将准备消息发送给其他领导者节点,所有的领导者节点进入准备状态;每个领导者节点将提交消息发送给其他领导者节点,所有领导者节点进入提交状态;组内共识阶段:组内的领导者将日志内容广播到组内以使组内共识节点复制当前日志条目;组内选举出新的领导者节点,组内保持主从节点日志的一致性;组内的领导者节点完成提交过程,将结果反馈给客户端。果反馈给客户端。果反馈给客户端。

【技术实现步骤摘要】
面向电力能源系统的区块链共识方法及系统


[0001]本专利技术涉及区块链
,特别是涉及面向电力能源系统的区块链共识方法及系统。

技术介绍

[0002]本部分的陈述仅仅是说明了与本专利技术相关的
技术介绍
,并不必然构成现有技术。
[0003]如何优化区域能源互联网中的能源市场化管理,即优化复杂的多能流网络优化调度与运行,使得能源本身以及附加服务的交易收益能够最大化,是能源区块链行业的核心问题。但是由于供需不平衡、运行物理条件的约束以及网络安全条件的约束等问题,传统集中式电能管理模式已逐渐不能满足当今区域能源互联网的数据安全需求。
[0004]新兴的区块链技术为电力能源系统提供了更高的安全性。由于区块链网络中的每个对等节点都包含一份账本,因此与集中式数据体系结构相比,不存在单点故障,区块链环境中的身份与特定消费者/生产者的身份之间没有直接联系,这样降低了恶意攻击的脆弱性,因此电力能源区块链系统更具弹性,从而提高电力能源系统的恢复能力。一旦一项能源交易数据被包含在区块链中,就很难出于非法目的更改或删除该交易,从而形成一个非常安全和强健的系统。电力能源系统应用的加密证券化与共识机制相结合,提供了区块链中包含的数据的不变性。
[0005]在区域能源互联网中,一些已知的区块链技术和方法并不实用,例如PoW共识方法巨大的能源消耗负担或基于PoS股权的限制。PBFT共识方法以及后来改进PBFT添加动态验证器后的IBFT(Istanbul

BFT Consensus Algorithm),在实际应用中由于通信开销巨高,在节点扩展性差强人意。而对于Raft共识方法,每个用户节点都需要认证,只能预防系统中非拜占庭故障,很难在实际能源互联网中施展应用。
[0006]该共识过程从任何用户都可以发起的事务请求开始。然后将事务广播给网络中的所有用户。验证过程在所有节点通过哈希验证事务的情况下进行。一旦验证完成,交易将包含在一个新区块内,该区块与之前的区块链相连,使其具有渗透性且不可更改。哈希的使用提供了保护区块链的有效方法。然而,在超高速计算机的帮助下,黑客可以在单个块中更改信息,然后在几分钟内重新计算链中块的所有哈希值。

技术实现思路

[0007]为了解决现有技术的不足,本专利技术提供了面向电力能源系统的区块链共识方法及系统;以解决现有的区域能源互联网领域中,用户节点通信开销大、安全性以及可扩展性问题。
[0008]第一方面,本专利技术提供了面向电力能源系统的区块链共识方法;
[0009]面向电力能源系统的区块链共识方法,包括:
[0010]区块链节点接收客户端发送的交易入块请求,区块链网络开始新一轮的区块共识,区块链网络对所有的节点进行分组,并在每个小组内部选举出领导者节点;
[0011]组外共识阶段:接收客户端请求的节点所在小组的领导者节点,作为区块提议者节点,向其他小组的领导者节点进行广播;区块提议者节点进入预准备的状态;其他小组的领导者节点在收到预准备消息后也进入预准备状态;每个领导者节点将准备消息发送给其他领导者节点,所有的领导者节点由预准备状态进入准备状态;每个领导者节点将提交消息发送给其他领导者节点,然后所有领导者节点由准备状态进入提交状态;
[0012]组内共识阶段:组内的领导者将自己的日志内容广播到组内以使组内共识节点复制当前日志条目;组内选举出新的领导者节点,组内保持主从节点日志的一致性;组内的领导者节点完成提交过程,将结果反馈给客户端。
[0013]第二方面,本专利技术提供了面向电力能源系统的区块链共识系统;
[0014]面向电力能源系统的区块链共识系统,包括:共识模块;所述共识模块被配置为:
[0015]区块链节点接收客户端发送的交易入块请求,区块链网络开始新一轮的区块共识,区块链网络对所有的节点进行分组,并在每个小组内部选举出领导者节点;
[0016]组外共识阶段:接收客户端请求的节点所在小组的领导者节点,作为区块提议者节点,向其他小组的领导者节点进行广播;区块提议者节点进入预准备的状态;其他小组的领导者节点在收到预准备消息后也进入预准备状态;每个领导者节点将准备消息发送给其他领导者节点,所有的领导者节点由预准备状态进入准备状态;每个领导者节点将提交消息发送给其他领导者节点,然后所有领导者节点由准备状态进入提交状态;
[0017]组内共识阶段:组内的领导者将自己的日志内容广播到组内以使组内共识节点复制当前日志条目;组内选举出新的领导者节点,组内保持主从节点日志的一致性;组内的领导者节点完成提交过程,将结果反馈给客户端。
[0018]与现有技术相比,本专利技术的有益效果是:
[0019]通过已知的两种算法来获得本专利技术的区块链共识方法。共识的过程包括在将交易添加到区块链之前对交易进行验证。这使区块链得以增长,而无需担心区块或其中的信息被操纵。保证了区块链数据的安全性。在电力能源系统中,该共识方法的性能分析如下:
[0020](1)通信开销:在现有的区块链共识方法中,IBFT共识每个节点都需要相互交互,通信开销很大,随着节点增多,这个弊端就会更加明显。通过本专利技术的双层共识模式,组外共识的每个代表节点都会代表一部分节点去参与外层共识,将大大减少了区块链网络的通信开销,以更适于应用到实际区域电力能源的区块链网络。
[0021](2)安全性:IBFT共识的视图更改和区块锁定机制负责检查区块有效性,保证共识达成,而Raft状态机复制机制和领导者心跳机制以及系统定时重启,负责保证区块链的活性;本专利技术还在组内共识部分增加了观察者节点,以弥补了Raft共识方法的拜占庭容错缺陷,保证了区块链的安全性,以便更好地应用在电力能源领域,满足节点通信的实时性和数据安全性。
[0022]在这样一个环境中,所有用户节点对操作负责,并且可以实现可靠的事务吞吐量,以满足业务需求,同时容忍拜占庭式故障并确保系统可操作性。IBFT方法保证了共识一致性,区块链分组内的Raft协议状态复制机制保障了最终一致性。在拜占庭容错范围F≤(f

1)/3内可以保证组外IBFT共识阶段能够进行。当非拜占庭节点数F≤(n

1)/2可以保证组内Raft共识阶段也可以进行。其中f是全网节点数,n是组内节点数。
[0023](3)可扩展性:由于本专利技术采用两阶段共识,因此大大的解决了IBFT算法由于过高
的通信量而造成的节点扩展限制,通信开销减少,网络节点增多的情况下,事务处理延迟降低,因此能有效解决系统节点扩展性的问题,使该共识方法能真正落地到电力能源区块链项目。
附图说明
[0024]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0025]图1为本专利技术实施例一的一种应用于电力能源系统的区块链共识方法的流程图;
[0026]图2(a)和图2(b)为本专利技术实施例一的IBFT共识本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.面向电力能源系统的区块链共识方法,其特征是,包括:区块链节点接收客户端发送的交易入块请求,区块链网络开始新一轮的区块共识,区块链网络对所有的节点进行分组,并在每个小组内部选举出领导者节点;组外共识阶段:接收客户端请求的节点所在小组的领导者节点,作为区块提议者节点,向其他小组的领导者节点进行广播;区块提议者节点进入预准备的状态;其他小组的领导者节点在收到预准备消息后也进入预准备状态;每个领导者节点将准备消息发送给其他领导者节点,所有的领导者节点由预准备状态进入准备状态;每个领导者节点将提交消息发送给其他领导者节点,然后所有领导者节点由准备状态进入提交状态;组内共识阶段:组内的领导者将自己的日志内容广播到组内以使组内共识节点复制当前日志条目;组内选举出新的领导者节点,组内保持主从节点日志的一致性;组内的领导者节点完成提交过程,将结果反馈给客户端。2.如权利要求1所述的面向电力能源系统的区块链共识方法,其特征是,所述区块链网络对所有的节点进行分组,并在每个小组内部选举出领导者节点;具体包括:计算节点的重要性;对节点的重要性进行归一化处理;根据归一化处理后的节点的重要性进行小组划分,将重要性差值小于设定阈值的节点划分为一组。3.如权利要求1所述的面向电力能源系统的区块链共识方法,其特征是,所述计算节点的重要性,是对节点的相关性、节点的计算能力和节点的存储容量进行加权求和得到。4.如权利要求1所述的面向电力能源系统的区块链共识方法,其特征是,组外共识阶段:接收客户端请求的节点所在小组的领导者节点,作为区块提议者节点,向其他小组的领导者节点进行广播;区块提议者节点进入预准备的状态;其他小组的领导者节点在收到预准备消息后也进入预准备状态;具体包括:区块提议者节点打包交易提出一个区块,将交易广播给其它小组的领导者节点,然后进入预准备状态;将区块提议者节点视为主领导节点;将其它小组的领导者节点视为副领导节点;每一个领导者节点到预准备状态,一旦收到预准备信息并且伴随着以下情况:区块是来自于有效的区块提议者节点、区块头有效、区块的块高和视图与领导者节点的状态匹配;则区块提议者节点广播准备消息给其它小组的领导者节点;区块提议者节点交区块请求,区块链系统中保存未来消息的模块设计一个优先队列,该模块收到请求后判断是否是未来消息,未来消息,即当前视图还未达成共识提交区块时,之后产生的交易达成共识过程中发来的预准备消息;如果是未来消息,则保存该请求到待处理请求的优先队列中,否则发送给其他领导者节点预准备消息;区块提议者节点把当前视图序号和区块请求包装成预准备消息,广播给其他领导者节点,广播前对消息进行签名处理。5.如权利要求1所述的面向电力能源系统的区块链共识方法,其特征是,每个领导者节点将准备消息发送给其他领导者节点,所有的领导者节点由预准备状态进入准备状态;具体包括:其他领导者节点收到消息后对消息进行处理,如果验证区块提案时发现这是一个未来
区块,未来区块,即当前视图还未达成共识提交区块时,之后产生的交易达成共识过程中区块提议者节点打包的预准备消息,则把它放到积压消息的优先队列中,等到区块链最高的块高加一后与视图块高一致时处理,如果区块哈希值被锁定且一致,则每个领导者节点发送提交区块消息给其他领导者节点;如果验证区块是非未来区块以及区块哈希未被锁定,则切换视图的状态为预准备状态,每个领导者节点并发送消息给其他领导者节点;每个领导者节点把视图序号和哈希值包装成消息,广播给其他领导者节点,广播前会对消息进行签名处理;假设全网共有3f个用户节点,当主领导节点收到2f+1个验证的预准备消息之后进入预准备状态;有效的预准备信息需要满足以下条件:参与共识的节点块高和视图一致;交易一致;信息是来自已知的副领导节点;然后主领导节点广播区块提交消息给副领导节点r;每个领导者节点收到准备消息后处理消息,检查视图、块高确保消息的有效性,验证消息签名的正确性,当其他领导者节点收到2f+1条消息后,锁定哈希值、切换视图的状态为准备状态,每个领导者节点并发送提交消息给其他领导者节点;每个领导者节点把视图序号和哈希值包装成提交消息,广播出去,广播前对消息进...

【专利技术属性】
技术研发人员:吴晓明梁俊龙刘祥志陈然于洋
申请(专利权)人:齐鲁工业大学山东山科智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1