[发明专利]一种基于块片的BFT共识算法带宽使用率改进方法有效
申请号: | 201810906787.6 | 申请日: | 2018-08-10 |
公开(公告)号: | CN109150598B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 朱立;王泊;邱炜伟;李启雷;李伟;梁秀波;尹可挺 | 申请(专利权)人: | 上交所技术有限责任公司;杭州趣链科技有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L9/32;G06Q40/04 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞;邱启旺 |
地址: | 200131 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bft 共识 算法 带宽 使用率 改进 方法 | ||
1.一种基于块片的BFT共识算法带宽使用率改进方法,其特征在于,该方法具体包括如下步骤:
S1:区块链节点接收到客户端发起的交易请求后,首先验证交易体的格式正确性,再验证交易的签名,最后进行交易的去重,通过全部验证的交易被放到节点的交易池中;当交易池中存储的交易数量达到交易池的大小限制或者规定时间窗口中不再接收到新的交易后,该区块链节点将这部分交易打包成一个块片,放入交易块片池中,并将该交易块片广播给全网所有节点,同时删除交易池中已被打包成交易块片的交易;且一个节点接收到其他节点的交易块片,均会将该交易块片放入自己的交易块片池中。;
S2:当主节点的交易块片池中得到一定量的交易块片或者在规定时间窗口中不再接收到新的交易块片后,主节点将这部分交易块片进行排序后打包成一个区块,并将这部分交易块片从交易块片池中删除;然后主节点将一个区块中的交易块片的哈希按序组成数组并标上区块编号放在预准备消息中,并广播给全网的所有节点,然后所有共识的节点开启BFT共识的三阶段流程,即预准备、准备、提交三阶段,此时主节点已经完成预准备阶段而其他从节点还处于等待状态;
S3:当从节点接收到来自主节点的预准备消息后该从节点也完成预准备阶段,并向全网广播准备消息,标识进入准备阶段;
S4:当一个从节点收集齐不少于所有节点总数的2/3的节点的准备消息后,根据相应的预准备消息中的交易块片哈希数组从自己的交易块片池中找到相应的交易块片组成一个区块放入区块池中,并从交易块片池中删除这些交易块片,此时称该从节点完成准备阶段;然后该节点向全网广播提交消息进入提交阶段;对于主节点,只要其收集齐不少于所有节点总数的2/3的节点的准备消息即可完成准备阶段,并全网广播提交消息进入提交阶段;
S5:当任意一个共识节点收集齐不少于所有节点总数的2/3的节点的提交消息时,即完成提交阶段,完成整个BFT共识流程,此时将该轮共识确定的区块提交到执行模块进行执行和写块,在该区块写入区块链中后,该节点将该区块从区块池中删除。
2.根据权利要求1所述的基于块片的BFT共识算法带宽使用率改进方法,其特征在于,所述的S1中,对交易进行去重指的是,以写入区块链的交易的哈希值作为去重样本,这些哈希值通过布隆过滤器保存,仅保留过去24小时的交易哈希,去重未通过的交易将在此API接口层直接被剔除。
3.根据权利要求1所述的基于块片的BFT共识算法带宽使用率改进方法,其特征在于,所述的S2中,主节点将交易快片排序后需要进行去重,此次去重则以还未成功提交的所有打包好的区块中的交易作为去重样本。
4.根据权利要求1所述的基于块片的BFT共识算法带宽使用率改进方法,其特征在于,所述的S3中,从节点收到主节点的预准备消息,应进一步地对预准备消息进行正确性验证。
5.根据权利要求1所述的基于块片的BFT共识算法带宽使用率改进方法,其特征在于,所述的S4中,当从节点根据预准备消息中的交易块片哈希数组不能从自己的交易块片池中找到所有相应交易块片组成区块时,所述的从节点则直接向所述的主节点请求这部分的交易块片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上交所技术有限责任公司;杭州趣链科技有限公司,未经上交所技术有限责任公司;杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810906787.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:面向云服务提供商的带宽成本降低方法
- 下一篇:一种基于云架构的运维监控系统