技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种智能合约检查运行系统及方法与流程  >  正文

一种智能合约检查运行系统及方法与流程

  • 国知局
  • 2024-07-31 22:45:45

本发明属于智能合约,具体而言,涉及一种智能合约检查运行系统及方法。

背景技术:

1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质上是一个去中心化的数据库,是遗传使用密码方法相关联产生的数据块,每一个数据块中包含了一个批次的网络交易信息,用于验证其信息的有效性和生成下一个区块。

2、智能合约(smartcontract)这个术语至少可以追溯到1994年,是由多产的跨领域法律学者尼克·萨博(nickszabo)提出来的。他在发表于自己的网站的几篇文章中提到了智能合约的理念,定义是:一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。

3、然而,目前针对智能合约的漏洞检测还十分有限,通常等编写完毕后人工进行测试,不仅检查效率低,而且检查的准确率不高;同时,智能合约使用一段时间之后,入侵者能够通过漏洞进行攻击或植入恶意代码,导致智能合约存在风险。

技术实现思路

1、本发明实施例提供了一种智能合约检查运行系统及方法,其目的在于解决现有的联盟区块链网络的参与方在发起交易提案和处理方处理交易投票时并没有对相关人员进行身份核实,使得部分人员恶意发起交易提案或处理交易投票,从而给联盟区块链网络内的成员造成损失的问题。

2、鉴于上述问题,本发明提出的技术方案是:

3、第一方面,本发明提供一种智能合约检查运行系统,应用于区块链节点,包括:

4、获得模块,其用于根据所述区块链合约获得若干个动态字节码集合,并获得若干个静态字节码集合;

5、测试模块,其用于对若干个所述动态字节码集合逐一进行仿真运行,判断若干个所述动态字节码集合的错误字节码;

6、验证模块,其用于对所述错误字节码进行验证,确定所述错误字节码的错误类型;

7、量化模块,其用于根据所述错误类型标注风险标识;

8、报告模块,其用于根据所述风险标识输出安全风险报告。

9、作为本发明的一种优选技术方案,所述获得模块,具体包括:

10、区分单元,其用于将所述区块链合约的源代码区分成若干个所述动态字节码集合;

11、接收单元,其用于接收用户输入的若干个所述静态字节码集合;

12、关联单元,其用于将若干个所述动态字节码集合与若干个所述静态字节码集合一一对应形成映射关系。

13、作为本发明的一种优选技术方案,所述仿真运行,具体包括:

14、将每个所述动态字节码集合依照逐一集合、逐一动态字节码运行,同时映射于对应的所述静态字节码集合,并于所述静态字节码集合上形成误点追踪。

15、作为本发明的一种优选技术方案,所述并于所述静态字节码集合上形成误点追踪,具体包括:

16、每个所述动态字节码集合运行时,将所述动态字节码集合的动态字节码与所述静态字节码集合的静态字节码进行一一比对;当所述动态字节码与所述静态字节码不一致时,确定所述错误字节码。

17、作为本发明的一种优选技术方案,所述错误字节码包括错误的所述动态字节码和误点位置。

18、作为本发明的一种优选技术方案,所述验证模块,具体包括:

19、排列单元,其用于根据所述误点位置将所述错误字节码按序排列;

20、第一判断单元,其用于判断所述错误字节码是否形成错误串;

21、确定单元,其用于若所述错误字节码无法形成错误串,则确定所述错误字节码为第一错误类型;若所述错误字节码能够形成错误串,则确定所述错误字节码为第二错误类型。

22、作为本发明的一种优选技术方案,当所述错误字节码为第二错误类型时,具体包括:

23、读取所述错误字节码在存储区的输入存储地址,根据所述输入存储地址解析出所述错误字节码的网络地址,判断所述错误字节码的网络地址是否位于起始网络地址和结尾网络地址之外;

