当前位置: 首页 > 专利查询>山东大学专利>正文

一种支持拜占庭容错的动态安全混合共识方法及系统技术方案

技术编号:38567670 阅读:15 留言:0更新日期:2023-08-22 21:04
本公开提供了一种支持拜占庭容错的动态安全混合共识方法及系统,包括:对区块链网络中的节点进行分组,获得若干共识节点组,并在每个共识节点组选择领导者作为委员会节点,进行委员会构建;当区块链网络接收到用户交易请求时,进行委员会内部共识;基于委员会内部共识结果,进行组内共识;其中,所述委员会内部的委员会节点将共识结果发送至对应组内节点的同时,将共识结果发送至监管节点;监管节点接收组内共识结果,并响应给对应的委员会节点,委员会节点接收到监管节点的响应后,将共识结果响应给用户客户端,实现动态安全共识。实现动态安全共识。实现动态安全共识。

【技术实现步骤摘要】
一种支持拜占庭容错的动态安全混合共识方法及系统


[0001]本公开属于区块链
,尤其涉及一种支持拜占庭容错的动态安全混合共识方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本公开相关的
技术介绍
信息,不必然构成在先技术。
[0003]早期的计算机大多都是单体架构,存在性能瓶颈和单点故障,分布式系统的出现很好的解决了单体架构的性能上限,但是在分布式系统中不可避免的引入了分布一致性问题,也就是:在某些节点出现异常时,如何保证整个系统对外的表现仍然一致。在分布式系统尤其是区块链系统中,对于共识算法的设计去保证所有节点对外提供一致的读写服务已经得到了大量的研究,PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错共识)共识算法于1999被Miguel Castro提出,使得拜占庭容错算法在实际系统应用中变得可行;Raft算法是由Diego Ongaro和John Ousterhout于2014年提出的,其主要解决无拜占庭行为下系统达成一致。但是,由于PBFT复杂度高,无法支持大量节点,不支持成员变更,导致可扩展性差,其轮换当选主节点的机制,容易遭遇敌手的针对性攻击;而raft共识则无法忍受拜占庭容错,安全性低。

技术实现思路

