[发明专利]基于类型检测的智能合约信息流完整性验证方法及系统在审
申请号: | 202110293711.2 | 申请日: | 2021-03-19 |
公开(公告)号: | CN113051624A | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 胡镡文;庄毅;林尚威;章甫源;阚双龙;曹子宁 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F21/64 | 分类号: | G06F21/64 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 朱炳斐 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 类型 检测 智能 合约 信息 完整性 验证 方法 系统 | ||
本发明公开了一种基于类型检测的智能合约信息流完整性验证方法及系统,属于区块链和信息安全领域。该方法可用于解决以太坊区块链环境下智能合约潜在的信息篡改问题,包括:为智能合约编程语言构建形式化语法、语义;构建智能合约的安全类型系统STC,用于检测智能合约信息流完整性;构建基于智能合约类型系统STC的类型验证器STV,自动为智能合约的状态变量寻找最优安全类型分配。本发明给出智能合约形式化语法和语义,同时结合了类型检测在安全信息流检查中的优点,可以对智能合约源代码的信息流完整性进行有效的分析与验证,减少智能合约在运行过程中出现可信信息被篡改的概率。
技术领域
本发明属于区块链及程序验证领域,特别涉及一种基于类型检测的智能合约信息流完整性验证方法及系统。
背景技术
智能合约是运行在区块链(例如,以太坊)上的计算机程序,不需要外部可信的权威机构。它们被证明适用于许多领域,包括拍卖、选举、商业和游戏。数据显示,智能合约最近已经变得无处不在,数量急剧增加。然而,如何保证智能合约的安全性是一个挑战。首先,它们通常是在上市时间的压力下开发的,可能充满安全漏洞,或者可能被网络罪犯利用,窃取加密货币和其他数字资产。其次,它们是可以与复杂环境(例如,用户和其他智能合约)交互的程序。在部署不安全的智能合约时,区块链的性质导致不可逆转的破坏。例如,2016年6月DAO合约利用递归漏洞使得1.5亿美元被盗,2017年7月多签名钱包利用函数可见性说明符使得3100万美元被盗,和几个月后在同一钱包由于错误使用delegatecall使得3亿美元被冻结。
为了应对这一挑战,许多技术已经扩展和应用到创建安全合约或检测恶意合约上。例如,使用有限状态机与严格语义跟踪智能合约的行为,以防止常见漏洞;使用形式化EVM(以太虚拟机)定义来定理证明智能合约中的安全属性,形式化方法可以为EVM字节码提供强大的形式化验证保证,但完全自动化形式化验证方法并非易事;使用模糊测试通过生成合约交易序列来检测合约中潜在的漏洞,但模糊测试方法需要一个模拟的执行环境。保持信息流的完整性可能会阻止可信域被不可信数据篡改。实现程序信息流完整性的一种方法是通过基于语言的安全方法,例如,为信息流使用类型系统。在安全类型语言中,通过指定所有程序变量和表达式的类型,可以在编译时强制执行安全策略。然而,为智能合约开发类型检查器并不简单。首先,Solidity的语法比简单的命令式语言更复杂,这使得它不可能使用现有的类型检查器。例如,为了与不遵守ABI的合约交互,或者为了获得更直接的控制,在Solidity中提供了唯一的函数操作callcode和delegatecall。其次,许多类型系统只在不干涉属性上执行可靠性证明,而没有自动类型推断的工具。手动执行类型推断很容易出错,而且可能无法处理大规模的智能合约。此外,基于对现有合约的分析,用户迫切需要工具来检测合约中哪些状态变量是可信的(可信的),以便存储不能被篡改的信息。
发明内容
本发明的目的在于针对上述现有技术存在的问题,解决以太坊区块链环境下智能合约潜在的信息篡改问题,提供一种基于类型检测的智能合约信息流完整性验证方法。
实现本发明目的的技术解决方案为:一种基于类型检测的智能合约信息流完整性验证方法,所述方法包括以下步骤:
步骤1,为智能合约编程语言构建形式化语法、语义;
步骤2,构建智能合约的安全类型系统STC,用于检测智能合约信息流完整性;
步骤3,构建基于智能合约类型系统STC的类型验证器STV,自动为智能合约的状态变量寻找最优安全类型分配,即状态变量中被分配为可信的数量最多,使得智能合约满足信息流完整性。
进一步地,步骤1中所述构建形式化语法,具体包括:
(1)将智能合约编程语言抽象为短语,这些短语为表达式或语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110293711.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种输液智能监测保护设备
- 下一篇:一种用于塑料板材的可快开拆卸式造粒装置