IEEEJAS的个人博客分享 http://blog.sciencenet.cn/u/IEEEJAS

博文

基于语义嵌入模型与交易信息的智能合约自动分类系统

已有 106 次阅读 2024-7-3 15:46 |系统分类:博客资讯

引用本文

 

黄步添, 刘琦, 何钦铭, 刘振广, 陈建海. 基于语义嵌入模型与交易信息的智能合约自动分类系统. 自动化学报, 2017, 43(9): 1532-1543. doi: 10.16383/j.aas.2017.c160655

HUANG Bu-Tian, LIU Qi, HE Qin-Ming, LIU Zhen-Guang, CHEN Jian-Hai. Towards Automatic Smart-contract Codes Classification by Means of Word Embedding Model and Transaction Information. ACTA AUTOMATICA SINICA, 2017, 43(9): 1532-1543. doi: 10.16383/j.aas.2017.c160655

http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.2017.c160655

 

关键词

 

智能合约,代码,交易信息,词嵌入模型,神经网络,长短时记忆模型 

 

摘要

 

作为区块链技术的一个突破性扩展,智能合约允许用户在区块链上实现个性化的代码逻辑从而使得区块链技术更加的简单易用.在智能合约代码信息迅速增长的背景下,如何管理和组织海量智能合约代码变得更具挑战性.基于人工智能技术的代码分类系统能根据代码的文本信息自动分门别类,从而更好地帮助人们管理和组织代码的信息.本文以Ethereum平台上的智能合约为例,鉴于词嵌入模型可以捕获代码的语义信息,提出一种基于词嵌入模型的智能合约分类系统.另外,每一个智能合约都关联着一系列交易,我们又通过智能合约的交易信息来更深入地了解智能合约的逻辑行为.据我们所知,本文是对智能合约代码自动分类问题的首次研究尝试.测试结果显示该系统具有较为令人满意的分类性能.

 

 

文章导读

 

随着比特币等加密货币的日益普及, 作为一种创新性的去中心化框架与分布式计算范式, 区块链技术迅速崛起并应用到了众多领域.其中, 区块链技术在彩票、债券、医疗等领域的应用尤其表现出了令人振奋的前景.区块链技术利用POW (Proof of work)[1]PBFT (Practical byzantine fault tolerance)[2]等算法在去中心化的环境下达成共识, 共同维护一个分布式的账本, 部分解决了拜占庭将军问题.

 

在比特币中, 为了实现验证公钥、签名等应用, 比特币实现了一种基于栈的脚本编程语言.其中, 最常见的脚本是付款给某一个公钥地址.值得注意的是, 比特币的脚本语言只支持256种语言命令.而且, 在这256个命令中, 15个被禁用, 75个被保留.因此, 比特币的脚本语言能实现的功能有一定的局限性.总结而言, 比特币的脚本语言的缺陷主要有以下三点.

1) 图灵完备问题:有许多运算是比特币的脚本语言不支持的.比如循环, 为了安全性和防止无限循环, 比特币脚本语言禁用了循环语句.

2) 区块链数据缺失:在脚本语言中, 程序可以获得公钥、签名等用户信息.但是并不能获取区块链块号、区块链哈希等区块链的信息.因为许多应用比如彩票、博彩需要这些信息来实现随机性, 这限制了脚本语言能够实现的应用范围.

3) 状态缺失:在付款中, 脚本语言只能实现付款成功或失败两种状态.因此, 它并不支持更复杂的比如退款、纠纷处理等应用.

4) 客户端不兼容:随着比特币的发展与安全因素, 越来越多的客户端只支持几种较常见的脚本, 比如scriptSigscriptPubKey.导致不常见的脚本无法被执行.

 

在这样的背景下, Ethereum1等智能合约平台扩展了比特币的脚本语言并实现了一种图灵完备的编程语言.用户可以利用Ethereum提供的编程语言与编程环境来实现个性化的智能合约.以下是智能合约的一个简单例子:

 

该例为用Ethereum的编程语言Solidity所实现的一个智能合约. Ethereum有两种类型的账号, 一种是普通的用户账号, 一种是智能合约对应的账号.每一个账号对应着一个地址来指代这个账户.普通的用户账号记录了用户所有的货币金额(Ethereum中记录货币Ether的数量), 智能合约对应的账号存储着智能合约的代码和数据.用户的账号可以发起交易来创建一个智能合约账号并且调用智能合约的函数.本例中实现了简单的数据存储读取功能, 在将本代码部署到一个智能合约的账号后, 用户可以通过发起交易来修改数据storedData的内容.接收到交易后, 区块链在所有节点上运行智能合约的代码, 代码运行在Ethereum虚拟机EVM, 最终将storedData内容更新.用户已在Ethereum上实现了投票、拍卖、投资、游戏、社交网络等多种多样的应用.截止目前, 有超过200种智能合约的应用运行在Ethereum的区块链上.智能合约的地址有超过118 0002.

 