[0004]本公开为了解决上述问题,提供了一种支持拜占庭容错的动态安全混合共识方法及系统,所述方案支持区块链网络中的大量节点,有效解决了PBFT共识方法吞吐量差,不支持成员变更以及raft共识不能对抗拜占庭行为、安全性低的问题;同时,通过引入监管节点以及可验证随机函数,有效提升了区块链系统的安全性。
[0005]根据本公开实施例的第一个方面,提供了一种支持拜占庭容错的动态安全混合共识方法,包括:
[0006]对区块链网络中的节点进行分组,获得若干共识节点组,并在每个共识节点组选择领导者作为委员会节点,进行委员会构建;
[0007]当区块链网络接收到用户交易请求时,进行委员会内部共识;
[0008]基于委员会内部共识结果,进行组内共识;其中,所述委员会内部的委员会节点将共识结果发送至对应组内节点的同时,将共识结果发送至监管节点;
[0009]监管节点接收组内共识结果,并响应给对应的委员会节点,委员会节点接收到监管节点的响应后,将共识结果响应给用户客户端,实现动态安全共识。
[0010]进一步的,所述对区块链网络中的节点进行分组,具体为:基于预设分组数,采用一致性哈希算法进行节点分组,其中,在所述一致性哈希算法中,通过对实际分组设置若干虚拟分组来扩大分组数。
[0011]进一步的,当区块链网络中委员会内的委员会主节点接收到用户交易请求时,开
启共识;其中,所述委员会主节点的选择由委员会内部节点通过可验证随机函数进行确定。
[0012]进一步的,通过可验证随机函数确定委员会主节点,具体包括:首先监管节节点会广播一个全网已知的随机数r和条件num,每个委员会节点在本地利用随机数r和自身私钥sk生成一个hash值,如果hash<num,该委员会节点会同时生成一个证明proof,将该hash值和proof发送给其他委员会节点进行验证,即验证该hash值是否是通过监管节点发送的随机数r生成,如果验证通过则接受该委员会节点成为新的主节点。
[0013]进一步的,当委员会内任一委员会节点发送至监管节点的共识结果与其它委员会节点均不一致,则认定该委员会节点作恶;以及,
[0014]组内节点接收到其对应委员会节点的消息后统一返回给监管节点;对于每一个共识节点组,若共识节点组内节点返回的消息与对应委员会节点的共识结果不一致的节点数大于组内节点数量的一半,则认定为委员会节点针对性作恶;若不大于组内节点数量的一半,则认定为少数组内节点作恶。
[0015]进一步的,当委员会主节点宕机或认定为作恶时,基于可验证随机函数从委员会中确定新的主节点;以及,
[0016]当组内节点认定为作恶或宕机时发生退出行为,监管节点监听到该行为时,修改当前节点状态,并发起新一轮共识,使网络节点达成一致。
[0017]进一步的,所述委员会内部共识采用拜占庭容错共识,所述组内共识采用基于raft共识。
[0018]根据本公开实施例的第二个方面,提供了一种支持拜占庭容错的动态安全混合共识系统,包括:
[0019]共识单元,其用于对区块链网络中的节点进行分组,获得若干共识节点组,并在每个共识节点组选择领导者进行委员会构建;当区块链网络接收到用户交易请求时,进行委员会内部共识;基于委员会内部共识结果,进行组内共识;其中,所述委员会内部的委员会节点将共识结果发送至对应组内节点的同时,将共识结果发送至监管节点;
[0020]交易单元,其用于监管节点接收组内共识结果,并响应给对应的委员会节点,委员会节点接收到监管节点的响应后,将共识结果响应给用户客户端,实现动态安全共识。
[0021]根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种支持拜占庭容错的动态安全混合共识方法。
[0022]根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种支持拜占庭容错的动态安全混合共识方法。
[0023]与现有技术相比,本公开的有益效果是:
[0024](1)本公开提供了一种支持拜占庭容错的动态安全混合共识方法及系统,所述方案支持区块链网络中的大量节点,有效解决了PBFT共识方法吞吐量差,不支持成员变更以及raft共识不能对抗拜占庭行为、安全性低的问题;同时,通过引入监管节点以及可验证随机函数,有效提升了区块链系统的安全性。
[0025](2)在本公开所述方案中,委员会内部共识采用拜占庭容错共识,所述组内共识采用基于raft共识,通过共识算法的结合,有效解决了两种共识算法各自的缺陷。
[0026](3)在本公开所述方案中,为了避免当分组数较少时造成因分组不够均匀产生的数据倾斜问题,本公开在实际分组中设置多个虚拟分组来扩大分组数,使得分组更加均匀。
[0027]本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
[0028]构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
[0029]图1为本公开实施例中所述的一致性Hash环分组示意图;
[0030]图2为本公开实施例中所述的一致性Hash环普通分组示意图;
[0031]图3为本公开实施例中所述的引入虚拟分组的一致性Hash环分组示意图;
[0032]图4为本公开实施例中所述的监管节点监督委员会节点的流程图;
[0033]图5为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持拜占庭容错的动态安全混合共识方法,其特征在于,包括:对区块链网络中的节点进行分组,获得若干共识节点组,并在每个共识节点组选择领导者作为委员会节点,进行委员会构建;当区块链网络接收到用户交易请求时,进行委员会内部共识;基于委员会内部共识结果,进行组内共识;其中,所述委员会内部的委员会节点将共识结果发送至对应组内节点的同时,将共识结果发送至监管节点;监管节点接收组内共识结果,并响应给对应的委员会节点,委员会节点接收到监管节点的响应后,将共识结果响应给用户客户端,实现动态安全共识。2.如权利要求1所述的一种支持拜占庭容错的动态安全混合共识方法,其特征在于,所述对区块链网络中的节点进行分组,具体为:基于预设分组数,采用一致性哈希算法进行节点分组,其中,在所述一致性哈希算法中,通过对实际分组设置若干虚拟分组来扩大分组数。3.如权利要求1所述的一种支持拜占庭容错的动态安全混合共识方法,其特征在于,当区块链网络中委员会内的委员会主节点接收到用户交易请求时,开启共识;其中,所述委员会主节点的选择由委员会内部节点通过可验证随机函数进行确定。4.如权利要求3所述的一种支持拜占庭容错的动态安全混合共识方法,其特征在于,通过可验证随机函数确定委员会主节点,具体包括:首先监管节节点会广播一个全网已知的随机数r和条件num,每个委员会节点在本地利用随机数r和自身私钥sk生成一个hash值,如果hash<num,该委员会节点会同时生成一个证明proof,将该hash值和proof发送给其他委员会节点进行验证,即验证该hash值是否是通过监管节点发送的随机数r生成,如果验证通过则接受该委员会节点成为新的主节点。5.如权利要求1所述的一种支持拜占庭容错的动态安全混合共识方法,其特征在于,当委员会内任一委员会节点发送至监管节点的共识结果与其它委员会节点均不一致,则认定该委员会节点作恶;以及,组内节...

【专利技术属性】
技术研发人员:官浩亮张国艳
申请(专利权)人:山东大学
类型:发明
国别省市:

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

1