中国综合性科技类核心期刊(北大核心)

中国科学引文数据库来源期刊(CSCD)

美国《化学文摘》(CA)收录

美国《数学评论》(MR)收录

俄罗斯《文摘杂志》收录

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

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

高一琛 赵斌 张召

高一琛, 赵斌, 张召. 面向以太坊的智能合约自动生成方法研究与实现[J]. 华东师范大学学报(自然科学版), 2020, (5): 21-32. doi: 10.3969/j.issn.1000-5641.202091015
引用本文: 高一琛, 赵斌, 张召. 面向以太坊的智能合约自动生成方法研究与实现[J]. 华东师范大学学报(自然科学版), 2020, (5): 21-32. doi: 10.3969/j.issn.1000-5641.202091015
GAO Yichen, ZHAO Bin, ZHANG Zhao. Research and implementation of a smart automatic contract generation method for Ethereum[J]. Journal of East China Normal University (Natural Sciences), 2020, (5): 21-32. doi: 10.3969/j.issn.1000-5641.202091015
Citation: GAO Yichen, ZHAO Bin, ZHANG Zhao. Research and implementation of a smart automatic contract generation method for Ethereum[J]. Journal of East China Normal University (Natural Sciences), 2020, (5): 21-32. doi: 10.3969/j.issn.1000-5641.202091015

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

doi: 10.3969/j.issn.1000-5641.202091015
基金项目: 国家自然科学基金(U1811264, U1911203, 61972152)
详细信息
    通讯作者:

    张 召, 女, 副教授, 硕士生导师, 研究方向为区块链系统研发、海量数据管理与分析. E-mail: zhzhang@dase.ecnu.edu.cn

  • 中图分类号: TP301

Research and implementation of a smart automatic contract generation method for Ethereum

  • 摘要: 基于以太坊的智能合约已经广泛应用于各个领域, 然而合约开发需要完备的专业领域知识和编程能力. 针对智能合约编程友好性, 本文提出了一种对于特定领域智能合约自动生成的方法. 实现了对于智能合约的聚类分析以及交易类智能合约基本函数代码的生成, 对于生成的代码采用BLEU以及SmartCheck进行检测, 得到了较好的检测结果. 采用MFC将生成的代码和UI控件链接, 为用户提供友好的智能合约编程页面, 实现智能合约的自动生成. 方法生成的智能合约代码有一定的准确性, 能够对智能合约的开发提供帮助. 最后, 通过一个案例分析验证了生成的智能合约的可用性.
  • 图  1  智能合约自动生成方法

    Fig.  1  Automatic generation method for smart contracts

    图  2  DBSCAN聚类流程

    Fig.  2  DBSCAN clustering process

    图  3  Char-RNN模型

    Fig.  3  Char-RNN model

    图  4  生成的ERC20接口代码

    Fig.  4  Results generated from the “ERC20” interface

    图  5  生成的SafeMath合约代码

    Fig.  5  Results generated for the SafeMath contract

    图  6  部分代码SmartCheck检测结果

    Fig.  6  Test results from a part of the code

    图  7  智能合约自动生成原型系统架构

    Fig.  7  Architecture of a smart automatic contract generation prototype system

    图  8  系统设计页面

    Fig.  8  System design page

    图  9  新建智能合约

    Fig.  9  Developing a new smart contract

    图  10  添加“approve”函数

    Fig.  10  Add “approve” function

    图  11  智能合约存储

    Fig.  11  Smart contract storage

    表  1  实验智能合约数目

    Tab.  1  Number of experimental smart contracts

    合约类别数量
    投票类合约 1304
    交易类合约 2355
    评估类合约 902
    彩票类合约 1437
    下载: 导出CSV

    表  2  聚类实验结果分析

    Tab.  2  Analysis of cluster experimental results

    (Eps, MinPts)耗时/s均值轮廓系数
    (0.6, 200)18990.512
    (0.6, 250)19120.468
    (0.65, 200)15190.698
    (0.67, 200)15440.631
    (0.67, 250)17530.549
    下载: 导出CSV

    表  3  交易类智能合约数据集BLEU实验得分

    Tab.  3  BLEU experiment score for trading smart contracts

    BLEU类型得分
    BLEU-10.632
    BLEU-20.595
    BLEU-30.530
    BLEU-40.493
    下载: 导出CSV
  • [1] SWAN M. Blockchain: Blueprint for a New Economy [M]. Sebastopol, California: O’Reilly Media, 2015.
    [2] 韩璇, 袁勇, 王飞跃. 区块链安全问题: 研究现状与展望 [J]. 自动化学报, 2019, 45(1): 206-225.
    [3] ZHENG Z, XIE S, DAI H N, et al. Blockchain challenges and opportunities [J]. International Journal of Web and Grid Services, 2018, 14(4): 352-375.
    [4] SZABO N. Formalizing and securing relationships on public networks [EB/OL]. [2017-07-19]. http://www.firstmonday.org/ojs/index.php/fm/article/view/548/469.
    [5] 丁亚雷. 基于长短期记忆模型的入侵检测系统的设计与实现 [D]. 南京: 东南大学, 2019.
    [6] OMOHUNDRO S. Cryptocurrencies, smart contracts, and artificial intelligence [J]. AI Matters, 2014, 1(2): 19-21.
    [7] ZHENG Z B, XIE S A, DAI H N, et al. An overview on smart contracts: Challenges, advances and platforms [J]. Future Generation Computer Systems, 2020, 105: 475-491.
    [8] TIKHOMIROV S, VOSKRESENSKAYA E, IVANITSKIY I, et al. Smartcheck: Static analysis of ethereum smart contracts [C]// 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB). Los Alamitos: IEEE, 2018: 9-16.
    [9] 胡凯. 智能合约的形式化验证方法 [J]. 信息安全研究, 2016, 2(12): 1080-1089.
    [10] 许芳芳. 基于DBSCAN优化算法的Web文本聚类研究 [D]. 上海: 华东师范大学, 2011.
    [11] JÜRGEN S. Deep learning in neural networks: An overview [J]. Neural Networks, 2015, 61: 85-117.
    [12] 张孝慈. 递归神经网络模型的若干关键问题研究 [D]. 合肥: 中国科学技术大学, 2019.
    [13] 郝同安. 基于神经网络的代码自动生成技术的研究与应用 [D]. 北京: 北京邮电大学, 2019.
  • 加载中
图(11) / 表(3)
计量
  • 文章访问数:  139
  • HTML全文浏览量:  348
  • PDF下载量:  18
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-08-16
  • 网络出版日期:  2020-09-24
  • 刊出日期:  2020-09-24

目录

    /

    返回文章
    返回