[发明专利]实用拜占庭容错共识方法及装置、可读存储介质有效
申请号: | 202011395566.0 | 申请日: | 2020-12-02 |
公开(公告)号: | CN112395113B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 杜亮;李雪维;魏泳;洪文明;范江东;王剑;黄永祥;潘镔;王涛;陈晗;陈甜妹;王庆;陈冰;傅天奕;金奕;吕含誉;杨虹 | 申请(专利权)人: | 国网浙江省电力有限公司物资分公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F11/14;G06F21/60;G06F21/64 |
代理公司: | 上海梵恒知识产权代理事务所(普通合伙) 31357 | 代理人: | 李文凤 |
地址: | 310006 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实用 拜占庭 容错 共识 方法 装置 可读 存储 介质 | ||
一种实用拜占庭容错共识方法及装置、可读存储介质,所述方法包括:构建树形拓扑网络;所述树形拓扑网络包括根节点、主动子树以及被动子树;根据所述树形拓扑网络,完成所述实用拜占庭容错共识。上述方案能够对传统PBFT算法进行有效扩展。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种实用拜占庭容错共识方法及装置、可读存储介质。
背景技术
近年来,区块链技术得到迅猛发展,其具有去中心化、中立、开放、集体维护、数据可追溯、安全可信等特点,适合于构建高度安全可靠的系统。区块链技术可以满足消息防篡改的要求,在区块链网络中,数据或者数据特征被共享至网络中的所有节点,所有的节点都拥有整个链上的完整数据,所以单个节点数据的修改并不会影响整个网络共识得到的一致结果。整个网络的共识是通过共识算法实现的,共识机制作为区块链中的关键技术,是区块链系统中的所有参与节点达成一致的策略和方法,决定了区块链能在多个节点中达到一种相对平衡的状态。
随着区块链技术发展和不断成熟,应用场景规模的逐渐扩大,传统的实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法的可扩展性问题日益凸显。在具有n个共识节点的联盟链系统中,PBFT的通信复杂度为O(n^2)。在招投标的联盟链中,存在大量的节点,如供应商、招标人、项目单位、代理机构、(外部)机构等。随着节点数量的增加,网络中交换和处理的消息数量急剧增加。巨大的网络开销与计算开销将导致事务确认延迟显著增加,吞吐量明显降低。因此,传统的PBFT算法只适用于小规模的局域网,而在大规模的广域网环境下,其可扩展性瓶颈对许可链系统的性能带来了严重的影响。
发明内容
本发明解决的技术问题是大规模的广域网环境下,现有的传统PBFT算法无法适用。
为解决上述技术问题,本发明实施例提供一种实用拜占庭容错共识方法,包括:构建树形拓扑网络;所述树形拓扑网络包括根节点、主动子树以及被动子树;根据所述树形拓扑网络,完成所述实用拜占庭容错共识,包括:所述根节点生成随机密钥以及所述随机密钥对应的加密哈希H,根据所述主动子树中节点的数量n,将所述加密哈希H划分成n+1份,并分别向每个主动节点发送一份加密哈希份额;所述根节点接收客户端发送的事务请求;所述根节点将所述事务请求打包成目标区块,将所述目标区块与所述随机密钥绑定,在子网范围内广播第一准备消息;所述第一准备消息包括所述目标区块的数字摘要以及主节点对应的子网当前视图,所述子网当前视图与所述主节点在所述主动子树中的位置相关;所述根节点接收第一确认消息,对所述第一确认消息中的聚合签名进行验证;所述聚合签名根据所述主动子树的所有节点对应的用户签名聚合而成;所述根节点在验证所述聚合签名有效时,在子网范围内广播第一准备消息;所述第一准备消息包括所述目标区块的数字摘要以及主节点对应的子网当前视图,所述子网当前视图与所述主节点在所述主动子树中的位置相关;所述第二准备消息包括所述目标区块的数字摘要、所述主动子树的当前视图以及所述聚合签名;所述根节点在接收第二确消息,对所述第二确认消息中的聚合密钥进行验证;所述聚合密钥根据所述主动子树的所有节点对应的哈希密钥聚合而成;所述根节点在验证所述聚合密钥与所述加密哈希相同时,确定达成共识结果;向所述客户端与所述被动子树的每一个节点广播回复消息,并将所述共识结果备份。
可选的,所述构建树形拓扑网络,包括:以代理机构作为所述根节点;以参与目标招投标项目的供应商、所述目标招投项目的招标人以及选中的第三方监督机构作为主动节点,根据所述主动节点建立所述根节点的主动子树;以未参与所述目标招投标项目的供应商、非所述目标招投项目的招标人以及未选中的第三方监督机构作为被动节点,根据所述被动节点建立所述根节点的被动子树;根据所述根节点、所述主动子树以及所述被动子树,构建所述树形拓扑网络。
可选的,所述实用拜占庭容错共识方法还包括:在检测到主动子树中的某一个节点发生故障时,执行视图更换操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网浙江省电力有限公司物资分公司,未经国网浙江省电力有限公司物资分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011395566.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自锁式空心砌块墙体施工方法
- 下一篇:一种双工位育苗机