[发明专利]一种区块链共识算法的测试框架在审
申请号: | 202011576121.2 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112559379A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 邱炜伟;李伟;黄方蕾;张珂杰;胡麦芳 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 张禹 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 共识 算法 测试 框架 | ||
本申请适用于区块链技术领域,提供了一种区块链共识算法的测试框架,包括:节点配置模块,用于根据节点配置文件配置本地的区块链节点;节点模块,用于向其它区块链节点广播区块,或者用于接收其它区块链节点广播的区块;核心规则接口模块,用于根据用户输入的核心规则文件配置区块链共识算法的核心规则;区块森林模块,用于从节点模块中获取区块,以及调用核心规则对区块执行核心规则对应的预设操作;测试模块,用于根据区块森林模块对区块执行的预设操作,确定用于表征区块链共识算法的性能的测试结果。测试框架可以公平地对比不同共识算法之间由于核心规则的不同而引起的性能差异,进而方便针对影响区块链共识算法性能的本质因素给出测试结果。
技术领域
本申请属于区块链技术领域,尤其涉及一种区块链共识算法的测试框架。
背景技术
区块链技术的快速发展使得很多新型的拜占庭容错(Byzantine fault-tolerant,BFT)共识算法被用于构建联盟链,这些BFT共识算法之间的不同点通常在于节点对区块的投票规则以及确认规则的不同,但这些共识算法通常都具有相同的数据结构、网络拓扑及节点交互模式等。
由于采用不同的BFT共识算法构建的联盟链的性能通常不同,因此对采用不同的BFT共识算法构建的联盟链的性能进行测试是非常必要的。现有的联盟链性能测试方法主要是从系统层面对联盟链的性能进行测试,然而,由于每个联盟链的实现方式千差万别,因此该性能测试方法很难找出影响联盟链性能差异的本质因素,进而难以针对影响联盟链性能的本质因素给出测试结果。
发明内容
有鉴于此,本申请实施例提供了一种区块链共识算法的测试框架,以解决现有的联盟链性能测试方法很难找出影响联盟链性能差异的本质因素,进而难以针对影响联盟链性能的本质因素给出测试结果的技术问题。
本申请实施例提供一种区块链共识算法的测试框架,包括:
节点配置模块,用于根据节点配置文件配置本地的区块链节点;
节点模块,与所述节点配置模块连接,用于向其它区块链节点广播区块,或者用于接收所述其它区块链节点广播的区块,所述区块包括若干条交易信息;
核心规则接口模块,用于根据用户输入的核心规则文件配置所述区块链共识算法的核心规则;
区块森林模块,与所述节点模块和所述核心规则接口模块连接,用于从所述节点模块中获取所述区块,以及调用所述核心规则对所述区块执行所述核心规则对应的预设操作;
测试模块,用于根据所述区块森林模块对所述区块执行的所述预设操作,确定用于表征所述区块链共识算法的性能的测试结果。
可选的,所述测试框架还包括:
客户端模块,与所述测试模块连接,用于生成交易信息,并向所述测试模块发送所述交易信息;
所述测试模块还用于向所述节点模块发送所述客户端模块生成的所述交易信息。
可选的,所述测试模块还与所述节点配置模块连接;所述测试模块还用于根据所述节点配置文件中与客户端相关的配置项配置所述客户端模块。
可选的,所述测试框架还包括:
第一通信模块,与所述节点模块和所述测试模块连接,用于向所述节点模块传输所述测试模块发送的所述交易信息;或者用于从所述节点模块中获取所述区块森林模块对所述区块执行的所述预设操作,并向所述测试模块传输所述区块森林模块对所述区块执行的所述预设操作。
可选的,所述核心规则包括区块链节点对区块的投票规则;相应的,所述测试框架还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011576121.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:卸油扫仓抽送装置
- 下一篇:一种用于炊具制造的轻量铝复合基材及制备方法