[发明专利]DBFT共识网络中数据同步的方法、计算机可读存储介质和DBFT共识网络有效
申请号: | 202010417916.2 | 申请日: | 2020-05-18 |
公开(公告)号: | CN111708833B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 杜晓楠 | 申请(专利权)人: | 杜晓楠 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 邹秋菊 |
地址: | 新加坡大牌233碧山2*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dbft 共识 网络 数据 同步 方法 计算机 可读 存储 介质 | ||
1.一种DBFT共识中数据同步的方法,其特征在于,包括以下步骤:
在新DBFT节点加入DBFT网络时进入新高度状态,在所述新高度状态中,如果在所述DBFT网络中有超过2/3的DBFT节点的区块高度大于所述新DBFT节点的区块高度,所述新DBFT节点暂停DBFT共识并从其他DBFT节点下载区块;
新高度状态结束之后进入议案状态,在所述议案状态中,主DBFT节点发起议案,全部DBFT节点广播新视图消息,所述新视图消息包括所述DBFT节点的区块高度和视图号,每个DBFT节点接收并存储其余DBFT节点的高度和视图,并在所述DBFT网络中有超过2/3的DBFT节点的区块高度大于自己的区块高度时暂停DBFT共识并从其他DBFT节点下载区块;
议案状态结束之后进入投票状态,在所述投票状态中,DBFT节点对所述议案进行投票并广播自己的投票且接收其他DBFT节点的投票;
投票状态结束之后进入预承诺状态,在所述预承诺状态中,统计所述投票并给出预承诺投票,并基于预承诺投票结果进入承诺状态或者返回议案状态;
在承诺状态中,根据所述预承诺结果做出承诺;
所述承诺状态结束之后进入结束状态,在所述结束状态中,将最终区块落盘并广播新高度消息,所述新高度消息包括当前DBFT节点的区块高度;
在所述结束状态结束之后返回所述新高度状态;每个DBFT节点在接收到所述新视图消息之后,执行以下步骤:
当发现所述新视图消息中的DBFT节点的区块高度大于自己的区块高度,则缓存所述区块高度,如果缓存之后发现超过2/3的DBFT节点的区块高度大于自己的区块高度,所述DBFT节点暂停DBFT共识并从其他DBFT节点下载区块以同步区块,且在同步完成之后进入所述新高度状态;
当发现所述新视图消息中的DBFT节点的区块高度等于自己的区块高度,则判断当前状态是否是非承诺状态或非结束状态,如果是则更新所述新视图消息的视图号,并且重新进入议案状态。
2.根据权利要求1所述的DBFT共识中数据同步的方法,其特征在于,DBFT节点在接收到所述新高度消息之后,缓存所述新高度消息;当缓存之后发现超过2/3的DBFT节点的区块高度大于当前区块高度,所述DBFT节点暂停DBFT共识并从其他DBFT节点下载区块以同步区块,且在同步完成之后进入所述新高度状态。
3.根据权利要求2所述的DBFT共识中数据同步的方法,其特征在于,在所述预承诺状态中,DBFT节点在其接收到的所述投票状态中投出的赞成票超过2/3时投出预承诺赞成票否则将投出预承诺反对票,并收集其余DBFT节点的预承诺投票;
当预承诺状态结束时,如果收到的预承诺赞成票没有超过2/3则重新进入所述议案状态,否则进入承诺状态。
4.根据权利要求3所述的DBFT共识中数据同步的方法,其特征在于,在所述承诺状态中,如果预承诺状态中投出的预承诺赞成票超过2/3,广播承诺赞成票给其余DBFT节点。
5.根据权利要求4所述的DBFT共识中数据同步的方法,其特征在于,一旦进入任何状态,开启所述状态的定时器,所述定时器超时,进入下一状态。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-5中任意一项权利要求所述的DBFT共识中数据同步的方法。
7.一种DBFT共识网络,包括多个DBFT节点,所述DBFT节点上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-5中任意一项权利要求所述的DBFT共识中数据同步的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杜晓楠,未经杜晓楠许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010417916.2/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置