一种基于分片策略的区块链异步共识方法及装置制造方法及图纸

技术编号:37792821 阅读:7 留言:0更新日期:2023-06-09 09:23
本发明专利技术提供一种基于分片策略的区块链异步共识方法及装置,通过分片技术将原本单一的链式结构分为多个独立的区块链片分片,每个分片可以由不同的共识节点维护,以提高整个区块链系统的吞吐量和效率。在每个分片中采用异步共识算法进行共识,使得运行不受网络延迟等因素的限制。同时通过引入输入缓冲区,由缓冲区节点维护一个全局一致的共识信息缓冲队列,将验证通过后的交易添加一个共识标记序号,并将带序号的交易信息填入共识信息缓冲队列,使得各个分片的异步共识能够在全局一致的共识信息缓冲队列中得以协调,确保系统整体的一致性。性。性。

【技术实现步骤摘要】
一种基于分片策略的区块链异步共识方法及装置


[0001]本专利技术涉及区块链
,尤其涉及一种基于分片策略的区块链异步共识方法及装置。

技术介绍

[0002]随着区块链技术的不断发展,越来越多的领域开始使用区块链技术,如数字货币、金融、物流等。区块链技术能够提供安全性、去中心化、透明度等优点,但同时也存在着一些问题,其中最主要的问题是共识算法的效率低下。目前,区块链主要采用的是基于拜占庭容错的共识算法,如PBFT、Tendermint等,这些算法虽然能够提供较高的安全性和可靠性,但是其性能却十分低下,无法满足现实应用场景的需求。在实际应用中,面对复杂的网络环境和高并发的数据处理需求,这些共识算法难以保证高效、高可用性和可扩展性。
[0003]现有的共识技术中,如专利号为CN114584577A的专利,提出了一种处理数据的区块链分片异步共识方法及系统,采用的分片共识的方式,在分片共识过程中,网络节点之间需要频繁地交换信息和进行数据同步,这会对网络的稳定性和带宽产生负面影响。如专利号为CN112862490B的专利,提出了一种解决区块链中共识节点之间不一致性的方法,通过使用合约容器对签名交易序列进行映射,并将其转化为状态写入指令集合来决定区块链账本状态的迁移。在下一轮原子广播中,对该映射进行状态迁移共识,即输出共识。但是,该方法需要进行预执行和状态映射,这增加了系统复杂性和计算成本。此外,由于该方法依赖原子广播和节点管理合约等技术,一旦出现故障或攻击,可能会导致共识失败或节点管理不稳定。如专利号为CN114338040A的专利,提供了一种在区块链网络中实现多个节点之间共识的方法,在分组分层的节点设计架构下,通过三次共识,实现多节点网络下的共识。但是,该专利的实现需要进行多次共识和广播,因此可能会带来一定的时延和交易处理效率下降。

技术实现思路

