System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种智能合约的检测方法、装置、设备、存储介质及产品制造方法及图纸_技高网

一种智能合约的检测方法、装置、设备、存储介质及产品制造方法及图纸

技术编号:43110107 阅读:5 留言:0更新日期:2024-10-26 09:50
本申请实施例公开了一种智能合约的检测方法、装置、设备、存储介质及产品。其中方法包括:获取待检测的智能合约,基于智能合约的检测需求,确定智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,分别采用每种检测方式对该检测方式关联的代码块进行检测,得到各检测方式的检测结果,对各种检测方式的检测结果进行融合,得到智能合约的检测结果。可见,通过多种(至少两种)检测方式对智能合约进行检测,并对各种检测方式的检测结果进行融合,可以提高智能合约检测结果的全面性和准确度。

【技术实现步骤摘要】

本申请涉及计算机,具体涉及一种智能合约的检测方法、一种智能合约的检测装置、一种计算机设备、一种计算机可读存储介质及一种智能合约的检测产品。


技术介绍

1、随着科技研究的进步,区块链技术被广泛应用;例如,区块链技术可以应用在数据校验、资源转移等方面。智能合约是区块链技术的核心之一,智能合约可以用于执行区块链网络中的资源转移(无需第三方参与),也可以用于验证区块链网络中待验证的数据。由于智能合约在上链后不可更改,因此智能合约在上链前需要进行检测。研究发现,常用的智能合约检测方式为人工检测,存在检测结果不全面,以及准确度较低的问题。


技术实现思路

1、本申请实施例提供了一种智能合约的检测方法、装置、设备、计算机可读存储介质及产品,能够提高智能合约检测结果的全面性和准确度。

2、一方面,本申请实施例提供了一种智能合约的检测方法,包括:

3、获取待检测的智能合约,智能合约包括n个代码块,n为正整数;

4、基于智能合约的检测需求,确定智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块;

5、分别采用每种检测方式对该检测方式关联的代码块进行检测,得到至少两种检测方式的检测结果;

6、对至少两种检测方式的检测结果进行融合,得到智能合约的检测结果。

7、一方面,本申请实施例提供了一种智能合约的检测装置,该智能合约的检测装置包括:

8、获取单元,用于获取待检测的智能合约,智能合约包括n个代码块,n为正整数;</p>

9、处理单元,用于基于智能合约的检测需求,确定智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块;

10、以及用于分别采用每种检测方式对该检测方式关联的代码块进行检测,得到至少两种检测方式的检测结果;

11、以及用于对至少两种检测方式的检测结果进行融合,得到智能合约的检测结果。

12、在一种实施方式中,智能合约的检测需求包括智能合约的类型指示信息和n个代码块的描述信息;处理单元用于,基于智能合约的检测需求,确定智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,具体用于:

13、根据智能合约的类型,从该类型关联的m种候选检测方式中筛选出至少两种目标候选检测方式,m为大于1的整数;

14、将目标候选检测方式确定为智能合约对应的检测方式;

15、基于n个代码块的描述信息,确定每种检测方式关联的代码块。

16、在一种实施方式中,智能合约的检测需求包括负载需求;处理单元用于,基于智能合约的检测需求,确定智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,具体用于:

17、根据负载需求,从m种候选检测方式中筛选出至少两种目标候选检测方式,并确定每种目标候选检测方式关联的代码块,m为大于1的整数;

18、将目标候选检测方式确定为智能合约对应的检测方式。

19、在一种实施方式中,若至少两种检测方式中的k种检测方式关联的代码块中均存在目标代码块,k为大于1的整数,则处理单元用于,对至少两种检测方式的检测结果进行融合,得到智能合约的检测结果,具体用于:

20、基于目标代码块在除第i种检测方式以外的k-1种检测方式下的检测结果,对目标代码块在第i种检测方式下的检测结果进行修正,得到目标代码块的检测结果,i为小于等于k的正整数。

21、在一种实施方式中,若至少两种检测方式关联的代码块中不存在相同的代码块,则处理单元用于,对至少两种检测方式的检测结果进行融合,得到智能合约的检测结果,具体用于:

22、若每种检测方式的检测结果均指示被检测的代码块通过检测,则判定智能合约通过检测;

23、若存在至少一种检测方式的检测结果指示被检测的代码块中存在未通过检测的代码块,则生成提示信息;

24、其中,提示信息用于指示智能合约中存在未通过检测的代码块。

25、在一种实施方式中,至少两种检测方式包括动态维度下的检测方式,每个代码块包括至少一个代码元素;处理单元用于,分别采用每种检测方式对该检测方式关联的代码块进行检测,得到至少两种检测方式的检测结果,具体用于:

26、通过智能合约检测模型对动态维度下的检测方式关联的代码块进行检测,得到p个待优化的代码元素,以及每个待优化的代码元素的置信度,p为正整数;

27、基于p个待优化的代码元素的置信度,得到动态维度下的检测结果;

28、其中,动态维度下的检测结果用于指示动态维度下的检测方式关联的代码块中是否存在未通过检测的代码块。

29、在一种实施方式中,智能合约检测模型的训练过程包括:

30、获取样本数据集,样本数据集包括样本数据和样本数据的标注数据;

31、采用智能合约检测模型对样本数据进行检测,得到样本数据的检测结果;

32、基于样本数据的检测结果与样本数据的标注数据之间的差异,对智能合约检测模型进行训练,得到训练后的合约检测模型。

