本文件涉及区块链,尤其涉及一种智能合约的风险识别方法、装置及设备。
背景技术:
1、目前,区块链在众多场景中得以广泛应用,为了实现数据的快捷处理,区块链的使用方通常会采用solidity语言编写智能合约,并在对智能合约的源码进行编译得到字节码后,基于字节码在区块链上部署智能合约,以通过智能合约进行数据处理。由于基于智能合约的字节码无法还原出智能合约的源码,因此区块链中可能存在处理非法数据的非法智能合约。为了识别出该非法智能合约,当前通常是对智能合约的字节码反编译后,人工分析其中的数据处理逻辑,然而人工分析不仅耗时耗力,而且当智能合约的数据处理逻辑比较复杂时,往往难以识别,增加了智能合约的管理难度。
技术实现思路
1、本说明书一个或多个实施例提供了一种智能合约的风险识别方法。该方法包括获取基于目标智能合约所达成的n笔历史交易的交易事件,及处理所述历史交易的各交易函数的第一函数签名。所述目标智能合约包括多个交易函数。每个所述交易函数在被调用方通过所述交易函数的函数签名调用时,对对应的交易进行交易处理。所述n为大于1的整数。获取所述目标智能合约包括的各所述交易函数的第二函数签名。所述第二函数签名包括所述第一函数签名。根据所述交易事件、所述第一函数签名和所述第二函数签名所关联的标签,识别所述目标智能合约是否存在预设风险。所述标签用于表征相应交易的交易类型。
2、本说明书一个或多个实施例提供了一种智能合约的风险识别装置。该装置包括第一获取模块,获取基于目标智能合约所达成的n笔历史交易的交易事件,及处理所述历史交易的各交易函数的第一函数签名。所述目标智能合约包括多个交易函数。每个所述交易函数在被调用方通过所述交易函数的函数签名调用时,对对应的交易进行交易处理。所述n为大于1的整数。该装置还包括第二获取模块,获取所述目标智能合约包括的各所述交易函数的第二函数签名。所述第二函数签名包括所述第一函数签名。该装置还包括识别模块,根据所述交易事件、所述第一函数签名和所述第二函数签名所关联的标签,识别所述目标智能合约是否存在预设风险。所述标签用于表征相应交易的交易类型。
3、本说明书一个或多个实施例提供了一种智能合约的风险识别设备。该设备包括处理器。该设备还包括被安排成存储计算机可执行指令的存储器。所述计算机可执行指令在被执行时使所述处理器获取基于目标智能合约所达成的n笔历史交易的交易事件,及处理所述历史交易的各交易函数的第一函数签名。所述目标智能合约包括多个交易函数。每个所述交易函数在被调用方通过所述交易函数的函数签名调用时,对对应的交易进行交易处理。所述n为大于1的整数。获取所述目标智能合约包括的各所述交易函数的第二函数签名。所述第二函数签名包括所述第一函数签名。根据所述交易事件、所述第一函数签名和所述第二函数签名所关联的标签,识别所述目标智能合约是否存在预设风险。所述标签用于表征相应交易的交易类型。
4、本说明书一个或多个实施例提供了一种存储介质。该存储介质用于存储计算机可执行指令。所述计算机可执行指令在被处理器执行时,获取基于目标智能合约所达成的n笔历史交易的交易事件,及处理所述历史交易的各交易函数的第一函数签名。所述目标智能合约包括多个交易函数。每个所述交易函数在被调用方通过所述交易函数的函数签名调用时,对对应的交易进行交易处理。所述n为大于1的整数。获取所述目标智能合约包括的各所述交易函数的第二函数签名。所述第二函数签名包括所述第一函数签名。根据所述交易事件、所述第一函数签名和所述第二函数签名所关联的标签,识别所述目标智能合约是否存在预设风险。所述标签用于表征相应交易的交易类型。
1.一种智能合约的风险识别方法,包括:
2.根据权利要求1所述的方法,所述根据所述交易事件、所述第一函数签名和所述第二函数签名所关联的标签,识别所述目标智能合约是否存在预设风险,包括:
3.根据权利要求2所述的方法,所述根据所述第一候选标签和所述第二候选标签,识别所述目标智能合约是否存在预设风险,包括:
4.根据权利要求3所述的方法,所述在所述第一候选标签和所述第二候选标签中,确定与所述目标智能合约相匹配的目标标签,包括:
5.根据权利要求4所述的方法,所述将所述第一候选标签和所述第二候选标签确定为待处理标签,确定每个所述待处理标签被关联的目标比率,包括:
6.根据权利要求5所述的方法,所述确定每个所述第一候选标签被所述待处理签名所关联的第一比率,包括:
7.根据权利要求5所述的方法,所述第一候选标签与所述第二候选标签中存在相同的候选标签;所述根据所述第一比率和所述第二比率,确定每个所述待处理标签被关联的目标比率,包括:
8.根据权利要求1所述的方法,所述获取基于目标智能合约所达成的n笔历史交易的交易事件,及处理所述历史交易的各交易函数的第一函数签名,包括:
9.根据权利要求1所述的方法,所述获取所述目标智能合约包括的各所述交易函数的第二函数签名,包括:
10.一种智能合约的风险识别装置,包括:
11.一种智能合约的风险识别设备,其特征在于,包括:
12.一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程: