下载此文档

面向以太坊的智能合约自动生成方法研究与实现.doc


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
面向以太坊的智能合约自动生成方法研究与实现
作者:高一琛 赵斌 张召

摘要:基于以太坊的智能合约已经广泛应用于各个领域,然而合约开发需要完备的专业领域知识和编程,例如,SmartDec安全团队开发了一个名为SmartChcck的静态代码分析器,它在可靠的源代码中运行分析,并自动检查智能合约的安全漏洞和不良做法,国内对智能合约的验证问题也做了相关研究,2016年提出了通过Promela建模语言并结合模型检测的SPIN工具对智能合约的安全性进行验证的方法,该方法基于对状态的搜索验证智能合约的安全属性,能够保障整个搜索行为的终止性。
然而,这些研究主要针对安全和隐私问题,用来规范智能合约的编码过程,智能合约编码的基本问题,也就是编程友好问题,很少涉及,智能合约编程的发展还面临着许多挑战,比如智能合约编程的可设计性及提供合约编码的专用模板。
2智能合约自动生成方法

本文提出了一种针对特定领域来自动生成智能合约(solidity语言)的方法,并进行了原型系统实现,该方法可基于特征生成统一规范的智能合约代码,之后提供了一个编辑页面,页面上的uI控件与生成的智能合约代码相链接,使得用户能够设计智能合约程序,该方法能够满足用户的需求,并通过页面编辑器的方式降低智能合约编程的复杂度。
本部分介绍该方法的基本流程,如图1所示,方法主要分为以下三步。
智能合约在多个领域得到了广泛的应用,本方法针对特定的合约领域,因此要先对智能合约进行聚类,得到不同领域的智能合约数据集,具体步骤如下。
(1)合约代码抓取:通过爬虫程序从Etherscan,也就是以太坊上应用最广泛的区块链浏览器上抓取经过验证的合约代码来作为数据集,它为下一步的聚类分析提供了智能合约数据集。
(2)合约聚类,实现智能合约分类:在上述步骤中抓取到的数据集包含各个领域的合约代码,此步骤要将其划分为不同的类别,首先,采用空间向量模型VSM来对智能合约代码进行表述,然后在向量化的基础上利用聚类算法DBSCAN将其分类,例如,类别涉及彩票合约、交易合约等。

选择聚类结果中的交易类合约来生成统一的智能合约代码,从而为用户提供一套基础的函数模板,使得智能合约设计更加高效、简单,首先,将上一步中获得的交易类智能合约作为数据集,然后采用Char-RNN模型来对数据集进行训练,由于长期依赖问题的存在,采用LSTM作为神经网络来代替Char-RNN模型中的基本RNN,最后,使用此模型来生成统一的交易类智能合约基本函数代码。

为了方便用户使用,我们提供一个页面编辑器来帮助用户进行智能合约编写,从而实现智能合约的自动生成,页面上有一组和基本智能合约代码链接的uI控件,用户可以通过点击控件来根据自身需求设计智能合约。

智能合约在不同的领域有着不同的实现,也有着不同的基本合约函数,因此在生成针对特定领域的合约模板前要先对其进行分类,首先需要从名为Ethersean的区块链浏览器上获取智能合约作为数据集,然后对抓取的数据集进行聚类分析。

本文中方法的实现需要大量的智能合约程序作为数据集,如果数据集数量不够,会限制合约的统一代码生成,因此,为了更好地分析智能合约,第一步就是从Etherscan上抓取智能合约程序作为数据集。
Etherscan是一个能够对以太坊区块链进行探索和分析的分布式智能合约平台,用户可以通过此平台查看以太坊区块链上的事务信息,爬虫程序从Ethersean上采集智能合约代码的流程如下:它从Web上的智能合约第一个索引页开始,建立合约的URL列表,将设定数量的合约地址保存到文件中。之后根据保存下来的地址,页面跳转到合约的details页面将合约代码保存到文件中,最后,得到智能合约程序的数据集。

对于抓取到的智能合约数据集,本步骤的目的是对其进行聚类,从而得到不同领域的智能合约数据,为生成相应领域的统一的智能合约代码做准备,采用的聚类方法为DBSCAN算法。
要实现聚类分析,首先需要对所爬取的数据进行预处理,使其表示为一种满足需求的结构化形式,在此基础上再利用算法进行聚类分析,采用的聚类流程如图2所示。
为了方便计算机处理,需要将合约代码以计算机可识别处理的方式存储,这里采用的是向量空间模型VSM,它将文本空间看作一组正交特征向量组成的向量空间,将文本表示为多维空间中的一个特征向量:V(d)=(t1

面向以太坊的智能合约自动生成方法研究与实现 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人学习的一点
  • 文件大小21 KB
  • 时间2022-04-11