浙江大学周亚金获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉浙江大学申请的专利一种基于图神经网络的智能合约字节码相似度检测方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119473311B 。
龙图腾网通过国家知识产权局官网在2025-10-03发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202411476145.9,技术领域涉及:G06F8/53;该发明授权一种基于图神经网络的智能合约字节码相似度检测方法是由周亚金;季高强;陈卓;吴磊设计研发完成,并于2024-10-22向国家知识产权局提交的专利申请。
本一种基于图神经网络的智能合约字节码相似度检测方法在说明书摘要公布了:本发明公开了一种基于图神经网络的智能合约字节码相似度检测方法,包括:对以太坊虚拟机字节码进行反汇编操作,对反汇编结果进行数据流分析和控制流分析,获得该字节码对应的数据流图和控制流图;将每个外部函数的数据流图和控制流图组合成字节码特征图;采用大量带有相似标签的智能合约训练图神经网络,训练过程中对字节码特征图进行向量化操作,得到特征向量;将问题合约作为参考智能合约,将参考智能合约与待检测的智能合约的字节码特征图分别输入训练好的图神经网络,分别得到对应的特征向量,比较两特征向量的欧式距离,度量得到两智能合约字节码的相似度。本发明相较传统方法有更高的准确度,可以有效识别问题合约,增强区块链系统的安全。
本发明授权一种基于图神经网络的智能合约字节码相似度检测方法在权利要求书中公布了:1.一种基于图神经网络的智能合约字节码相似度检测方法,其特征在于,包括以下步骤: 步骤一:对以太坊虚拟机字节码进行反汇编操作,生成反汇编代码; 步骤二:对反汇编结果进行数据流分析和控制流分析,获得该字节码对应的数据流图和控制流图;具体通过如下子步骤实现: 2.1为智能合约的每个外部函数维护一个控制流图入口和一个符号执行栈; 2.2用指令将每个外部函数分成多个按顺序排布的基本块,每个基本块内的所有指令顺序执行;每个外部函数对应的控制流集合得到控制流图; 2.3执行指令时,指令从栈中弹出的数据即为指令使用的数据,指令向栈中压入的数据即为指令定义的数据;若指令使用的数据来自另一条指令定义的数据,则将指令定义的数据到指令使用的数据组成的有向边加入数据流图; 步骤三:将每个外部函数的数据流图和控制流图组合成字节码特征图; 所述步骤三中,遍历控制流图中的基本块,对于每个基本块,同时进行递归和生成字节码特征图的操作; 递归具体通过如下子步骤实现: 3.1.1初始化第二递归栈,所述第二递归栈中仅包含当前基本块,同时初始化一个空的指令集合; 3.1.2判断第二递归栈是否为空,若是,则返回指令集合,并跳转执行步骤3.2.1; 若否,则执行步骤3.1.3; 3.1.3弹出第二递归栈栈顶的基本块,遍历该基本块在控制流图中的前驱块,获取每个前驱块的关键指令;若某个前驱块b不存在关键指令,则执行步骤3.1.4;若前驱块b存在关键指令,则将前驱块b的最后一个关键指令加入指令集合,并返回步骤3.1.2; 3.1.4判断前驱块b是否被访问,若否,则将该前驱块b在控制流图中的所有前驱块加入第二递归栈的栈顶,并返回步骤3.1.2;若是,则直接返回步骤3.1.2; 生成字节码特征图具体通过以下操作实现,且三个子步骤无执行顺序要求; 3.2.1获取当前基本块中的所有关键指令,将指令集合中的所有关键指令与当前基本块中的第一条关键指令连接成的所有有向边,加入字节码特征图; 3.2.2获取当前基本块中的所有关键指令,将第n条和第n+1条关键指令连接成的有向边,加入字节码特征图,n=1,2,…,N‑1,N为当前基本块中的关键指令总数; 3.2.3遍历当前基本块中的所有关键指令,对于每个关键指令,遍历数据流图中由该关键指令定义的所有数据,这些数据称为定义数据;将连接该关键指令和各个定义数据的所有有向边加入字节码特征图,并将数据流图中指向各个定义数据的所有有向边加入字节码特征图; 步骤四:将大量带有相似标签的智能合约通过步骤一~步骤三的方法得到的字节码特征图集合得到训练数据集,使用训练数据集训练图神经网络,训练过程中图神经网络对字节码特征图进行向量化操作,得到字节码的特征向量; 步骤五:将问题合约作为参考智能合约,采用步骤一~步骤三的方法分别得到参考智能合约与待检测的智能合约的字节码特征图,再分别输入训练好的图神经网络中,得到参考智能合约的特征向量和待检测的智能合约的特征向量;比较待检测的智能合约的特征向量与参考智能合约的特征向量的欧式距离,度量得到两智能合约字节码的相似度。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人浙江大学,其通讯地址为:310058 浙江省杭州市西湖区余杭塘路866号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。
请提出您的宝贵建议,有机会获取IP积分或其他奖励