[发明专利]一种基于形式化模型的智能合约代码设计生成方法及系统在审
申请号: | 202111427479.3 | 申请日: | 2021-11-29 |
公开(公告)号: | CN114153422A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 胡凯;朱健;李洁 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/10 | 分类号: | G06F8/10;G06F8/20;G06F8/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 形式化 模型 智能 合约 代码 设计 生成 方法 系统 | ||
本发明公开了一种基于Event‑B形式化模型的智能合约代码设计生成方法,包括:步骤1,进行智能合约的需求分析,需求分析需要多方协调,用自然语言或领域特定语言DSL来描述智能合约的功能、属性和场景;步骤2,基于形式化模型Event‑B的语言准确地建立智能合约形式化模型并规约智能合约的属性;步骤3,基于形式化模型Event‑B,对智能合约形式化模型进行验证,对于没有通过验证的智能合约形式化模型进行反向校正和模型修改,直到通过验证;步骤4,基于EB2S运算子,将输入EB2S运算子的智能合约形式化模型对应输出Solidity智能合约代码。还公开了相应的基于Event‑B形式化模型的智能合约代码设计生成系统和电子设备,解决智能合约现有安全问题以及形式化方法与智能合约结合的不足。
技术领域
本发明属于区块链智能合约与软件安全技术领域,尤其涉及一种基于形式化模型的智能合约代码设计生成方法及系统。
背景技术
智能合约本质上可以看作在区块链上部署的一段可信交易执行程序,蕴含着契约关系和利益交易,承载了巨大的价值和交易量,比一般的软件具有更复杂的逻辑性和更高的安全性要求。
形式化方法是一种基于严格数学模型的软硬件设计方法,也是在安全关键软件系统中被广泛采用且高效的验证方法,同时也是国际软件验证的最高级别标准,形式化方法对整个系统使用非二义性的形式语言进行描述,并可以通过相应的验证工具对模型的各种属性进行验证
通过对智能合约以及形式化方法应用在智能合约领域现状的分析,现有技术主要存在以下不足:
1)智能合约存在大量的潜在安全风险,并且大部分隐患来源于合约开发者的设计逻辑出现的漏洞。常见的静态分析方法、软件测试或人工审计很难发现这种类型漏洞。
2)形式化方法和智能合约代码之间存在语义鸿沟和技术壁垒。应用形式化方法需要深厚的数学功底,而开发智能合约代码需要熟练使用合约的编程语言。在面向大规模智能合约的应用场景时,很难让所有的开发者同时掌握形式化方法和智能合约开发方法。
3)形式化模型和智能合约存在语义不一致的情况,现有技术中可行的规约语言或模型工具无法保证建立的模型行为和智能合约的需求文档保持一致。
4)形式化验证智能合约的自动化程度低。通常建立智能合约的形式化模型需要很高的人力成本和时间成本,在面向大规模智能合约应用场景时,人工建模和手动验证导致效率低下,且很难保证建模的正确性和一致性。
发明内容
本发明的目的是提供一种基于Event-B形式化模型的智能合约代码设计生成方法及系统,解决智能合约现有安全问题以及形式化方法与智能合约结合的不足。
本发明一方面提供了一种基于Event-B形式化模型的智能合约代码设计生成方法,包括:
步骤1,进行智能合约的需求分析,所述需求分析需要多方协调,用自然语言或领域特定语言DSL来描述智能合约的功能、属性和场景;
步骤2,基于形式化模型Event-B的语言准确地建立智能合约形式化模型并规约智能合约的属性;
步骤3,基于形式化模型Event-B,对所述智能合约形式化模型进行验证,对于没有通过所述验证的所述智能合约形式化模型进行反向校正和模型修改,直到通过所述验证;
步骤4,基于EB2S运算子,将输入所述EB2S运算子的所述智能合约形式化模型对应输出Solidity智能合约代码。
优选的,所述步骤2包括:所述形式化模型Event-B对智能合约形式化模型的精化,提供从抽象到具体,从简单到复杂的模型生成方法,并且每次精化会验证模型之间的约束关系,从而保证最后生成的模型和最初的需求是一致和正确的。
优选的,所述EB2S运算子包括多个转换方法对应的规则和算法,所述规则和算法按照从整体到局部的顺序包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111427479.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种水利工程管理水位监测装置
- 下一篇:一种用于表面处理槽中液体的清理装置