[发明专利]一种基于智能合约的节点选举方法、装置及电子设备有效
申请号: | 202110633510.2 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113364871B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 王晓亮;张亚宁 | 申请(专利权)人: | 杭州溪塔科技有限公司 |
主分类号: | H04L67/10 | 分类号: | H04L67/10;H04L67/1074;H04L67/1042 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310007 浙江省杭州市西湖区文三路*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 智能 合约 节点 选举 方法 装置 电子设备 | ||
本说明书实施例涉及一种基于智能合约的节点选举方法、装置及电子设备,应用于联盟链系统,主要包括:在区块链创世块中部署共识节点管理合约,并为其分配对应的合约地址;在合约初始化过程中,将共识节点列表、Leader节点选举规则存储至所述共识节点管理合约中作为初始的共识节点管理规则;共识节点调用所述共识节点管理合约,对其中的共识节点列表、Leader节点选举规则进行查询和本地缓存,并依照所述Leader节点选举规则进行Leader节点的选举和共识。由此通过将共识投票权和Leader选举功能进行分离,并通过智能合约进行控制,从而提高共识的效率。
技术领域
本说明书实施例涉及网络技术领域,尤其涉及一种基于智能合约的节点选举方法、装置及电子设备。
背景技术
目前的联盟链系统中通常采用BFT类算法来进行共识,BFT类共识算法中,首先会选举Leader节点,由Leader节点发出预打包的块,经过后续的两轮投票,共识节点收集到足够投票后达成共识,如果当前轮次无法达成共识,在下一轮更换新的Leader节点重复以上流程,直到最终达成共识。
联盟链中通常Leader节点会采用共识节点轮流担当的方式,但是在实际的网络环境和业务场景中,因为一些特殊情况,导致共识节点无法达到全部互链,导致轮流担当Leader的方式不理想。例如,如图1所示的拓扑网络结构中,因为一些网络或者其他特殊的原因,其中共识节点node-A、node-B、node-C、node-D两两互连,而共识节点node-E和node-F仅仅只能和共识节点node-C、node-D进行连接。当轮到节点node-E和node-F作为Leader节点时,且在网络条件不好时可能会导致共识效率降低。
发明内容
本说明书实施例提供一种基于智能合约的节点选举方法、装置及电子设备,用以解决现有技术的共识节点轮流担当leader节点导致的共识效率降低的问题。
为了解决上述技术问题,本说明书实施例采用下述技术方案:
第一方面,提供了一种基于智能合约的节点选举方法,应用于联盟链系统,所述方法包括:
在区块链创世块中部署共识节点管理合约,并为其分配对应的合约地址;
在合约初始化过程中,将共识节点列表、Leader节点选举规则存储至所述共识节点管理合约中作为初始的共识节点管理规则;
共识节点调用所述共识节点管理合约,对其中的共识节点列表、Leader节点选举规则进行查询和本地缓存,并依照所述Leader节点选举规则进行Leader节点的选举和共识。
第二方面,提供了一种基于智能合约的节点选举装置,应用于联盟链系统,所述装置包括:
合约部署模块:用于在区块链创世块中部署共识节点管理合约,并为其分配对应的合约地址;
管理规则初始化模块:用于在合约初始化过程中,将共识节点列表、Leader节点选举规则存储至所述共识节点管理合约中作为初始的共识节点管理规则;
合同调用模块,用于共识节点调用所述共识节点管理合约,对其中的共识节点列表、Leader节点选举规则进行查询和本地缓存,并依照所述Leader节点选举规则进行Leader节点的选举和共识。
第三方面,提供了一种电子设备,包括:一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的一个或多个计算机程序,以使得该一个或多个处理器执行根据本发明各实施例提供的基于智能合约的节点选举方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的基于智能合约的节点选举方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110633510.2/2.html,转载请声明来源钻瓜专利网。