[发明专利]一种基于块片的BFT共识算法带宽使用率改进方法有效
申请号: | 201810906787.6 | 申请日: | 2018-08-10 |
公开(公告)号: | CN109150598B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 朱立;王泊;邱炜伟;李启雷;李伟;梁秀波;尹可挺 | 申请(专利权)人: | 上交所技术有限责任公司;杭州趣链科技有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L9/32;G06Q40/04 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞;邱启旺 |
地址: | 200131 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bft 共识 算法 带宽 使用率 改进 方法 | ||
本发明公开一种基于块片的BFT共识算法带宽使用率改进方法,在一个区块链网络上,一个节点收到新交易时,通过验证的新交易会被缓存,直到得到一定量的交易或者在规定时间窗口中不再有新的交易,那么这些交易就会作为一个块片发送广播给其他节点,其他节点会将块片放入自己的交易块片池中;对于主节点,得到一定量的交易块片或者在规定时间窗口内不再有新的块片后,将这些块片打包成一个区块进行共识,而主节点发送的预准备消息仅需要发送这些块片的哈希,其他节点根据主节点的块片哈希表在自己的块片交易池中组织需要进行共识的区块。本发明既保证了BFT算法的有效性,同时又解决了BFT算法广播机制存在冗余的问题,提高了区块链节点带宽利用率。
技术领域
本发明涉及去中心化的区块链BFT共识算法交易池的设计领域,尤其涉及一种基于块片的BFT共识算法带宽使用率改进方法。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
传统联盟区块链主要采用BFT共识算法,其交易双次全广播的设计导致严重的节点带宽压力,尤其是主节点的出口带宽,尽管BFT现在已经有了很多改进和变种版本,大多都是对于共识一致性的保障和可用性增强上,对于如何动改进共识广播机制却一直都是空白的状态。就拿PBFT算法来说,一条新交易在一个节点接收后就进行广播,主节点打包时又进行一次全网广播,一旦节点数量增加,带宽压力将会成倍上升,如何解决BFT共识算法的广播机制问题是将区块链技术运用于实际的一项挑战。
发明内容
针对现有技术的不足,本发明提出一种基于块片的BFT共识算法带宽使用率改进方法,既保证了BFT算法的有效性,同时又解决了BFT算法广播机制存在冗余的问题。本发明的目的是通过以下技术方案来实现的:
一种基于块片的BFT共识算法带宽使用率改进方法,其特征在于,该方法具体包括如下步骤:
S1:区块链节点接收到客户端发起的交易请求后,首先验证交易体的格式正确性,再验证交易的签名,最后进行交易的去重,通过全部验证的交易被放到节点的交易池中;当交易池中存储的交易数量达到交易池的大小限制或者规定时间窗口中不再接收到新的交易后,该区块链节点将这部分交易打包成一个块片,放入交易块片池中,并将该交易块片广播给全网所有节点,同时删除交易池中已被打包成交易块片的交易;且一个节点接收到其他节点的交易块片,均会将该交易块片放入自己的交易块片池中;
S2:当主节点的交易块片池中得到一定量的交易块片或者在规定时间窗口中不再接收到新的交易块片后,主节点将这部分交易块片进行排序后打包成一个区块,并将这部分交易块片从交易块片池中删除;然后主节点将一个区块中的交易块片的哈希按序组成数组并标上区块编号放在预准备消息中,并广播给全网的所有节点,然后所有共识的节点开启BFT共识的三阶段流程,即预准备、准备、提交三阶段,此时主节点已经完成预准备阶段而其他从节点还处于等待状态;
S3:当从节点接收到来自主节点的预准备消息后该从节点也完成预准备阶段,并向全网广播准备消息,标识进入准备阶段;
S4:当一个从节点收集齐不少于所有节点总数的2/3的节点的准备消息后,根据相应的预准备消息中的交易块片哈希数组从自己的交易块片池中找到相应的交易块片组成一个区块放入区块池中,并从交易块片池中删除这些交易块片,此时称该从节点完成准备阶段;然后该节点向全网广播提交消息进入提交阶段;对于主节点,只要其收集齐不少于所有节点总数的2/3的节点的准备消息即可完成准备阶段,并全网广播提交消息进入提交阶段;
S5:当任意一个共识节点收集齐不少于所有节点总数的2/3的节点的提交消息时,即完成提交阶段,完成整个BFT共识流程,此时将该轮共识确定的区块提交到执行模块进行执行和写块,在该区块写入区块链中后,该节点将该区块从区块池中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上交所技术有限责任公司;杭州趣链科技有限公司,未经上交所技术有限责任公司;杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810906787.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:面向云服务提供商的带宽成本降低方法
- 下一篇:一种基于云架构的运维监控系统