[发明专利]一种智能合约的安全检测方法及装置有效
申请号: | 202111497320.9 | 申请日: | 2021-12-09 |
公开(公告)号: | CN113900665B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 姚俊笋;颜亦军;韩朋博 | 申请(专利权)人: | 众连智能科技有限公司;连连银通电子支付有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06K9/62;G06N20/00 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 苗芬芬;贾允 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 安全 检测 方法 装置 | ||
本发明公开了一种智能合约的安全检测方法及装置,包括:获取智能合约的代码信息;基于代码信息,确定智能合约的合约类型;基于合约类型,获取智能合约对应的语法规则信息和语义规则信息;基于代码信息、语法规则信息和语义规则信息,对智能合约进行语法检查和语义检查,得到智能合约的安全信息。根据本发明的技术方案,通过基于智能合约的代码信息确定智能合约的合约类型,基于合约类型获取智能合约对应的语法规则信息和语义规则信息,并基于代码信息、语法规则信息和语义规则信息对智能合约进行语法检查和语义检查,从而保证智能合约的安全性,避免代码漏洞安全问题所带来的巨额的财产损失。
技术领域
本发明涉及到区块链智能合约安全技术领域,尤其涉及一种智能合约的安全检测方法及装置。
背景技术
智能合约是运行在区块链上的程序,区块链通过智能合约向用户提供复杂的业务功能。区块链技术重新构造了交易双方信任的方式,使用点对点共识同步账本技术创建了信任的媒介,使得交易的双方在传递价值的过程中去除了对第三方信任机构的依赖,使用技术保障信任,很大程度上提高了价值交互过程中结算的效率。因此,保障智能合约在区块链上的安全运行显得尤为重要。
但事实上,因为区块链智能合约由于人为书写的程序代码漏洞而造成的安全问题屡次出现,但智能合约一旦发布便不可篡改的特性,使得代码漏洞安全问题往往会带来巨额的财产损失。为了防患于未然,提前对智能合约的安全检查工作必不可少。
发明内容
本发明的目的是提供一种智能合约的安全检测方法及装置,通过基于智能合约的代码信息确定智能合约的合约类型,基于合约类型获取智能合约对应的语法规则信息和语义规则信息,并基于代码信息、语法规则信息和语义规则信息对智能合约进行语法检查和语义检查,从而保证智能合约的安全性,避免代码漏洞安全问题所带来的巨额的财产损失。
为实现上述目的,本发明提供了如下方案:
一种智能合约的安全检测方法,所述方法包括:
获取智能合约的代码信息;
基于所述代码信息,确定所述智能合约的合约类型;
基于所述合约类型,获取所述智能合约对应的语法规则信息和语义规则信息;
基于所述代码信息、所述语法规则信息和所述语义规则信息,对所述智能合约进行语法检查和语义检查,得到所述智能合约的安全信息。
可选的,所述基于所述代码信息,确定所述智能合约的合约类型,包括:
获取合约分类模型;
将所述代码信息输入所述合约分类模型,获得所述智能合约的合约类型。
可选的,所述方法还包括:
获取样本智能合约的样本代码信息和合约类型标签;
将所述样本代码信息输入预设机器学习模型,进行合约类型预测处理,得到预测合约类型信息;
根据所述合约类型标签和所述预测合约类型信息,得到合约类型损失信息;
根据所述合约类型损失信息训练所述预设机器学习模型,得到所述合约分类模型。
可选的,所述基于所述语法规则信息和所述语义规则信息,对所述智能合约进行语法检查和语义检查,得到所述智能合约的安全信息,包括:
基于所述代码信息,构建所述智能合约对应的抽象语法树;
基于所述语法规则信息,对所述抽象语法树的节点信息与所述语法规则信息中的节点信息进行匹配处理;
在存在所述抽象语法树中的节点信息与所述语法规则信息中的节点信息不匹配的情况下,得到所述安全信息为存在错误的相关信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于众连智能科技有限公司;连连银通电子支付有限公司,未经众连智能科技有限公司;连连银通电子支付有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111497320.9/2.html,转载请声明来源钻瓜专利网。