[发明专利]共识系统和方法有效
申请号: | 201980004338.5 | 申请日: | 2019-06-05 |
公开(公告)号: | CN111630826B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 杨达一 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 艾佳 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共识 系统 方法 | ||
1.一种计算机实施的共识方法,所述方法将在由多个、即N个节点维护的区块链上实施,其中所述节点之一充当主节点而其他N-1个节点充当备节点,并且所述方法由所述N个节点中的一个节点执行,所述方法包括:
检测所述区块链的当前长度H的改变,所述当前长度H基于所述区块链中区块的数量;
基于参数P和节点数N确定所述主节点,其中所述参数P与所述区块链的所述当前长度H成比例,对于所述N个节点中分别识别相同的所述区块链的当前长度H的多个节点,所述参数P是相同的;
响应于确定所述N个节点中的该节点是所述主节点,作为所述主节点执行实用拜占庭容错PBFT正常操作协议;以及
响应于确定所述N个节点中的该节点不是所述主节点,作为所述备节点之一执行PBFT正常操作协议。
2.根据权利要求1所述的方法,其中:
每个所述节点关联有标识;并且
基于所述参数P和所述节点数N确定所述主节点包括:确定所述节点中具有(P mod N)标识的一个节点作为所述主节点。
3.根据权利要求1-2中任一项所述的方法,其中,执行所述PBFT正常操作协议包括:
执行所述PBFT正常操作协议以将新区块添加到所述区块链中。
4.根据权利要求1-2中任一项所述的方法,还包括:
重复权利要求1的所述方法,以执行一轮或多轮所述PBFT正常操作协议;以及
对于所述一轮或多轮中的每一轮,基于所述参数P和所述节点数N来改变所述主节点。
5.根据权利要求1-2中任一项所述的方法,其中,检测所述区块链的所述当前长度H的改变包括:
检测到所述区块链中区块的数量增加了1。
6.根据权利要求1所述的方法,其中,响应于确定所述N个节点中的该节点是所述主节点,作为所述主节点执行PBFT正常操作协议包括:
向至少一些所述备节点组播预准备消息;
获得分别来自Q-1个或更多个节点的Q-1个或更多个准备消息,其中所述Q-1个或更多个准备消息各自表示相应备节点接受所述预准备消息,法定数量Q是(N+F+1)/2向上取最接近的整数,F是(N-1)/3向下取最接近的整数;
向至少一些所述备节点组播提交消息,所述提交消息表示所述主节点同意所述Q-1个或更多个准备消息;以及
获得分别来自所述主节点加所述备节点中的Q个或更多个节点的Q个或更多个提交消息,所述Q个或更多个提交消息各自表示相应节点同意由所述相应节点接收的Q-1个或更多个准备消息。
7.根据权利要求6所述的方法,其中:
在向至少一些所述备节点组播所述预准备消息之前,所述方法还包括从以下中的至少一个获得一个或多个交易请求:一个或多个客户端或者一个或多个所述备节点;以及
在获得所述Q个或更多个提交消息之后,所述方法还包括将所述一个或多个交易打包到新区块中以添加到所述区块链的本地副本中。
8.根据权利要求6或7所述的方法,其中:
所述Q个或更多个提交消息包括组播的提交消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980004338.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于弯曲盘片的方法和装置
- 下一篇:降低无线链路上的小型以太网分组的传输开销