首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种以太坊智能合约字节码优化方法、装置、介质及设备 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南京大学

摘要:本发明公开了一种以太坊智能合约字节码优化方法、装置、介质及设备。该方法通过首先从字节码指令集中找出函数及函数所包含的基本块,然后在函数体内找出其中表示源代码非循环连续性条件判断语句的连续性条件跳转的基本块及其跳转目标基本块,通过符号执行获得条件变量判定项和跳转目标基本块之间的约束关系,然后基于该约束关系对条件变量判定项排序,而后构建二元决策树并优化,最终根据优化的二元决策树重构字节码指令。本发明的优化方法在以太坊中大大减少资源消耗。

主权项:1.一种以太坊智能合约字节码优化方法,其特征在于,该方法包括如下步骤:步骤S1:获取智能合约字节码指令集;步骤S2:对所述智能合约字节码指令集进行基本块切分和基本块跳转分析,以确定基本块和基本块之间的跳转关系,并确定调度器基本块;然后根据函数入口跳转自调度器基本块以及出口跳转向调度器基本块确定函数和函数所包含的基本块;步骤S3:根据基本块跳转关系所确定的控制流图和路径,对函数所包含的基本块进行控制流图的路径分析,找出其中表示源代码非循环连续性条件判断语句的连续性条件跳转的基本块及其跳转目标基本块组成的子控制流图,得到第一子图集合;步骤S4:对第一子图集合中的子控制流图所对应的字节码指令进行符号化执行分析,通过符号化执行分析,得到子控制流图中条件变量计算的字节码指令,以及条件变量判定项和跳转目标基本块之间的约束关系;所述条件变量判定项或为布尔类型的条件变量,或为关于单个比较操作符的条件变量比较表达式;步骤S5:根据子控制流图中的条件变量判定项和跳转目标基本块之间的约束关系,构建二元决策树;所述二元决策树由节点和表示节点父子关系的边组成树形数据结构;其中,节点包括带有两个子节点的枝干节点和不带有子节点的叶子节点;所构建的二元决策树的相同层次的枝干节点为所述子控制流图中同一条件变量判定项;所述枝干节点的两个子节点分别表示枝干节点对应的条件变量判定项分别为真或假的两种后续处理;所述叶子节点为所述子控制流图中跳转目标基本块;步骤S6:循环遍历二元决策树中子节点包括有叶子节点的枝干节点,对所遍历的枝干节点做如下裁剪处理:若该枝干节点的两个子节点指向同一个跳转目标基本块,则将该枝干节点父节点指向该枝干节点的边指向该跳转目标基本块;若两个枝干节点同构,且为父节点的两个子节点,则将该枝干节点父节点的父节点指向该枝干节点父节点的边指向两个枝干节点之一;所述两个枝干节点同构是指条件变量判定项为真时,两个枝干节点的子节点相同,并且条件变量判定项为假时,两个枝干节点的子节点相同;步骤S7:根据条件变量计算的字节码指令和跳转目标基本块,为裁剪处理后的二元决策树中的枝干节点构建相应的跳转基本块,并重新调整跳转目标基本块的位置,以替换原子控制流图中的各个基本块。

全文数据:

权利要求:

百度查询: 南京大学 一种以太坊智能合约字节码优化方法、装置、介质及设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。