随着Ethereum等智能合约平台的迅速发展, 区块链上智能合约代码信息快速增加.如何管理和组织智能合约代码变得更具挑战性.用户需要从多种多样的智能合约中选择自己需要的服务.庞大的智能合约数量使得人工地去选择智能合约变得不再可能.代码分类系统能够根据代码的文本信息自动分门别类, 避免人工标记海量智能合约的巨大时间成本, 有利于合约代码的分类组织与管理.然而, 传统的算法, 比如最近邻分类器[3]、朴素贝叶斯分类[4]、决策树[5]等文本分类算法基于人工定制的特征来实现代码分类, 这样的算法存在两个问题: 1) 人工定制的特征不能实现跨领域的分类, 在一个领域中选择的特征不能应用于另一个领域; 2) 人工定制的特征比如TF-IDF (Term frequency-inverse document frequency)存在着特征稀疏的问题, 特征稀疏影响了分类效果的提升.

 

以词嵌入模型[6]为代表的神经网络算法有效地解决了上述两个问题.词嵌入模型可以避免人工选择特征的困难, 可以从文本的上下文中提取出有效的特征, 这些特征是稠密的, 包含了词的语义信息.并且已经在机器翻译[7]、关系抽取[8]等领域中取得了超出其他模型的性能.鉴于词嵌入模型的优良性能, 本文提出一种基于词嵌入模型的智能合约代码分类系统, 根据智能合约的代码信息, 我们将代码中的每一个词都映射成语义空间的向量.词向量表现了词上下文的本地特征, 为了捕获代码的全局特征, 我们将词向量输入到长短时记忆网络中, 并最终生成一个向量来代表整个代码.同时, 每一个智能合约地址都关联着一系列的交易, 这些交易揭示了智能合约的逻辑行为.通过组合代码语义向量与关联的交易信息, 我们的系统可以自动将代码归类为投资、游戏、社交、系统应用等类别.为了衡量系统的性能, 我们收集了Ethereum上的智能合约, 并用Precision, Recall, F1等通用指标上与朴素贝叶斯和支持向量机两种基准算法比较, 测试结果显示该系统取得了明显优于朴素贝叶斯和支持向量机性能的效果.另外, 我们利用本系统实现了一个智能合约分类浏览器和自动检索系统, 方便了用户获取有用的智能合约.

 

本文的贡献可总结为以下三点:

1) 本文首次提出了用自动代码分类来对智能合约进行管理, 通过对代码分类, 用户可以快速地找到自己需要的服务.

2) 我们提出了一种基于词嵌入模型和智能合约交易信息的自动分类系统.

3) 为了验证系统的性能, 我们收集了Ethereum上的智能合约, 并标记了代码的类别.实验结果显示系统取得了超出基准算法的分类效果

 

本文的组织结构安排如下:我们首先在第1节中介绍本文相关的工作; 其次, 在第2节引出本文的问题; 然后, 在第3节和第4节中介绍我们的系统架构和实现方法; 最后, 在第5节中对本文工作进行总结并展望未来的工作.

 1  Ethereum区块链

 2  系统框架

 3  LSTM单元

 

本文以Ethereum平台上的智能合约为例, 研究了基于词嵌入模型与交易信息的智能合约代码分类系统.通过用词嵌入模型对智能合约代码的语义信息建模, 并且用智能合约的交易信息来更深入地理解智能合约的逻辑行为, 最后用神经网络来组合两方面的信息输出最终的类标签概率分布.实验结果证实了系统的可行性和有效性.浏览器与智能合约检索系统验证了本系统广泛的应用前景.为了进一步改进系统的性能, 我们将在接下来的研究中考虑使用层次化的类标签结构, 同时考虑更复杂更完整的类标签信息的处理.

 

作者简介

 

刘琦

新加坡国立大学计算机学院硕士研究生.主要研究方向为数据挖掘, 区块链.E-mail: leuchine@gmail.com

 

何钦铭 

浙江大学计算机科学与技术学院教授.主要研究方向为数据挖掘, 虚拟化, 区块链.E-mail: hqm@zju.edu.cn

 

刘振广

新加坡国立大学计算机学院博士后.主要研究方向为数据挖掘, 区块链.E-mail: zhenguangliu@zju.edu.cn

 

陈建海

浙江大学计算机科学与技术学院讲师.主要研究方向为虚拟化, 云计算, 区块链.E-mail: chenjh919@zju.edu.cn

 

黄步添

浙江大学计算机科学与技术学院博士研究生.主要研究方向为虚拟化, 云计算, 区块链.本文通信作者, E-mail:butine@zju.edu.cn



https://blog.sciencenet.cn/blog-3291369-1440805.html

上一篇:PoW共识算法中的博弈困境分析与优化
下一篇:运行于区块链上的智能分布式电力能源系统:需求、概念、方法以及展望
收藏 IP: 150.242.79.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-3 19:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部