[发明专利]面向以太坊智能合约的协议自动形式化建模方法与系统有效
申请号: | 202111637894.1 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114218809B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 汪万森;黄文超;熊焰;熊峰;方贤进 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F21/57;G06Q40/04;G06F16/27 |
代理公司: | 安徽思沃达知识产权代理有限公司 34220 | 代理人: | 唐明 |
地址: | 230000*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 以太 智能 合约 协议 自动 形式化 建模 方法 系统 | ||
1.一种面向以太坊智能合约的协议自动形式化建模方法,其特征在于,包括:
步骤1、获取以太坊智能合约源码以及安全属性;
步骤2、解析所述以太坊智能合约源码,获得全局变量集合与函数集合;
步骤3、针对每一函数,生成外部账户行为子模型,表示任意外部账户调用相应函数的行为;
步骤4、结合以太坊智能合约源码中的函数,针对不同身份的攻击者,生成相应的攻击者行为子模型,建模相应攻击者的能力;
步骤5、针对每一函数中的语句,按照预设转换方式,根据语句类型、使用变量以及所在函数,将语句转换为智能合约行为子模型;
步骤3~步骤5不区分执行的先后顺序,可以同步执行,也可以按照任意顺序先后执行;
步骤6、根据所述安全属性的类型,对三种行为子模型或者部分行为子模型进行修改,得到以太坊智能合约形式化模型,包括:针对等价的安全属性,将三种行为子模型构成的集合复制得到新的集合,以两个集合对应表示两组交易,将两个集合对应的初始区块变量设置为不同,表示两组交易对应的初始区块变量不同;修改对应返回语句的行为子模型,添加动作表示两组交易执行完成后存在一个账户的余额不一致。
2.根据权利要求1所述的一种面向以太坊智能合约的协议自动形式化建模方法,其特征在于,所述外部账户行为子模型表示发起调用的外部账户以及局部变量初始值是任意的。
3.根据权利要求1所述的一种面向以太坊智能合约的协议自动形式化建模方法,其特征在于,所述结合以太坊智能合约源码中的函数,针对不同身份的攻击者,生成相应的攻击者行为子模型包括:
所述不同身份的攻击者包括:外部账户攻击者、合约账户攻击者与矿工攻击者;其中,对于智能合约中的公开函数,建模外部账户攻击者,它能够调用智能合约中的任意公开函数;当智能合约中的函数存在以太币转账行为,建模合约账户攻击者,它能够构造fallback函数实现间接调用以太坊智能合约中的任意公开函数;当智能合约中的函数使用了区块变量时,建模矿工攻击者,它能够在打包区块时修改区块变量。
4.根据权利要求1所述的一种面向以太坊智能合约的协议自动形式化建模方法,其特征在于,针对每一函数中的语句,按照预设转换方式,根据语句类型、使用变量以及所在函数,将语句转换为智能合约行为子模型包括:
根据语句类型,生成相应的子模型:对于条件语句,生成两条不同的子模型,表示条件满足和不满足时的执行分支;对于循环语句,展开后获得条件语句和/或其他语句,对于其他语句,生成一条子模型,对于条件语句,则生成两条不同子模型;
对于每一条子模型,根据使用变量及所在函数进行转换:子模型的左值和右值分别表示语句执行的前提和结果,左值和右值中分别使用了LVar与Gvar,LVar表示语句所在函数的局部变量值,Gvar表示合约的全局变量值;
综合所有子模型的转换结果,获得智能合约行为子模型。
5.根据权利要求1所述的一种面向以太坊智能合约的协议自动形式化建模方法,其特征在于,所述根据所述安全属性的类型,对三种行为子模型或者部分行为子模型进行修改包括:
对于不变式的安全属性,修改外部账户行为子模型,添加动作表示不变式在交易执行之前成立;和/或修改智能合约行为子模型中对应返回语句,添加动作表示不变式在交易执行完成后不成立。
6.根据权利要求1所述的一种面向以太坊智能合约的协议自动形式化建模方法,其特征在于,所述根据所述安全属性的类型,对三种行为子模型或者部分行为子模型进行修改包括:
针对等价属性,将三种行为子模型构成的集合复制得到三个新的集合,以四个集合对应表示四组交易,将集合对应的变量初始值设置为两两相同,以此表示相同的交易;将代表不同交易的集合以不同的先后顺序组合;修改对应返回语句的行为子模型,添加动作表示两组交易执行完成后存在一个账户的余额不一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111637894.1/1.html,转载请声明来源钻瓜专利网。