[0004]鉴于此,本专利技术提供了一种基于分片策略的区块链异步共识方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决当前区块链共识算法的效率低、可扩展性差以及异步环境可用性低的问题。
[0005]一方面,本专利技术提供一种基于分片策略的区块链异步共识方法,所述方法用于在区块链网络上执行,所述区块链网络包括由多个联盟链节点组成的输入缓冲区和异步共识区,所述输入缓冲区包含多个信息提交入口,每个信息提交入口由raft算法维护一致性,所述异步共识区内的联盟链节点采用异步分片的形式设置为多个分片,该方法包括以下步骤:由距离客户端最接近的所述信息提交入口接收所述客户端提交的交易信息,对所述客户端进行权限和身份验证,并获取数字签名;验证通过后,为所述交易信息添加信息摘要、代理签名和共识信息id,并将所述交易信息插入所述输入缓冲区的共识信息缓冲队列;
在所述异步共识区中,由完成上一共识工作的一联盟链节点作为消息同步发送节点,请求获取所述共识信息缓冲队列中的第一设定数量个交易信息,并打包为共识信息;所述消息同步发送节点将所述共识信息划分为多个数据块,并添加多个纠删码块组成广播合集;所述消息同步发送节点将所述广播合集中的各数据块和纠删码块分别发送至所在分片内的其他消息同步接收节点;所述消息同步接收节点在接受到第二设定数量个数据块或纠删码块后,根据纠删码块修复和验证原消息,在验证正确的情况下广播添加签名信息的回声消息;当所述消息同步发送节点接收到第三设定数量个回声消息时,确认接收所述共识信息,并对所述共识信息生成一个可验证摘要;所述消息同步发送节点所在分片内,采用异步共识算法对所述可验证摘要进行共识认证。
[0006]在一些实施例中,每个信息提交入口由raft算法维护一致性,包括:每个信息提交入口设置一个主节点接收所述客户端提交的交易信息,其他节点作为备份节点;由各信息提交入口拉取彼此的commit日志进行同步,将同步后的所述交易信息插入所述输入缓冲区的共识信息缓冲队列。
[0007]在一些实施例中,所述异步共识区内的联盟链节点采用异步分片的形式设置为多个分片,包括:对于所述异步共识区内的每个联盟链节点,每当执行第三设定数量次共识后,向所述区块链网络的智能体提交再分片申请;所述智能体计算当前时刻每个分区内各联盟链节点之间相对的计算能力值、历史信誉值和推荐信誉值;在每个分片中,将单个联盟链节点相对于其他联盟链节点的所述计算能力值、所述历史信誉值和所述推荐信誉值加权求和,并累加得到该联盟链节点的综合权重;对每个分片内各联盟链节点的综合权重求和得到当前时刻所述分片的分片权重;根据各分片的分片权重占比,在0~1的范围内随机分配各分片的阈值区间;根据提交再分片申请的联盟链节点的综合权重,将提交再分片申请的联盟链节点标记为良好节点、故障节点或恶意节点;针对所述良好节点,生成随机数,将所述随机数连接所述良好节点的数字身份信息进行哈希运算,将结果转换为0~1的小数,判断所述小数所属的阈值区间,将所述良好节点划分到该阈值区间对应的分片;针对所述故障节点,直接将其划分至分片权重最高的分片中;针对所述恶意节点,删除其参与共识认证的资格,待资质重新审核后恢复。
[0008]在一些实施例中,所述计算能力值的计算式为:;其中,表示t时刻节点i相对于节点j的计算能力值,表示在时刻t时节点i的物理计算能力,表示网络数据包发送能力,α和β为归一化参数。
[0009]所述历史信誉值的计算式为:
其中,表示t时刻节点i相对于节点j的历史信誉值,表示动态变化因子,x表示变化速率调节因子,t
k
表示过去的一个相对时间点;所述推荐信誉值的计算式为:其中,表示t时刻节点i相对于节点j的推荐信誉值,表示t时刻节点i相对其推荐节点l的计算能力值,表示t时刻节点i相对于节点j的计算能力值;L表示推荐节点的数量;所述综合权重的计算式为:其中,γ、δ和ε表示权重系数;分片n在t时刻的分片权重计算式为:其中,k表示分配n中的联盟链节点的编号,表示t时刻节点i相对于节点j的综合权重。
[0010]在一些实施例中,根据提交再分片申请的联盟链节点的综合权重,将提交再分片申请的联盟链节点标记为良好节点、故障节点或恶意节点,包括:获取预设值域从低到高的第一分类区间、第二分类区间和第三分类区间,若提交再分片申请的联盟链节点的综合权重在所述第一分类区间内则判断该联盟链节点为恶意节点,若提交再分片申请的联盟链节点的综合权重在所述第二分类区间内则判断该联盟链节点为故障节点,若提交再分片申请的联盟链节点的综合权重在所述第三分类区间内则判断该联盟链节点为良好节点。
[0011]在一些实施例中,根据提交再分片申请的联盟链节点的综合权重,将提交再分片申请的联盟链节点标记为良好节点、故障节点或恶意节点,还包括:获取设定阈值,当提交再分片申请的联盟链节点被判定为恶意节点的次数小于所述设定阈值,则将其作为故障节点处理;当提交再分片申请的联盟链节点被判定为恶意节点的次数大于等于所述设定阈值,则将其作为恶意节点处理。
[0012]在一些实施例中,所述异步共识算法为DumboBFT算法。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分片策略的区块链异步共识方法,其特征在于,所述方法用于在区块链网络上执行,所述区块链网络包括由多个联盟链节点组成的输入缓冲区和异步共识区,所述输入缓冲区包含多个信息提交入口,每个信息提交入口由raft算法维护一致性,所述异步共识区内的联盟链节点采用异步分片的形式设置为多个分片,该方法包括以下步骤:由距离客户端最接近的所述信息提交入口接收所述客户端提交的交易信息,对所述客户端进行权限和身份验证,并获取数字签名;验证通过后,为所述交易信息添加信息摘要、代理签名和共识信息id,并将所述交易信息插入所述输入缓冲区的共识信息缓冲队列;在所述异步共识区中,由完成上一共识工作的一联盟链节点作为消息同步发送节点,请求获取所述共识信息缓冲队列中的第一设定数量个交易信息,并打包为共识信息;所述消息同步发送节点将所述共识信息划分为多个数据块,并添加多个纠删码块组成广播合集;所述消息同步发送节点将所述广播合集中的各数据块和纠删码块分别发送至所在分片内的其他消息同步接收节点;所述消息同步接收节点在接受到第二设定数量个数据块或纠删码块后,根据纠删码块修复和验证原消息,在验证正确的情况下广播添加签名信息的回声消息;当所述消息同步发送节点接收到第三设定数量个回声消息时,确认接收所述共识信息,并对所述共识信息生成一个可验证摘要;所述消息同步发送节点所在分片内,采用异步共识算法对所述可验证摘要进行共识认证。2.根据权利要求1所述的基于分片策略的区块链异步共识方法,其特征在于,每个信息提交入口由raft算法维护一致性,包括:每个信息提交入口设置一个主节点接收所述客户端提交的交易信息,其他节点作为备份节点;由各信息提交入口拉取彼此的commit日志进行同步,将同步后的所述交易信息插入所述输入缓冲区的共识信息缓冲队列。3.根据权利要求1所述的基于分片策略的区块链异步共识方法,其特征在于,所述异步共识区内的联盟链节点采用异步分片的形式设置为多个分片,包括:对于所述异步共识区内的每个联盟链节点,每当执行第三设定数量次共识后,向所述区块链网络的智能体提交再分片申请;所述智能体计算当前时刻每个分区内各联盟链节点之间相对的计算能力值、历史信誉值和推荐信誉值;在每个分片中,将单个联盟链节点相对于其他联盟链节点的所述计算能力值、所述历史信誉值和所述推荐信誉值加权求和,并累加得到该联盟链节点的综合权重;对每个分片内各联盟链节点的综合权重求和得到当前时刻所述分片的分片权重;根据各分片的分片权重占比,在0~1的范围内随机分配各分片的阈值区间;根据提交再分片申请的联盟链节点的综合权重,将提交再分片申请的联盟链节点标记为良好节点或故障节点或恶意节点;针对所述良好节点,生成随机数,将所述随机数连接所述良好节点的数字身份信息进行哈希运算,将结果转换为0~1的小数,判断所述小数所属的阈值区间,将所述良好节点划分到该阈值区间对应的分片;针对所述故障节点,直接将其划分至分片权重最高的分片中;针对所述恶意节点,删除其参...

【专利技术属性】
技术研发人员:熊翱张旺郭少勇王栋李艳萍柏德胜郭庆雷银洲
申请(专利权)人:国网数字科技控股有限公司中国环境科学研究院
类型:发明
国别省市:

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

1