33、在一种实施方式中,处理单元用于,基于p个待优化的代码元素的置信度,得到动态维度下的检测结果,具体用于:

34、若p个待优化的代码元素的置信度均小于或等于置信度阈值,则判定动态维度下的检测方式关联的代码块通过检测;

35、若p个待优化的代码元素中存在至少一个目标代码元素的置信度大于置信度阈值,则通过目标代码元素确定未通过检测的代码块。

36、在一种实施方式中,智能合约的检测需求包括智能合约的类型指示信息,不同类型的智能合约对应不同的检测规则;至少两种检测方式包括静态维度下的检测方式;处理单元用于,分别采用每种检测方式对该检测方式关联的代码块进行检测,得到至少两种检测方式的检测结果,具体用于:

37、通过智能合约的类型指示信息,确定智能合约的类型;

38、按照与智能合约的类型相对应的检测规则对静态维度下的检测方式关联的代码块进行检测,得到静态维度下的检测结果;

39、其中,静态维度下的检测结果用于指示静态维度下的检测方式关联的代码块中是否存在未通过检测的代码块。

40、在一种实施方式中,处理单元还用于:

41、若智能合约的检测结果指示智能合约通过检测,则生成智能合约的检测证书,并将检测证书添加至区块链网络中。

42、在一种实施方式中,智能合约中携带有签名信息,签名信息包括智能合约的提交方的数字签名;处理单元还用于:

43、获取智能合约提交方的身份信息;

44、检测智能合约提交方的身份信息与智能合约的提交方的数字签名是否匹配。

45、相应地,本申请提供了一种计算机设备,该计算机设备包括:

46、存储器,存储器中存储有计算机程序;

47、处理器,用于加载计算机程序实现上述智能合约的检测方法。

48、本文档来自技高网...

【技术保护点】

1.一种智能合约的检测方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述智能合约的检测需求包括所述智能合约的类型指示信息和所述N个代码块的描述信息;所述基于所述智能合约的检测需求,确定所述智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,包括:

3.如权利要求1所述的方法,其特征在于,所述智能合约的检测需求包括负载需求;所述基于所述智能合约的检测需求,确定所述智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,包括:

4.如权利要求1所述的方法,其特征在于,若所述至少两种检测方式中的K种检测方式关联的代码块中均存在目标代码块,K为大于1的整数,则所述对所述至少两种检测方式的检测结果进行融合,得到所述智能合约的检测结果,包括:

5.如权利要求1所述的方法,其特征在于,若所述至少两种检测方式关联的代码块中不存在相同的代码块,则所述对所述至少两种检测方式的检测结果进行融合,得到所述智能合约的检测结果,包括:

6.如权利要求1所述的方法,其特征在于,所述至少两种检测方式包括动态维度下的检测方式,每个代码块包括至少一个代码元素;所述分别采用每种检测方式对该检测方式关联的代码块进行检测,得到所述至少两种检测方式的检测结果,包括:

7.如权利要求6所述的方法,其特征在于,所述智能合约检测模型的训练过程包括:

8.如权利要求6所述的方法,其特征在于,所述基于所述P个待优化的代码元素的置信度,得到动态维度下的检测结果,包括:

9.如权利要求1所述的方法,其特征在于,所述智能合约的检测需求包括所述智能合约的类型指示信息,不同类型的智能合约对应不同的检测规则;所述至少两种检测方式包括静态维度下的检测方式;所述分别采用每种检测方式对该检测方式关联的代码块进行检测,得到所述至少两种检测方式的检测结果,包括:

10.如权利要求1所述的方法,其特征在于,所述方法还包括:

11.如权利要求1所述的方法,其特征在于,所述智能合约中携带有签名信息,所述签名信息包括所述智能合约的提交方的数字签名;所述方法还包括:

12.一种智能合约的检测装置,其特征在于,所述智能合约的检测装置包括:

13.一种计算机设备,其特征在于,包括:存储器和处理器;

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-11任一项所述的智能合约的检测方法。

15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-11任一项所述的智能合约的检测方法。

...

【技术特征摘要】

1.一种智能合约的检测方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述智能合约的检测需求包括所述智能合约的类型指示信息和所述n个代码块的描述信息;所述基于所述智能合约的检测需求,确定所述智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,包括:

3.如权利要求1所述的方法,其特征在于,所述智能合约的检测需求包括负载需求;所述基于所述智能合约的检测需求,确定所述智能合约对应的至少两种检测方式,以及每种检测方式关联的代码块,包括:

4.如权利要求1所述的方法,其特征在于,若所述至少两种检测方式中的k种检测方式关联的代码块中均存在目标代码块,k为大于1的整数,则所述对所述至少两种检测方式的检测结果进行融合,得到所述智能合约的检测结果,包括:

5.如权利要求1所述的方法,其特征在于,若所述至少两种检测方式关联的代码块中不存在相同的代码块,则所述对所述至少两种检测方式的检测结果进行融合,得到所述智能合约的检测结果,包括:

6.如权利要求1所述的方法,其特征在于,所述至少两种检测方式包括动态维度下的检测方式,每个代码块包括至少一个代码元素;所述分别采用每种检测方式对该检测方式关联的代码块进行检测,得到所述至少两种检测方式的检测结果,包括:

7.如权利要求6所述的方法,其特征在...

【专利技术属性】
技术研发人员:卢光宏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1