【技术实现步骤摘要】
一种大规模节点高效共识方法
[0001]本专利技术涉及信息安全
,具体涉及一种大规模节点高效共识方法。
技术介绍
[0002]区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识算法。共识算法是区块链技术的重要组件,解决了节点之间的相互信任问题,在维护区块链的安全和效率方面起着至关重要的作用,使用正确的算法可显著提高区块链系统的性能。尽管区块链技术被广泛研究和开发,它始终没能得到大规模应用。一个主要的原因是,大多数区块链系统不能提供高吞吐率以及高可伸缩性来满足大规模节点间的数据处理需求。因此,大规模节点高效共识方法就是专门解决此类问题的。
[0003]根据节点准入机制的不同,传统的共识算法包括私有链共识、公有链共识和联盟链共识,其中私有链的共识算法运用的是传统分布式系统里的共识算法,主要代表算法有Paxos、Raft等,这类算法不会考虑拜占庭容错问题,一般只考虑因为节点自身以及网络原因导致的故障(如节点宕机、网络故障等因素)而不考虑集群中会有恶意节点的情况;公有链共识算法属于去中心化程度最高的,主要代表算法有PoW、PoS等,这类算法对外开放,可以抵抗1/2算力的恶意攻击,具有较强的可扩展性,但是挖矿计算带来的开销较大,并且算法性能较差;联盟链共识算法对节点进行了准入限制,主要代表算法有PBFT和PBFT改进算法等,具有低能耗和高性能等特点,可以提供1/3的容错能力。但是,PBFT算法为了达成数据的一致性采用了多阶段交互的方式,而在一轮共识的过程整个网络达到O(n2)的通信复杂度(n为参与共识的 ...
【技术保护点】
【技术特征摘要】
1.一种大规模节点高效共识方法,其特征在于,包括以下步骤:步骤1.将全网节点划分成多个分组,所有的区块数据被划分到各个分组,每组只处理和存储与本分组相关联的区块信息;步骤2.将每个分组的节点划分为上下两层结构,上层网络组成一个分区,下层网络包含多个独立的分区;步骤3.在上下两层网络的各个分区内,计算和分发聚合签名所需的密钥信息;步骤4.在每个分组内,上层网络主节点接收区块数据,并利用秘钥信息上层网络节点先进行共识的预准备和准备过程,然后下层网络节点依次进行预准备、准备和确认过程,最后上层节点完成确认过程,结束两层共识。2.根据权利要求1所述的一种大规模节点高效共识方法,其特征在于,所述步骤2的具体实现过程如下:将每个分组的节点划分为上下两层结构,上层网络组成一个分区,其中1个主节点,p个副本节点,副本节点中有m个为下层网络的主节点,其中p≥m,且p≥3;下层网络包含m个分区,每个分区包含1个主节点,n个副本节点,下层网络的主节点同时为上层网络的副本节点,其中n≥3。3.根据权利要求2所述的一种大规模节点高效共识方法,其特征在于,所述步骤3的具体实现过程如下:设定上层网络节点总数为3f1+1,f1≥1,下层网络每个分区的节点数为3f2+1,f2≥1,然后在各层网络中进行初始化设置,初始化过程为:上层网络和下层分区网络分别构造(2f1+1,3f1+1)和(2f2+1,3f2+1)多重签名,在上层网络和下层网络的每个分区内,用分区内所有节点的公钥计算聚合公钥,每个节点用自己的私钥计算成员密钥,并在各分区内分享聚合公钥和成员密钥。4.根据权利要求3所述的一种大规模节点高效共识方法,其特征在于,所述步骤4的具体实现过程如下:步骤401,上层预准备阶段;在进入新一轮共识之前,上层主节点统计上一轮本层共识确认阶段的确认信息,如果在超时之前,上层主节点收集到不少于2f1+1条确认信息,则进入新一轮共识;如果在超时时间内未收集到2f1+1条确认信息,则重发已完成的共识结果给本层其余的副本节点,再进行新一轮的共识流程;当开始新一轮共识后,上层主节点收集交易内存池中的交易,将交易打包成区块并广播给本层所有副本节点;广播消息为<<pre
‑
prepare,v,h,d>,block>,其中pre
‑
prepare标识当前消息所处的协议阶段,v标识当前消息所在的视图编号,h为区块高度,d为上层主节点对区块block的签名,block为整个区块内容;步骤402,上层准备阶段;上层准备过程分为两个阶段:阶段一:上层副本节点收到本层主节点发送过来的广播消息后,首先对消息进行验证,检查签名、区块高度以及视图编号,验证完毕后对其中的所有交易进行验证,验证无误后发送一条<prepare1,v,h,d,i>给本层主节点,其中prepare1标识当前消息所处的协议阶段,v标识当前消息所在的视图编号,h为区块高度,d为上层副本节点对区块block的签名,i为副本节点编号;阶段二:上层主节点一直监听本层副本节点发送过来的prepare1信息,上层主节点对
每个prepare1信息进行验证,验证通过则收集起来,收集到不少于2f1+1个签名后,分别验证每个签名,并将验证通过的2f1+1个不同节点的签名聚合起来,形成对区块的聚合签名信息,广播一条<prepare2,v,h,aggrsignature,node>消息给所有本层副本节点,其中prepare2标识当前消息所处的协议阶段,v标识当前消息所在的视图编号,h为区块高度,aggrsignature为上层主节点对区块block的聚合签名,node为参与聚合签名的所有节点的ID列表,上层主节点收集的签名包括自己的签名;步骤403,下层预准备阶段;当上层副本节点接收到上层主节点的prepare2消息后,根据上层主节点提供的node信息,生成所有参与聚合签名节点的合成公钥,并将本地存储的...
【专利技术属性】
技术研发人员:贾哲,冯伟坡,焦利彬,赵宾华,刘丽哲,赵海强,匡春旭,赵阳阳,
申请(专利权)人:中国电子科技集团公司第五十四研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。