【技术实现步骤摘要】
一种对区块链智能合约脆弱性检测的方法
[0001]本专利技术涉及区块链
,尤其涉及一种对区块链智能合约脆弱性检测的方法。
技术介绍
[0002]智能合约的本质其实是一段代码,通过一定的事件驱动,利用协议和用户接口完成合约的自动执行。在协议制定和部署完后,无需任何外设或人为干预,即可实现自我执行和验证,并在执行后会产生相应的可被验证的证据,以确保合约的有效性。区块链因为其具有的弱中心化、不可篡改、公开透明等优势,使其可以在不需要可信第三方机构的情况下,让互不信任的节点相互之间能够直接进行价值的流通,这不仅降低了交易的信任成本,也极大缩短了交互时间,它被看作是实现“信息互联网”转变至“价值互联网”的关键技术。当前区块链智能合约面临着约多类安全漏洞的威胁,通过传统形式化验证手段,检测漏洞的准确性和及检测效率不高,需要结合其他手段提高其检测的准确率及检测效率。
技术实现思路
[0003]本专利技术的目的就在于为了解决上述问题而提供一种对区块链智能合约脆弱性检测的方法,本专利技术通过引入机器学习算法实现自动化合约 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种对区块链智能合约脆弱性检测的方法,其特征在于,包括以下步骤:步骤1,智能合约的数据采集及标注;采集大量经过验证的智能合约数据并标注标签;步骤2,数据预处理:通过预处理阶段,将源代码转换为抽象的操作码数据流;步骤3,特征提取:操作码中提取多维特征,构建特征矩阵;步骤4,漏洞样本训练;实现对漏洞样本及样本数量平衡;步骤5,多标签分类器;实现对原始数据集、平衡数据集上分别训练多标签分类器;步骤6,指标评价:对多标签分类器进行评价,并最终确定检测智能合约漏洞效果最好的多标签分类模型的最优方式。2.如权利要求1所述的一种对区块链智能合约脆弱性检测的方法,其特征在于,所述步骤1中,对爬取的Solidity源码、Solidity版本、合约地址数据进行标注,构建多标签智能合约数据集。3.如权利要求1所述的一种对区块链智能合约脆弱性检测的方法,其特征在于,所述步骤2中,在数据预处理阶段,通过源码编译、字节码解析和操作码抽象化处理三个步骤将源代码转换为抽象的操作码数据流,为后续特征提取做好了铺垫。4.如权利要求1所述的一种对区块链智能合约脆弱性检测的方法,其特征在于,所述步骤3中,通过n
‑
技术研发人员:肖建,杨川,
申请(专利权)人:四川启睿克科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。