[发明专利]一种智能合约工程方法有效
申请号: | 201610724219.5 | 申请日: | 2016-08-25 |
公开(公告)号: | CN107783758B | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | 胡凯;白晓敏;黄洁华;陈志东 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 工程 方法 | ||
1.一种智能合约生成方法,其特征在于包括以下步骤:
将非形式化的智能合约说明文档转变为形式化规格的说明文档;
根据所述智能合约形式化规格的说明文档,选择建模语言与建模工具建立智能合约的动态模型;
验证智能合约动态模型的正确性,验证智能合约动态模型的正确性包括验证以下一种或多种:
可达性:验证智能合约的各种状态之间的可达关系;
没有死锁;
没有活锁;
弱活锁:指智能合约处于死循环中,只有当智能合约交换命令的相对速度达到某一状态时,智能合约才退出死循环;
时间相关的活锁,也称为临时阻塞:智能合约处于死循环中,当通信双方交换报文的相对速度到达某一状态时,智能合约打破死循环;
有界性:检验合约的某些成分或参数的容量是否有界;
可恢复性或自同步性:当出现差错后,智能合约能否在有限的步骤内返回到正常状态;
无状态二义性;
互斥性;
终止或进展;智能合约提供的服务必须在有限时间内完成;
无冗余描述:智能合约中没有无用的、冗余描述;
公平性:每一个智能合约实体均应平等地得到运行的机会;
通过正确性验证后,根据智能合约的动态模型自动生成智能合约代码;
对所述智能合约形式化规格的说明文档与生成的智能合约代码进行一致性检测,所述一致性检测具体包括以下步骤:
(1)确定测试目的,所述测试目的具体包括以下至少一种:能力测试、正确行为的行为测试、语法错误的行为测试、不合时宜行为的行为测试、智能合约必备行为的测试、发送与接收相互交互的测试、与实现选项相关的测试;
(2)产生测试集,所述测试集的产生包括:测试序列的产生、测试数据的生成、将测试序列和测试数据合起来生成并描述测试集;
(3)测试实现,基于测试工具,用测试和测试控制符TTCN描述测试集;
(4)测试执行,在所述测试工具中,对被测智能合约实现执行TTCN测试用例,并对被测智能合约实现的外部行为响应进行记录;
(5)测试评估,对一致性测试结果进行评估和分析,判定是否通过一致性测试,如未通过测试则查出原因,进行反馈。
2.根据权利要求1所述的智能合约生成方法,其特征在于:还包括使用形式化描述模型及形式化描述语言将非形式化的智能合约说明文档转变为形式化规格的说明文档,其中用于形式化的方法包括以下至少一种:状态变迁机、时序逻辑、进程代数;形式化描述语言包括:规范及描述语言SDL、时间调整规范语言LOTOS、网络协议形式化描述语言中的国际标准ESTELLE、过程或协议元语言Promela。
3.根据权利要求1所述的智能合约生成方法,其特征在于:还包括对于同一个智能合约使用不同的建模语言建立多个智能合约的动态模型,并验证所述同一个智能合约的多个动态模型的正确性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610724219.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种半钢炼钢铸坯的制备方法
- 下一篇:一种炼钢电弧炉炉壁氧枪