24、若所述错误字节码的网络地址是否位于起始网络地址和结尾网络地址之外,则确定所述错误字节码为第二错误类型。

25、作为本发明的一种优选技术方案,所述量化模块,具体包括:

26、统计单元,其用于统计所述第一错误类型的第一频数和所述第二错误类型的第二频数;

27、第二判断单元,其用于根据所述第一频数和所述第二频数分别判断所述第一错误类型和所述第二错误类型是否存在安全风险,得到判断结果;

28、评级单元,其用于根据所述判断结果分别为第一错误类型和所述第二错误类型标上风险标识。

29、作为本发明的一种优选技术方案,所述风险标识包括绿色低等级标识、黄色中等级标识和红色高等级标识。

30、第二方面,本发明实施例提供一种智能合约检查运行方法,包括以下步骤:

31、s1,根据所述区块链合约获得若干个动态字节码集合,并获得若干个静态字节码集合;

32、s2,对若干个所述动态字节码集合逐一进行仿真运行,判断若干个所述动态字节码集合的错误字节码;

33、s3,对所述错误字节码进行验证,确定所述错误字节码的错误类型;

34、s4,根据所述错误类型标注风险标识;

35、s5,根据所述风险标识输出安全风险报告。

36、本发明实施例提供的上述技术方案的有益效果至少包括:

37、(1)通过将区块链合约的源代码拆分成若干个动态字节码集合,并获得与其相对照的静态字节码集合,依附于静态字节码集合进行误点追踪,进而能够遍历出最准确的错误字节码,以保证后续风险评级的准确性。

38、(2)针对错误字节码进行错误类型的分析,最终能从错误类型中解析出错误的原因来源于内部或外部,从而不仅能够解决漏洞,而且还能够解决恶意代码的问题。

39、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

技术特征:

1.一种智能合约检查运行系统,其特征在于,应用于区块链节点,包括:

2.根据权利要求1所述的一种智能合约检查运行系统,其特征在于,所述获得模块,具体包括:

3.根据权利要求1所述的一种智能合约检查运行系统,其特征在于,所述仿真运行,具体包括:

4.根据权利要求3所述的一种智能合约检查运行系统,其特征在于,所述并于所述静态字节码集合上形成误点追踪,具体包括:

5.根据权利要求4所述的一种智能合约检查运行系统,其特征在于,所述错误字节码包括错误的所述动态字节码和误点位置。

6.根据权利要求5所述的一种智能合约检查运行系统,其特征在于,所述验证模块,具体包括:

7.根据权利要求6所述的一种智能合约检查运行系统,其特征在于,当所述错误字节码为第二错误类型时,具体包括:

8.根据权利要求6所述的一种智能合约检查运行系统,其特征在于,所述量化模块,具体包括:

9.根据权利要求8所述的一种智能合约检查运行系统,其特征在于,所述风险标识包括绿色低等级标识、黄色中等级标识和红色高等级标识。

10.一种智能合约检查运行方法,应用于权利要求1~9任一项所述的一种智能合约检查运行系统,其特征在于,包括以下步骤:

技术总结本发明提供了一种智能合约检查运行系统及方法,属于智能合约技术领域,该一种智能合约检查运行系统包括获得模块、测试模块、验证模块、量化模块和报告模块,获得模块用于根据所述区块链合约获得若干个动态字节码集合,并获得若干个静态字节码集合;测试模块用于对若干个所述动态字节码集合逐一进行仿真运行,判断若干个所述动态字节码集合的错误字节码;验证模块用于对所述错误字节码进行验证,确定所述错误字节码的错误类型;量化模块用于根据所述错误类型标注风险标识。本发明针对错误字节码进行错误类型的分析,最终能从错误类型中解析出错误的原因来源于内部或外部,从而不仅能够解决漏洞,而且还能够解决恶意代码的问题。技术研发人员:魏良峰受保护的技术使用者:福建中科星泰数据科技有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/194464.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。