一种验证并生成正确交互智能合约的方法技术

技术编号:39828530 阅读:23 留言:0更新日期:2023-12-29 16:05
本发明专利技术公开了一种验证并生成正确交互智能合约的方法,首先用户根据以太坊智能合约地址下载对应的智能合约

【技术实现步骤摘要】
一种验证并生成正确交互智能合约的方法


[0001]本专利技术涉及区块链以及智能合约开发
,尤其涉及一种验证并生成正确交互智能合约的方法


技术介绍

[0002]随着区块链技在互联网科技的强力推动下快速发展,区块链技术提供的公开

去中心化

可信赖的计算平台受到了业内极大的关注

区块链相关技术实体也被迅速应用于金融

教育

传媒等领域

依托于区块链平台的智能合约也日渐成为区块链应用的重要组成部分

现阶段,部署在区块链平台上的智能合约日益增多,这些智能合约实现了链上账户间货币的自动交易并对交易的顺利进行提供保障

[0003]然而,随着智能合约管理的数字资产数目不断膨胀,安全问题便自然而然地开始被业内人士所关注

本质上,智能合约与所有计算机软件并无区别,所以智能合约中同样可能包含若干种程序漏洞,这些漏洞将会给恶意攻击者带来可乘之机,从而直接对智能合约管理的资产造本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种验证并生成正确交互智能合约的方法,其特征在于,所述验证方法包括以下步骤:步骤
1)
,根据以太坊智能合约地址下载对应的若干智能合约,获取各个智能合约的
Solidity
代码并将其转换为有限状态机模型;所述若干智能合约组成具有交互关系的智能合约系统,获得智能合约系统的
Solidity
部署图;步骤
2)
,根据各个智能合约的有限状态机模型,生成整体模型并进行行为交互优先级建模,再结合
Solidity
部署图对智能合约的部署及交互信息进行补充;步骤
3)
,对整体模型进行验证,输出验证结果,如果验证结果表明模型无法满足预设的属性需求,则对模型进行调整,直至满足预设的属性需求;步骤
4)
,生成与整体模型功能等效的
Solidity
代码,并将生成的等效的
Solidity
代码部署到区块链平台上
。2.
根据权利要求1所述的验证并生成正确交互智能合约的方法,其特征在于,步骤
1)
中将智能合约的
Solidity
代码转换为有限状态机模型以及获取
Solidity
部署图的步骤如下:步骤
1.1)
,通过元组数据结构定义智能合约对应的有限状态机模型,并根据该定义使用
WebGME
平台的图形转换器生成有限状态机模型,构建有限状态机模型的元组定义如下:
tuple(E,I,i0,I
t
,a0,a
F
,C,T)E
是由自定义事件
(
合约行为
)
和类型定义组合成的集合;
I
是由有限的合约状态组成的集合;
i0∈I
是初始状态,是由最终状态组成的集合;
A
是由合约的动作组成的集合;
a0∈A
是初始动作,
a
F
∈A

fallback()
动作;是由有限状态集合
I
中单个状态与
E
中单个事件
/
类型组成的二元组集合;是一组由有限状态自动机的状态转换组成的集合,包含所有可能的状态转换,其中
t
name
∈T
是转换名,
t
source
∈I
是源状态,
t
params
∈C
是参数变量,
g
c
∈G
是转换保护,是返回值类型,
a
t
∈A
是转换动作,
t
d
∈I
是目标转换目标状态;步骤
1.2)
,调用
Sol2uml
工具将智能合约系统转换为能够捕捉合约之间关系

函数调用关系

函数继承关系的
UML
图,进而获得智能合约系统的
Solidity
部署图,
Solidity
部署图以图形的形式展示了智能合约之间的依赖关系
。3.
根据权利要求2所述的验证并生成正确交互智能合约的方法,其特征在于,步骤
2)
中行为交互优先级建模的方法包括:步骤
2.1)
,明确建模目标:通过各个智能合约的有限状态机模型进行行为状态规约对具有交互关系的智能合约系统进行建模;步骤
2.2)
,定义组件:各个智能合约的有限状态机模型即为行为交互优先级建模的组件,对各...

【专利技术属性】
技术研发人员:王嘉诚张玉书蒋佳佳赵佳豪
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1