System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于深度学习的智能合约状态缺陷检测方法及系统技术方案_技高网
当前位置: 首页 > 专利查询>海南大学专利>正文

基于深度学习的智能合约状态缺陷检测方法及系统技术方案

技术编号:41273739 阅读:6 留言:0更新日期:2024-05-11 09:27
本发明专利技术涉及一种基于深度学习的智能合约状态缺陷检测方法及系统。所述方法包括:从去中心化交易所DApp中确定若干智能合约,并将对应的Solidity智能合约源代码进行编译,生成抽象语法树;从抽象语法树中确定与智能合约状态对应的依赖特征;遍历抽象语法树,将各个智能合约转换为图,根据依赖特征进行图优化处理;使用词向量技术将优化后的图和依赖特征标准化,得到图结构数据;将图结构数据输入至图卷积网络中,输出智能合约状态缺陷预测结果。通过充分学习和理解智能合约中的复杂模式和特征,以及学习图结构数据的深度特征和模式,可以准确地分析和预测智能合约的状态缺陷,且具有很强的泛化能力,可应用于不同的智能合约。

【技术实现步骤摘要】

本专利技术涉及信息安全,特别是涉及一种基于深度学习的智能合约状态缺陷检测方法及系统


技术介绍

1、智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,是一种自动执行合同条款的计算机程序,在区块链技术的基础上运行,能够在满足预定条件时自动执行特定的操作,如转移资产或记录信息。智能合约虽然具备了自动执行和透明化的优点,但也面临着一些关键性的挑战。一旦智能合约部署到区块链上,任何存在的代码错误或漏洞都无法被修复,这可能让恶意用户有机可乘,引发资金损失。现有技术中,智能合约的安全性检查通常依赖于传统的程序分析方法和手工审计,比如静态分析工具和形式化验证工具,尽管这些工具对于识别智能合约中的一些已知缺陷类型如重入攻击、整数溢出等问题很有效,但在处理状态缺陷方面仍有局限性,主要包括对复杂状态逻辑的检测能力有限、受限于规则库和模式匹配。

2、因此,传统的智能合约安全性检查存在检测能力有限、误报率较高的问题。


技术实现思路

1、基于此,为了解决上述技术问题,提供一种基于深度学习的智能合约状态缺陷检测方法及系统,可以提高智能合约状态缺陷的检测准确性。

2、一种基于深度学习的智能合约状态缺陷检测方法,所述方法包括:

3、从去中心化交易所dapp中确定若干智能合约,并将各个所述智能合约对应的solidity智能合约源代码进行编译,生成抽象语法树;

4、从所述抽象语法树中确定与智能合约状态对应的依赖特征;所述依赖特征包括声明依赖、表达式依赖、控制依赖、数据依赖、函数依赖;

5、遍历所述抽象语法树,将各个所述智能合约转换为图,根据所述依赖特征进行图优化处理;

6、使用词向量技术将优化后的图和依赖特征标准化,得到图结构数据;

7、将所述图结构数据输入至图卷积网络中,输出智能合约状态缺陷预测结果。

8、在其中一个实施例中,将各个所述智能合约对应的solidity智能合约源代码进行编译,生成抽象语法树,包括:

9、通过solcx工具对solidity智能合约源代码进行编译,得到抽象语法树。

10、在其中一个实施例中,所述方法还包括:

11、确定智能合约状态缺陷代码的语法特征,并用数据结构表示所述语法特征;

12、从所述抽象语法树中确定与智能合约状态对应的依赖特征,包括:

13、从所述抽象语法树中,根据所述数据结构提取出与所述语法特征匹配的源代码片段;

14、将所述源代码片段作为与智能合约状态对应的依赖特征;

15、其中,所述依赖特征包括节点特征、边特征。

16、在其中一个实施例中,所述依赖特征中的节点特征包括所述声明依赖、所述表达式依赖、所述控制依赖、所述数据依赖、所述函数依赖;其中,所述声明依赖包括变量和常量声明节点、函数和方法声明节点;所述表达式依赖,包括语法和表达式节点;所述控制依赖,包括控制依赖节点;所述数据依赖,包括数据依赖节点;所述函数依赖,包括函数依赖节点。

17、在其中一个实施例中,遍历所述抽象语法树,将各个所述智能合约转换为图,包括:

18、从所述抽象语法树的根节点开始,逐步遍历每个子节点,并为遍历过程中的各个树节点分别创建对应的图节点;

19、确定所述抽象语法树中的父子关系;

20、根据所述父子关系,在各个所述图节点中添加边以连接节点,直到遍历完成,生成图。

