[发明专利]一种基于区块链网络的共识方法、装置及系统有效
申请号: | 202210046656.1 | 申请日: | 2022-01-17 |
公开(公告)号: | CN114070733B | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 段斯斯;张海滨 | 申请(专利权)人: | 清华大学;山东区块链研究院 |
主分类号: | H04L41/0813 | 分类号: | H04L41/0813;H04L12/18;H04L9/32 |
代理公司: | 北京新知远方知识产权代理事务所(普通合伙) 11397 | 代理人: | 易杨;李虹青 |
地址: | 100089*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 网络 共识 方法 装置 系统 | ||
1.一种基于区块链网络的共识方法,其特征在于,所述区块链网络中的任一共识节点在本地维护系统配置信息,所述系统配置信息包括成员节点集合以及用于标识成员节点集合的系统配置编号;其中,在成员节点集合更新的情况下,该系统配置编号以1为步长进行递增;所述方法包括:
指令发起节点向区块链网络中的至少部分成员节点广播携带系统配置编号的指令;其中,所述指令包括成员配置指令或常规指令,成员配置指令用于指示将所述指令发起节点加入或移除所述区块链网络;
区块链网络中的任一从节点在本地未执行该指令的情况下,若确定该系统配置编号与本地存储的系统配置编号相同,则将所述成员配置指令转发至主节点;若确定该系统配置编号小于本地存储的系统配置编号,则将所述指令转发至本地维护的成员节点集合中的成员节点;区块链网络中的主节点在接收到所述指令,且生成包括所述指令的共识提议后,协调其他节点根据本地的系统配置信息对所述共识提议进行共识处理;所述共识提议中包括成员配置指令和/或常规指令;
区块链网络中任一成员节点在确定针对所述共识提议达成共识后,若所述共识提议中包括成员配置指令,则根据所述成员配置指令更新本地维护的成员节点集合以及系统配置编号将成员配置指令对应的指令发起节点加入或移除所述区块链网络,以在无需执行视图切换即在不打断常规指令共识过程的情况下,完成成员节点的加入或移除。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
主节点在接收到指令后,将指令在本地指令池中进行存储;
所述生成包括所述指令的共识提议,包括:
从本地指令池中获取预设数量的指令;
针对所述预设数量的指令中的任一成员配置指令,若所述成员配置指令用于指示将发起所述指令的指令发起节点加入区块链网络,则为该指令发起节点分配成员节点序号,将所述成员节点序号以及所述成员配置指令组合为成员加入指令;若所述成员配置指令用于指示将发起所述指令的指令发起节点从区块链网络退出,则将该指令发起节点的成员节点序号以及所述成员配置指令组合为成员退出指令;
针对所述预设数量的指令,将成员加入指令、成员退出指令和常规指令打包为共识提议。
3.根据权利要求2所述的方法,其特征在于,还包括:
在为该指令发起节点分配成员序号后,将该指令发起节点加入到临时成员集合中;所述临时成员集合中包括本地系统配置中的全部成员节点;
所述协调其他节点根据本地的系统配置信息对所述共识提议进行共识处理,包括:
基于所述共识提议向临时成员集合中的节点广播预准备消息;
任一从节点,在接收到有效的预准备消息后,针对所述共识提议中的成员加入指令,将该成员加入指令中的成员节点序号加入到本地的临时成员集合中,并向本地临时成员集合中的节点广播针对所述共识提议的准备消息;所述准备消息中携带所述从节点的签名;
任一成员节点,在接收到本地系统配置的成员节点集合中2/3成员节点广播的针对所述共识提议的准备消息后,将接收到的准备消息的签名作为该共识提议的证明进行存储,并广播针对所述共识提议的承诺消息,或,在接收到本地系统配置的成员节点集合中1/3成员节点广播的针对所述共识提议的承诺消息后,将接收到的承诺消息的签名作为该共识提议的证明进行存储,并广播针对所述共识提议的承诺消息;其中,所述承诺消息中携带所述节点的签名;
在收到本地系统配置的成员节点集合中2/3成员节点广播的针对所述共识提议的承诺消息后,确定针对所述共识提议达成共识,执行所述共识提议。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
任一从节点,将成员加入指令中的成员节点序号加入到临时成员组后,在成员加入指令中携带的系统配置编号小于本地系统配置号的情况下,向该成员节点序号对应的指令发起节点发送本地系统配置信息以及系统配置历史信息;
所述指令发起节点在接收到该系统配置信息以及系统配置历史信息后,根据该系统配置历史信息对接收到的系统配置信息进行验证,并在验证通过后,根据接收到的系统配置历史信息对本地系统配置信息进行更新;所述系统配置历史信息为目标共识提议组成的集合,其中,目标共识提议为包括成员加入指令或成员退出指令的共识提议。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学;山东区块链研究院,未经清华大学;山东区块链研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210046656.1/1.html,转载请声明来源钻瓜专利网。