区块链的双通道共识系统和方法、计算机可读存储介质技术方案

技术编号:32344321 阅读:14 留言:0更新日期:2022-02-16 18:59
一种区块链的双通道共识系统和方法、计算机可读存储介质,通过信用评价划分、选取、调整参与共识组的节点集合,客户端可以通过组播或者广播的方式向共识组节点分通道发送共识请求和待处理的区块数据。共识主节点接收到该共识请求消息以后,在共识副节点中发起共识,向共识副节点发送仲裁请求消息,共识副节点可以根据命名寻址在网络中请求待共识区块数据,就近、灵活获取待验证的共识所需的区块数据;共识副节点根据仲裁请求消息,对待共识区块数据进行仲裁投票,依次完成后续共识流程。选取高可靠节点提高安全性;基于双通道松耦合共识转换与数据分发流程,提高系统的并行度;基于命名寻址降低冗余压力。基于VRF与门限签名投票提升共识活性。提升共识活性。提升共识活性。

【技术实现步骤摘要】
区块链的双通道共识系统和方法、计算机可读存储介质


[0001]本申请涉及区块链
,具体涉及区块链的双通道共识系统和方法、计算机可读存储介质。

技术介绍

[0002]分布式系统的共识协议,大致可分为两类,一类是基于数据状态:例如比特币为代表的区块链算法(或者称为中本聪共识),另一类基于投票:例如经典的 BFT 算法及后续的演进算法PBFF等。分布式共识协议是区块链系统的一个重要组成部分。
[0003]在分布式账本系统中,每个节点需要让自身存储的账本跟其他节点存储的账本保持一致,这个过程就是通过共识算法实现的。区块链中目前常见的共识过程有工作量证明机制共识过程、拜占庭容错(Byzantine Fault Tolerance,简称BFT)共识过程、实用拜占庭(Practical Byzantine Fault Tolerance,简称PBFT)共识过程,其除了能够容忍宕机、网络延迟/断开等良性错误,还能够容忍任意类型的恶意攻击。
[0004]一个完整BFT共识过程包括多个视图(view),视图也可以称为共识单元,参与共识的各个副本节点轮值“主节点”,每个主节点完成一个共识单元,共识单元之间切换流程复杂。每个视图通常包括多个阶段,例如:每个共识单元可以包括3阶段,分别为预提交(pre

commit)、提交(commit)、决策(decsion)。每次共识单元收集大于预设数量的投票即可。由于BFT共识过程复杂,使得区块数据较大的情况下,通信压力大,共识很难进行下去。
[0005]以HotStuff为代表的新一类共识算法,原理上结合了“基于数据状态”与“投票”机制的两类共识协议的特点,既基于树/链式数据结构维护账本/上链数据状态(历史(时间戳在前的)的数据块是已经被共识算法验证并确认正确的数据、不可篡改的分布式可信记账技术方法),同时也改进了BFT投票类共识算法的上链验证流程。每个共识单元过程采用主节点(Leader)集中处理的方式,收集门限签名,从而达成共识,每个共识单元相对BFT共识过程在保证正确性和安全性的前提下,缩减了共识轮次(基本接近O(n)线性处理复杂度)。
[0006]然而,在大规模组网情况下,主节点及副节点依次投票的单元过程中的拟上链数据通信、处理、延时压力较大,区块数据较大的情况下,通信也面临较大压力,共识性能仍然面临带宽、延时、节点离线、连通性不稳定等技术挑战。

技术实现思路