21、在其中一个实施例中,根据所述依赖特征进行图优化处理,包括:

22、确定预定义标签集合,通过深度遍历对图中的节点、边进行优化处理,移除所述图中不在所述预定义标签集合中的节点和边。

23、在其中一个实施例中,所述使用词向量技术将优化后的图和依赖特征标准化,得到图结构数据,包括:

24、使用词向量技术将优化后的图和依赖特征,从文本数据转换为向量格式,得到优化后的图中每个节点的表示向量;

25、对各个所述表示向量进行规范化处理,得到图结构数据。

26、在其中一个实施例中,将所述图结构数据输入至图卷积网络中,输出智能合约状态缺陷预测结果,包括:

27、将所述图结构数据输入至图卷积网络中,通过所述图卷积网络迭代传递节点特征学习,并使用softmax函数对所述图卷积网络中最后一层的节点特征和权重矩阵进行乘法运算,输出智能合约状态缺陷预测结果。

28、在其中一个实施例中,所述方法还包括:

29、在所述图卷积网络中,采用注意力机制动态计算节点间的权重;采用反向传播算法集合优化器更新所述图卷积网络中的模型参数;使用交叉熵损失函数来衡量预测输出与实际输出之间的差异,使用损失函数对所述图卷积网络进行优化。

30、一种基于深度学习的智能合约状态缺陷检测系统,所述系统包括:

31、编译模块,用于从去中心化交易所dapp中确定若干智能合约,并将各个所述智能合约对应的solidity智能合约源代码进行编译,生成抽象语法树;

32、依赖特征确定模块,用于从所述抽象语法树中确定与智能合约状态对应的依赖特征;所述依赖特征包括声明依赖、表达式依赖、控制依赖、数据依赖、函数依赖;

33、图优化处理模块,用于遍历所述抽象语法树,将各个所述智能合约转换为图,根据所述依赖特征进行图优化处理;

34、标准化处理模块,用于使用词向量技术将优化后的图和依赖特征标准化,得到图结构数据;

35、预测模块,用于将所述图结构数据输入至图卷积网络中,输出智能合约状态缺陷预测结果。

36、上述基于深度学习的智能合约状态缺陷检测方法及系统,通过编译solidity智能合约源代码生成抽象语法树,确定依赖特征后通过遍历抽象语法树的方式进行图优化以及标准化处理,充分学习和理解智能合约中的复杂模式和特征,以及学习图结构数据的深度特征和模式,可以准确地分析和预测智能合约的状态缺陷,且具有很强的泛化能力,可以应用于不同类型或规模的智能合约。

本文档来自技高网...

【技术保护点】

1.一种基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,将各个所述智能合约对应的Solidity智能合约源代码进行编译,生成抽象语法树,包括:

3.根据权利要求1所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述依赖特征中的节点特征包括所述声明依赖、所述表达式依赖、所述控制依赖、所述数据依赖、所述函数依赖;其中,所述声明依赖包括变量和常量声明节点、函数和方法声明节点;所述表达式依赖,包括语法和表达式节点;所述控制依赖,包括控制依赖节点;所述数据依赖,包括数据依赖节点;所述函数依赖,包括函数依赖节点。

5.根据权利要求3所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,遍历所述抽象语法树,将各个所述智能合约转换为图,包括:

6.根据权利要求5所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,根据所述依赖特征进行图优化处理,包括:

7.根据权利要求1所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述使用词向量技术将优化后的图和依赖特征标准化,得到图结构数据,包括:

8.根据权利要求1所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,将所述图结构数据输入至图卷积网络中,输出智能合约状态缺陷预测结果,包括:

9.根据权利要求8所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述方法还包括:

10.一种基于深度学习的智能合约状态缺陷检测系统,其特征在于,所述系统包括:

...

【技术特征摘要】

1.一种基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,将各个所述智能合约对应的solidity智能合约源代码进行编译,生成抽象语法树,包括:

3.根据权利要求1所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述方法还包括:

4.根据权利要求3所述的基于深度学习的智能合约状态缺陷检测方法,其特征在于,所述依赖特征中的节点特征包括所述声明依赖、所述表达式依赖、所述控制依赖、所述数据依赖、所述函数依赖;其中,所述声明依赖包括变量和常量声明节点、函数和方法声明节点;所述表达式依赖,包括语法和表达式节点;所述控制依赖,包括控制依赖节点;所述数据依赖,包括数据依赖节点;所述函数依赖,包括函数依赖节点。

5.根据权...

【专利技术属性】
技术研发人员:李晓琦李宗维李文凯王乙顺毛英杰
申请(专利权)人:海南大学
类型:发明
国别省市:

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

1