[发明专利]一种新增节点快速参与共识的方法、装置及电子设备有效
申请号: | 202010520429.9 | 申请日: | 2020-06-08 |
公开(公告)号: | CN111698244B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 王晓亮;俞波 | 申请(专利权)人: | 杭州溪塔科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/1095;H04L67/1097 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 新增 节点 快速 参与 共识 方法 装置 电子设备 | ||
本说明书实施例涉及一种新增节点快速参与共识的方法、装置及电子设备,应用于采用BFT共识算法的区块链系统中。新增共识节点直接同步当前区块高度的状态根信息,从而快速的达到最高区块高度的状态,并通过从多个共识节点的获取块信息作为校验,保证了最新块信息的安全性,使得新的节点能快速的参与共识出块。而从创世块到新增共识节点加入高度之间的区块,则在后续进行同步,不影响当前的共识的进行。
技术领域
本说明书实施例涉及网络技术领域,尤其涉及一种新增节点快速参与共识的方法、装置及电子设备。
背景技术
区块链中使用的类PBFT的BFT共识算法(Byzantine Fault Tolerance,拜占庭容错算法),一般可以容忍不超过共识节点总数的1/3的恶意或者错误节点,仍能正常工作。其共识过程是通过统计共识节点投票数,一般共识投票达到共识节点总数的2/3以上,就可以出块。而目前的区块链系统中,在某一区块高度新增共识节点后,一般需要从别的节点同步从创世块开始到链的当前高度的块,然后每个区块逐一的执行,直至当前的高度从而得到最新的状态,然后才能参与共识投票。
因此,新的共识节点接入以后,视当时区块的高度而定,可能很长时间无法真正参与区块链的共识,减少了链的共识安全性,而且新节点把时间浪费在历史块的同步和执行上。
发明内容
本说明书实施例提供一种新增节点快速参与共识方法、装置及电子设备,用以解决现有技术的新增节点无法立即参与共识的问题。
为了解决上述技术问题,本说明书实施例采用下述技术方案:
第一方面,提供了一种新增节点快速参与共识的方法,应用于采用BFT共识算法的区块链系统,所述方法包括:
新增共识节点在第一区块高度时加入区块链;
所述新增共识节点向已有共识节点同步所述第一区块高度的状态根信息以获得第一状态根信息,其中,所述第一状态根信息为超过共识节点总数三分之一以上的共识节点拥有的内容一致的状态根信息;
所述新增节点对以所述第一状态根信息为根部的所有叶子节点的正确性进行验证;
当所述叶子节点的正确性验证通过后,所述新增节点依次同步所述第一区块高度到当前区块高度的区块信息,并执行得到当前区块的状态信息;
所述新增节点在当前区块高度的下一高度参与共识。
第二方面,提供了一种新增节点快速参与共识的装置,应用于采用BFT共识算法的区块链系统,所述装置包括:
节点添加模块:用于新增共识节点在第一区块高度时加入区块链;
第一状态根信息获取模块:用于所述新增共识节点向已有共识节点同步所述第一区块高度的状态根信息以获得第一状态根信息,其中,所述第一状态根信息为超过共识节点总数三分之一以上的共识节点拥有的内容一致的状态根信息;
叶子节点验证模块:用于所述新增节点对以所述第一状态根信息为根部的所有叶子节点的正确性进行验证;
第一同步模块:当所述叶子节点的正确性验证通过后,所述新增节点依次同步所述第一区块高度到当前区块高度的区块信息,并执行得到当前区块的状态信息;
所述新增节点在得到当前区块的状态信息后,在当前区块高度的下一高度参与共识。
第三方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据本发明各实施例提供的新增节点快速参与共识方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010520429.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高炉用无水炮泥
- 下一篇:一种扫频相干测距中激光跳模影响的消除方法