[发明专利]一种智能合约资损监控系统的测试方法及系统在审
申请号: | 202110086391.3 | 申请日: | 2021-01-22 |
公开(公告)号: | CN112884475A | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 邬萌;王海军 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司;蚂蚁区块链科技(上海)有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06F16/27 |
代理公司: | 成都七星天知识产权代理有限公司 51253 | 代理人: | 袁春晓 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 监控 系统 测试 方法 | ||
1.一种智能合约资损监控系统的测试方法,所述资损监控系统用于基于智能合约执行而产生的交易数据进行资损监控,所述方法包括:
获取测试用智能合约;
确定所述智能合约中与资金处理相关的变量和/或代码,并对所述变量和/或代码进行修改,得到变异智能合约;
确定测试变量及其取值,向所述变异智能合约中的所述测试变量输入所述取值,以触发所述变异智能合约执行并产生交易数据供所述智能合约资损监控系统处理并得到资损监控结果;
获取所述智能合约资损监控系统的资损监控结果,基于所述资损监控结果,再次修改智能合约、和/或调整所述测试变量中至少一个的取值,以再次产生交易数据供所述智能合约资损监控系统处理,直至满足预设的测试终止条件。
2.如权利要求1所述的方法,所述确定所述智能合约中与资金处理相关的变量和/或代码,包括:
基于资损核对规则中与资金处理相关的字段记录,确定所述智能合约中与资金处理相关的一个或多个变量;
基于所述一个或多个变量,利用数据流分析技术确定所述智能合约中与资金处理相关的其他变量和/或代码。
3.如权利要求1所述的方法,所述修改包括以下中的一种或多种的组合:对所述与资金处理相关的变量重新赋值和对所述与资金处理相关的代码中包括的运算操作进行变异;其中,所述变异至少包括:增加运算操作、减少运算操作或更换运算操作。
4.如权利要求1所述的方法,所述基于所述资损监控结果,再次修改智能合约、和/或调整所述测试变量中至少一个的取值,以再次产生交易数据供所述智能合约资损监控系统处理,包括:
若所述资损监控结果反映监测到资损,则调整所述测试变量中至少一个的取值,得到调整后的测试变量的取值,以增加与资金处理相关的变量和/或代码的执行覆盖率,或增加与资金处理相关的变量和/或代码的程序行为覆盖率;
将调整后的测试变量的取值输入到所述变异智能合约对应的测试变量中,以触发所述变异智能合约执行并产生交易数据供所述智能合约资损监控系统处理。
5.如权利要求1所述的方法,所述确定测试变量及其取值,包括:
基于预先确定的代码段与变量对应关系,确定能够触发包含修改后的变量和/或代码的代码段的测试变量及其取值。
6.如权利要求5所述的方法,所述基于所述资损监控结果,再次修改智能合约、和/或调整所述测试变量中至少一个的取值,以再次产生交易数据供所述智能合约资损监控系统处理,包括:
若所述资损监控结果反映监测到资损,则对所述变异智能合约中除被修改的变量和/或代码以外的其他变量和/或其他代码进行修改;
确定测试变量及其取值;
将所述测试变量的取值输入到修改后的变异智能合约的所述测试变量中,以触发修改后的变异智能合约执行并产生交易数据供所述智能合约资损监控系统处理。
7.如权利要求1所述的方法,所述智能合约部署于测试用区块链网络的节点上。
8.如权利要求7所述的方法,所述资损监控系统用于:
从所述测试用区块链网络中获取区块数据;
解析所述区块数据得到智能合约执行产生的交易数据;
基于预设核对逻辑处理所述交易数据,获得所述资损监控结果。
9.如权利要求1所述的方法,所述与资金处理相关的变量包括资金转账操作或者资金金额运算涉及的变量,与资金处理相关的代码包括实现资金转账操作或者资金金额运算的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司;蚂蚁区块链科技(上海)有限公司,未经支付宝(杭州)信息技术有限公司;蚂蚁区块链科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110086391.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高抗冲击聚苯乙烯及其制备方法
- 下一篇:排牙分步的方法、装置和电子设备