[发明专利]一种PBFT协议动态增删节点的方法有效
申请号: | 201810906786.1 | 申请日: | 2018-08-10 |
公开(公告)号: | CN109039748B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 朱立;王泊;李启雷;李伟;梁秀波;邱炜伟;尹可挺 | 申请(专利权)人: | 上交所技术有限责任公司;杭州趣链科技有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞;邱启旺 |
地址: | 200131 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 pbft 协议 动态 增删 节点 方法 | ||
本发明公开一种PBFT协议动态增删节点的方法,首先,变更前的节点统一确定并执行到一个序列号,并进行一轮检查点验证。如果能够形成稳定检查点,向变更后的节点推送状态信息,使其同步到此状态。变更后的节点再进行检查点验证,如果能形成稳定检查点,确定主节点并发起视图变更,如果一切正常,变更后不再参加共识的节点便可以下线。如果过程中有异常,则放弃变更,仍然采用之前的节点进行共识。本发明解决了传统PBFT协议无法动态增加、删除节点的问题,提升了PBFT协议的可扩展性,增加了实用性。
技术领域
本发明涉及区块链共识技术,尤其涉及一种PBFT(Practical Byzantine FaultTolerance实用拜占庭容错)协议动态增删节点的方法。
背景技术
拜占庭问题又称为拜占庭将军(Byzantine Generals Problem)问题,是LeslieLamport于1982年提出用来解释一致性问题的一个虚构模型。拜占庭是古代东罗马帝国的首都,由于地域宽广,守卫边境的多个将军(系统中的多个节点)需要通过信使来传递消息,达成某些一致的决定。但由于将军中可能存在叛徒(系统中节点出错),这些叛徒将努力向不同的将军发送不同的消息,试图会干扰一致性的达成。拜占庭问题即为在此情况下,如何让忠诚的将军们能达成行动的一致。
PBFT是Practical Byzantine Fault Tolerance的缩写,意为实用拜占庭容错算法。该算法是Miguel Castro(卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。该论文发表在1999年的操作系统设计与实现国际会议上(OSDI99)。OSDI99这篇论文描述了一种副本复制(replication)算法解决拜占庭容错问题。这篇论文中描述的算法可以工作在异步环境中,并且通过优化在早期算法的基础上把响应性能提升了一个数量级以上。
然而PBFT算法目前只允许固定的成员节点参与共识,不能动态增加、删除节点,这种状况对区块链的发展不利。
发明内容
本发明的目的是针对现有技术的不足,提供一种PBFT协议动态增删节点的方法,能够提升PBFT协议的可扩展性,增加其实用性。具体技术方案如下:
一种PBFT协议动态增删节点的方法,其特征在于,在该方法中,将在某一时刻提供共识服务的节点集定义为一个配置,将配置变更前的节点集定义为配置一,将配置变更后的节点集定义为配置二,该方法具体包括如下步骤:
S1:当需要进行配置变更时,配置一中的节点互相发送消息确定配置变更序列号;
S2:当配置一中的节点执行到确定的配置变更序列号的前一位时,配置一中的非拜占庭节点向配置二成员发送消息;
S3:配置二的节点收到来自配置一的节点的消息后,进行一轮视图变更,之后在配置一中不在配置二中的节点下线,配置二所有节点继续进行共识;如果视图变更失败,直接放弃此次配置变更。
进一步地,进行配置变更之前,配置一的节点将预先选择一个足够高的序列号,此序列号应该高到能够保证,当处理此消息的时候,共识还没有执行到此序列号,且此序列号是所有节点都将执行到的序列号。
进一步地,配置一的节点在执行到预先选择的配置变更序列号时,会进行一轮所有节点当前状态的比对,即检查点确认,如果不能形成稳定检查点,放弃此次配置变更。
进一步地,配置二的节点收到来自配置一中节点的消息,如果收齐了足够的一致消息,便将自身状态同步到配置一中非拜占庭节点的状态,保证了配置变更之后新配置中所有节点的起始状态一致。
进一步地,配置二的节点在收到配置一的消息之后,需要进行配置二节点状态的比对,检查是否能形成稳定检查点,如果不能形成稳定检查点,放弃此次配置变更。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上交所技术有限责任公司;杭州趣链科技有限公司,未经上交所技术有限责任公司;杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810906786.1/2.html,转载请声明来源钻瓜专利网。