[发明专利]一种提高区块链吞吐量的共识方法及系统在审
申请号: | 202111208576.3 | 申请日: | 2021-10-18 |
公开(公告)号: | CN113949518A | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 何清素;李维虎;靳丹;李玉杰;刘晓光;沙孝聪;史生平;原斌;韩庆之;张智利;吴涛;李宁;任杰 | 申请(专利权)人: | 甘肃同兴智能科技发展有限责任公司;国网甘肃省电力公司;国网甘肃省电力公司甘南供电公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/40;G06F21/55 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 朱广 |
地址: | 730000 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 区块 吞吐量 共识 方法 系统 | ||
1.一种提高区块链吞吐量的共识系统,其特征在于:所述共识系统的节点类型分为三类,分别为主节点、副主节点、副本节点;由一个主节点主导共识,当主节点遇到宕机或异常攻击时,由一个副主节点主导共识;
所述的节点中主节点和副主节点数量给为1个,其余为副本节点;
所述共识系统中的每个视图都有视图编号,且视图编号互不重复的并单调递增;
所述共识系统的节点数S满足S=3f+2,其中节点数为S,允许最大容错数量为f。
2.一种提高区块链吞吐量的共识方法,包括以下步骤:
S1:NewView阶段:当主节点与副主节点收到S-f个副本节点发送的NewView消息后,将消息以及签名同时聚合成aggQC,且其中包含副本节点所保存的视图编号最大的prepareQC;
S2:Prepare阶段:判断副本节点收到的新区块和aggQC是否是由主节点广播而得,随后发送PrepareVote消息进行第一轮投票;
S3:PreCommit阶段:判断主节点是否宕机或是否被异常攻击,然后向全网络广播包含prepareQC的PreCommit消息,进行第二轮投票;
S4:Commit阶段:将区块提交至区块链中。
3.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S1中,所述的NewView消息包含副本节点所保存的视图编号最大的prepareQC。
4.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S1中,当主节点未宕机或未被异常攻击,由主节点从收到所有消息中挑选视图编号最大的prepareQC的区块生成新的区块,然后将收集到的消息及其签名同时聚合成aggQC;当主节点未宕机或未被异常攻击,由主节点在Prepare阶段将新区块以及aggQC在全网络中广播,由副本节点接受并投票,与此同时副主节点内存被释放,不再进行任何操作;当主节点宕机或被异常攻击,由副主节点在Prepare阶段将新区块以及aggQC在全网络中广播,由副本节点接受并投票。
5.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S1中,当主节点宕机或被异常攻击,由副主节点从收到的所有消息中挑选视图编号最大的prepareQC的区块生成新的区块,然后将收集到的消息及其签名聚合成aggQC,并在Prepare阶段将新区块以及aggQC在全网络中广播,并由副本节点接受并投票。
6.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S2中,当副本节点收到的新区块和aggQC是由主节点广播而得,则在进行投票后向主节点发送PrepareVote消息进行第一轮投票;否则向副主节点发送PrepareVote消息进行第一轮投票。
7.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S3中,当副本节点收到的是由主节点广播的PreCommit消息,则向主节点发PreCommitVote消息进行第二轮投票。
8.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S3中,当主节点未宕机或未被异常攻击,主节点在收到由S-f个副本节点发送的PrepareVote消息后,则由主节点将收到所有PrepareVote消息及其签名聚合成prepareQC;否则由副主节点聚合成prepareQC;然后向全网络广播包含prepareQC的PreCommit消息。
9.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S3中,当副本节点收到的是由副主节点广播的PreCommit消息,则向副主节点发送PreCommitVote消息进行第二轮投票。
10.根据权利要求2所述的一种提高区块链吞吐量的共识方法,其特征在于:所述步骤S4中,当主节点或副主节点在收到由副本节点发送的PreCommitVote消息中的S-f个后,将所有消息及其签名聚合成preCommitQC,然后向副本节点发送包含preCommitQC的Commit消息,随后副本节点收到后将区块提交至区块链中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甘肃同兴智能科技发展有限责任公司;国网甘肃省电力公司;国网甘肃省电力公司甘南供电公司,未经甘肃同兴智能科技发展有限责任公司;国网甘肃省电力公司;国网甘肃省电力公司甘南供电公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111208576.3/1.html,转载请声明来源钻瓜专利网。