[发明专利]一种跨链智能合约的形式验证方法在审
申请号: | 202310463101.1 | 申请日: | 2023-04-26 |
公开(公告)号: | CN116402613A | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 李双玖;程学林;王强 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F21/57;G06F21/44;G06F16/27 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 形式 验证 方法 | ||
本发明公开一种跨链智能合约的形式验证方法,基于形式化验证方法实现,依据跨链智能合约的业务和已有漏洞,设计并建立了安全的形式化验证规范,转化成可形式化验证的数学逻辑表达式;还描述了验证的具体步骤,解析字节码构建流程控制图,生成符号化路径,使用SMT求解器Z3进行规范证明,从而提高跨链合约的安全性。
技术领域
本发明涉及区块链技术、跨链技术、智能合约、形式化验证技术、Z3定理证明器,具体涉及一种针对跨链智能合约的形式化验证方法。
背景技术
区块链是共识机制、加密算法、分布式存储、点对点传输等技术结合的新型应用模式。2008年比特币问世以来,区块链领域繁荣发展,各种区块链系统层出不穷,呈现百花齐放之势。然而,大多数链之间,由于技术、生态、竞争等原因,无法互联互通,价值无法有效传递,造成应用、资产、数据的割裂。跨链技术旨在连接不同区块链系统,进行消息的有效传递和价值互通,打破链间价值孤岛。跨链技术通常由链与链之间的跨链桥实现,而大多数跨链桥都依托于链上智能合约,与对应链进行交互,这些智能合约可被归纳为跨链智能合约。
由于跨链桥主要用于价值交换,通常持有大量资产,导致跨链桥成为黑客的高频攻击目标。2021至2022两年间,全球发生数十起跨链桥攻击事件,损失金额高达30亿美金。其中,绝大部分是由于跨链智能合约漏洞所引起的,因此对跨链智能合约进行安全审计尤其重要。目前主流的智能合约安全审计方案是形式化验证,它是一种从数学上完备地证明或验证模型是否满足了某个性质或规范的方法。跨链智能合约是近几年出现的新型智能合约,既没有形成统一的标准,又缺乏针对性的安全审计,迫切需要一套针对跨链智能合约的形式化验证方法。
发明内容
针对现有技术的不足,本发明提供一种跨链智能合约的形式验证方法,该方法可提高跨链类型智能合约的安全性。具体技术方案如下:
一种跨链智能合约的形式验证方法,该方法具体包括如下步骤:
(1)定义智能合约执行过程中上下文的语义,包括世界状态、虚拟机状态、执行上下文三组状态变量;
(2)根据现有漏洞类型,定义跨链智能合约的形式化验证规范,用于后续验证;
所包括的形式化验证规范如下:
对于采用签名验证方式的跨链消息验证,形式化验证规范为:
(1)签名必须通过校验,且签名人地址必须为事先规定的验证人地址;
(2)验证人地址不能通过非法的方式进行更改;
对于采用默克尔树验证方式的跨链消息验证,形式化验证规范为:
以默克尔树根节点作为起点,遍历默克尔树路径:对于每一层的中间节点,该层的中间节点的根哈希必须等于下一层该中间节点对应的所有子节点的哈希总和;而对于最后一层的叶子节点,叶子节点的哈希必须等于交易内容的哈希;
对于资产铸造,形式化验证规范为:
质押的代币数量必须等于铸造的代币数量;
(3)将输入的一系列智能合约合并为一个合约C;
(4)将合约C编译成字节码,解析字节码构建流程控制图;字节码中的基本代码块构成图中节点,字节码中的跳转指令构成节点的边;
(5)在所述流程控制图基础上进行符号执行,得到一组符号化路径;
(6)基于所述符号化路径,分析是否存在相关漏洞,即是否满足步骤(2)中定义的形式化验证规范,从而对符号化路径进行筛选;
(7)基于步骤(6)筛选后的路径,再做进一步分析,过滤误报,剔除假阳性。
进一步地,所述步骤(5)中,在所述流程控制图基础上进行符号执行,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310463101.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种巷道防冲支架柔性顶梁
- 下一篇:一种电动脚托