一种基于窥孔优化的以太坊智能合约Gas优化方法技术

技术编号:26691092 阅读:44 留言:0更新日期:2020-12-12 02:42
本发明专利技术提出一种基于窥孔优化的以太坊智能合约Gas优化方法。该方法首先收集以太坊中部署的智能合约操作码。将以太坊智能合约操作码中进行拆分指令序列处理,获得的所有指令序列,得到指令序列集。然后对指令序列集后进行标准化处理,对指令中的寄存器、常数等参数进行标准化。得到标准化后的操作码后进行指令序列划分,并计算Gas消耗,每一类作为一个替换规则。然后进行待优化合约匹配,优化过程中使用替换规则进行匹配,如果检测到等价片段,则添加进替换规则中。最后进行指令序列替换,选择Gas消耗最低的片段将其替换,如果该等价片段Gas消耗更低则不进行替换。最后达到降低智能合约Gas消耗的效果。

【技术实现步骤摘要】
一种基于窥孔优化的以太坊智能合约Gas优化方法
本专利技术属于计算机技术中的区块链智能合约领域,尤其是面向以太坊区块链系统中的Solidity智能合约Gas优化领域,用于降低以太坊智能合约的交易成本。本专利技术使用编译器操作码优化技术中的窥孔优化技术对以太坊智能合约操作码进行优化以达到Gas优化的目的。
技术介绍
在互联网技术不断发展的时代,各种新兴技术应运而生。二十一世纪初期,移动智能设备与技术的出现完全改变了人们的生活,人工智能、数据挖掘、深度学习等新技术也相继涌现出来。在这样的大前提下,区块链技术在近几年中迅速发展起来。成为又一个值得深入理解的新兴技术。区块链技术的源于2008年中本聪提出的比特币,它是一种去中心化的虚拟货币,这种货币不需要一个中心机构去管理,能够实现完全的自我发行和流通。目前,比特币系统已在无人监管的情况下,连续10年间正确运转,从未出现过差错,因此比特币系统开始受人关注。研究人员从比特币系统中抽离了底层技术并命名为区块链技术。区块链是一个个区块按照生成的时间顺序逐个链接在一起形成一条区块构成的链。这种技术具有去中心化、本文档来自技高网...

【技术保护点】
1.一种基于窥孔优化的以太坊智能合约Gas优化方法,其特征是该方法首先收集以太坊中部署的智能合约操作码,对收集到的智能合约操作码进行去重。将去重后的以太坊智能合约操作码中进行拆分指令序列处理,获得的所有指令序列重新进行去重,得到指令序列集。然后对指令序列集后进行标准化处理,对指令中的寄存器、常数等参数进行标准化。得到标准化后的操作码后进行指令序列划分,即将等价的指令序列分类,并计算Gas消耗,每一类作为一个替换规则。然后是进行待优化合约匹配,优化过程中使用替换规则进行匹配,如果检测到等价片段,则添加进替换规则中。最后进行指令序列替换,选择Gas消耗最低的片段将其替换,如果该等价片段Gas消耗更...

【技术特征摘要】
1.一种基于窥孔优化的以太坊智能合约Gas优化方法,其特征是该方法首先收集以太坊中部署的智能合约操作码,对收集到的智能合约操作码进行去重。将去重后的以太坊智能合约操作码中进行拆分指令序列处理,获得的所有指令序列重新进行去重,得到指令序列集。然后对指令序列集后进行标准化处理,对指令中的寄存器、常数等参数进行标准化。得到标准化后的操作码后进行指令序列划分,即将等价的指令序列分类,并计算Gas消耗,每一类作为一个替换规则。然后是进行待优化合约匹配,优化过程中使用替换规则进行匹配,如果检测到等价片段,则添加进替换规则中。最后进行指令序列替换,选择Gas消耗最低的片段将其替换,如果该等价片段Gas消耗更低则不进行替换。最后达到降低智能合约Gas消耗的效果。该方法包括以下步骤:
1)指令序列集生成。本步骤生成用于待划分类别的指令序列集。首先从区块链中获取所有部署的智能合约,得到以太坊智能合约操作码数据集Data_SC。对Data_SC中的每一个智能合约进行拆分,得到指令序列集。对指令序列集中所有指令序列进行标准化,标准化过程包括寄存器标准化和常量标准化。标准化后的指令序列集中相同的指令序列只保存一个,最后得到指令序列集Data_IS。
2)指令序列集划分。本步骤对Data_IS的指令序列进行等价识别,识别出等价指令序列则将其划分到一类。对Data_IS中的每一个指令序列,放在虚拟机中执行,记录执行后的虚拟机状态,并计算出本次执行的Gas消耗情况,指令序列和Gas消耗的信息将被记录进入“虚拟机状态-指令序列列表”哈希表。指令序列是否等价通过等价测试判断,判断等价的所有序列将被归为一类。
3)待优化合约匹配。本步骤根据步骤2中得到的指令序列分类,对待优化智能合约的指令序列进行匹配。首先要将待优化的智能合约拆分成指令序列,并对其进行标准化,得到的指令序列集与步骤2中得到的分类进行匹配,如果发现同样的指令序列则添加到优化列表。
4)指令序列替换。本步骤根据步骤3中得到的优化列表对待优化智能合约进行优化。根据优化列表中的指令序列issc与分类的对应关系,取分类中Gas消耗最低的指令序列ismin与优化列表的指令序列issc的Gas消耗对比,如果ismin的Gas消耗更低则进行替换。


2.根据权利要求1中所述的一种...

【专利技术属性】
技术研发人员:王兴亚高新宇陈振宇赵源孙伟松
申请(专利权)人:南京慕测信息科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1