[0007]本申请主要解决的技术问题是区块数据较大的情况下,通信也面临较大压力,共识效率不高共识过程效率不高的问题。
[0008]根据第一方面,一种实施例中提供一种区块链的双通道共识系统,包括:多个节点;每个节点属于一种节点类型,所述节点类型包括:主控类型、协调类型、边缘类型;所述主控类型的节点为所述区块链的双通道共识系统初始确定的;所述协调类型的节点和所述边缘类型的节点基于信用度值确定;所述主控类型的节点接收客户端广播的共识请求消息,所述共识请求消息携带待
共识区块数据的名字;所述主控类型的节点向协调类型的节点发送遴选通知;所述主控类型的节点接收所述协调类型的节点发送的遴选通知响应,所述遴选通知响应中包含所述协调类型的节点的私钥签名;所述主控类型的节点基于可验证随机函数对各协调类型的节点的私钥签名进行验证,得到验证结果;所述主控类型的节点在验证结果为验证通过的情况下,基于各协调类型的节点的信用度值,确定共识节点和候选共识主节点;所述主控类型的节点向所述共识节点分别发送入选通知,所述入选通知用于指示已被选为共识节点;所述主控类型的节点通过共识过程完成对候选共识主节点的验证,在对所述候选共识主节点验证通过的情况下,确定候选共识主节点为共识主节点;所述主控类型的节点向所述共识节点广播所述共识主节点;所述共识主节点向共识副节点发送仲裁请求消息,所述仲裁请求消息携带待共识区块数据的名字;所述共识副节点根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据;所述共识副节点进行签名验证和仲裁投票,并进行门限签名,得到投票结果;所述共识副节点向所述共识主节点发送所述投票结果;所述共识主节点根据接收到的各投票结果,得到共识结果,所述共识结果包括:达成共识或者未达成共识。
[0009]根据第二方面,一种实施例中提供一种区块链的双通道共识方法,应用于区块链的双通道共识系统,所述区块链的双通道共识系统包括:共识主节点和共识副节点;所述方法包括:所述共识副节点接收所述共识主节点发送的仲裁请求消息,所述仲裁请求消息携带待共识区块数据的名字;所述共识副节点根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据;所述共识副节点进行签名验证和仲裁投票,并进行门限签名,得到投票结果;所述共识副节点向所述共识主节点发送所述投票结果,以使所述共识主节点根据接收到的各投票结果,得到共识结果,所述共识结果包括:达成共识或者未达成共识。
[0010]根据第三方面,一种实施例中提供一种区块链的双通道共识方法,应用于区块链的双通道共识系统,所述区块链的双通道共识系统包括:共识主节点和共识副节点;所述方法包括:所述共识主节点接收客户端发送的共识请求消息,所述共识请求消息中包含待共识区块数据的名字;所述共识主节点向所述共识副节点分别发送仲裁请求消息,所述仲裁请求消息携带待共识区块数据的名字,以使所述共识副节点根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据,并进行签名验证、仲裁投票和进行门限签
名,得到投票结果;所述共识主节点接收各共识副节点发送的所述投票结果;所述共识主节点根据接收到的各投票结果,得到共识结果,所述共识结果包括:达成共识或者未达成共识。
[0011]根据第四方面,一种实施例中提供一种区块链的双通道共识方法,应用于区块链的双通道共识系统,所述区块链的双通道共识系统包括:多个节点;每个节点具有所属的节点类型,所述节点类型包括:主控类型、协调类型、边缘类型;所述主控类型的节点为所述区块链的双通道共识系统初始确定的;所述协调类型的节点和所述边缘类型的节点基于信用度值确定;所述方法包括:所述主控类型的节点接收客户端发送的共识请求消息,所述共识请求消息中包含待共识区块数据的名字;所述主控类型的节点基于可验证随机函数和所述多个节点分别对应的信用度值,确定共识节点,所述共识节点包括:共识主节点和共识副节点,所述共识节点所属的类型是协调类型或主控类型;其中,节点对应的信用度值根据以下至少一种所述节点的指标确定:计算能力、内存能力、带宽水平、在线稳定性、拜占庭信任度和交互评分信任度;所述主控类型的节点向所述共识节点分别发送入选通知,所述入选通知用于指示已被选为共识节点;所述主控类型的节点向所述共识节点广播所述共识主节点,以使所述共识副节点接收所述共识主节点发送的仲裁请求消息,并根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据,进行签名验证和仲裁投票,并进行门限签名,得到共识结果,所述共识结果包括:达成共本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的双通道共识系统,其特征在于,包括:多个节点;每个节点属于一种节点类型,所述节点类型包括:主控类型、协调类型、边缘类型;所述主控类型的节点为所述区块链的双通道共识系统初始确定的;所述协调类型的节点和所述边缘类型的节点基于信用度值确定;所述主控类型的节点接收客户端广播的共识请求消息,所述共识请求消息携带待共识区块数据的名字;所述主控类型的节点向协调类型的节点发送遴选通知;所述主控类型的节点接收所述协调类型的节点发送的遴选通知响应,所述遴选通知响应中包含所述协调类型的节点的私钥签名;所述主控类型的节点基于可验证随机函数对各协调类型的节点的私钥签名进行验证,得到验证结果;所述主控类型的节点在验证结果为验证通过的情况下,基于各协调类型的节点的信用度值,确定共识节点和候选共识主节点;所述主控类型的节点向所述共识节点分别发送入选通知,所述入选通知用于指示已被选为共识节点;所述主控类型的节点通过共识过程完成对候选共识主节点的验证,在对所述候选共识主节点验证通过的情况下,确定候选共识主节点为共识主节点;所述主控类型的节点向所述共识节点广播所述共识主节点;所述共识主节点向共识副节点发送仲裁请求消息,所述仲裁请求消息携带待共识区块数据的名字;所述共识副节点根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据;所述共识副节点进行签名验证和仲裁投票,并进行门限签名,得到投票结果;所述共识副节点向所述共识主节点发送所述投票结果;所述共识主节点根据接收到的各投票结果,得到共识结果,所述共识结果包括:达成共识或者未达成共识。2.一种区块链的双通道共识方法,其特征在于,应用于区块链的双通道共识系统,所述区块链的双通道共识系统包括:共识主节点和共识副节点;所述方法包括:所述共识副节点接收所述共识主节点发送的仲裁请求消息,所述仲裁请求消息携带待共识区块数据的名字;所述共识副节点根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据;所述共识副节点进行签名验证和仲裁投票,并进行门限签名,得到投票结果;所述共识副节点向所述共识主节点发送所述投票结果,以使所述共识主节点根据接收到的各投票结果,得到共识结果,所述共识结果包括:达成共识或者未达成共识。3.如权利要求2所述的方法,其特征在于,所述共识副节点根据所述待共识区块数据的名字,通过命名寻址的通信方式,获取所述待共识区块数据,包括:所述共识副节点在确定未存储所述待共识区块数据的情况下,通过命名寻址的通信方式,向其他共识节点发送数据获取请求,所述其他共识节点包括所述共识主节点和除所述
共识副节点以外的共识副节点;所述共识副节点接收所述其他共识节点中的目标节点发送的所述待共识区块数据。4.如权利要求3所述的方法,其特征在于,所述待共识区块数据的名字包括:客户端的标识信息和待共识区块数据的标识,所述待共识区块数据的标识包括:区块高度和区块头的哈希值;所述数据获取请求中包含:协议标识信息、可路由的标识前缀信息、客户端的标识信息和待共识区块数据的名字。5.如权利要求2

4任一项所述的方法,其特征在于,所述区块链的双通道共识系统中的包含多个节点,所述共识主节点和所述共识副节点是从所述多个节点中选择的,每个节点具有所属的节点类型,所述节点类型包括:主控类型、协调类型、边缘类型;所述主控类型的节点为所述区块链的双通道共识系统初始确定的;所述协调类型的节点和所述边缘类型的节点基于信用度值确定;所述共识主节点和所述共识副节点为所述主控类型的节点基于可验证随机函数和所述多个节点分别对应的信用度值确定的,所述共识副节点所属的类型是协调类型或主控类型,所述...

【专利技术属性】
技术研发人员:雷凯余锡权郭晨山进孝李琦何晟闵江松徐婷景晓军陈佩淑袁国辉陈侃
申请(专利权)人:深圳市智慧城市科技发展集团有限公司招商新智科技有限公司金蝶软件中国有限公司任子行网络技术股份有限公司
类型:发明
国别省市:

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

1