信息安全研究 ›› 2019, Vol. 5 ›› Issue (3): 192-206.

• 学术论文 • 上一篇    下一篇

区块链智能合约安全研究

黄凯峰,张胜利,金石   

  1. 深圳大学信息工程学院N206
  • 收稿日期:2019-03-12 出版日期:2020-03-15 发布日期:2019-03-12
  • 通讯作者: 黄凯峰
  • 作者简介:黄凯峰 硕士,主要研究方向为区块链、智能合约安全等. 413433601@qq.com 张胜利 博士,教授,博士生导师,物理层网络编码创始人,主要研究方向为无线网络、区块链关键技术、物理层网络编码等. zsl@szu.edu.cn 金石 博士,教授,博士生导师,国家杰出青年基金获得者,入选国家“万人计划”科技创新领军人才,主要研究方向为5GB5G移动通信理论与关键技术研究、物联网理论与关键技术研究以及机器学习与大数据处理在移动通信中的应用等. jinshi@seu.edu.cn

The Security Research of Blockchain Smart Contract

  • Received:2019-03-12 Online:2020-03-15 Published:2019-03-12

摘要: 区块链是通过去中心化、去信任化的方式维护的分布式账本,其发展可以划分为3个阶段:区块链1.0,2.0和3.0.区块链1.0以比特币为代表,提供了非图灵完备的脚本语言;区块链2.0以以太坊为代表,在比特币的基础上引入了智能合约的概念,提供了图灵完备的可编程语言Solidity,使得区块链的应用范围从单纯的货币领域拓展到其他领域;区块链3.0将会是可编程世界,社会各行各业都以自治的方式运转.智能合约作为区块链2.0最为显著的特点,在构建去中心化应用中发挥了重要的作用.但近年来,智能合约安全事件频发,给项目方和投资方带来了巨大损失,智能合约的安全问题逐渐引来多方的关注.首先介绍了区块链的基本概念,接着阐述了以太坊相关知识,然后对智能合约作了全面的介绍,包括运行环境、构成、部署流程和工作原理.主体对现存已知的智能合约漏洞进行分类总结,并且对每一类漏洞都给出解决方法.

关键词: 区块链, 以太坊, 智能合约, 安全, 漏洞

Abstract: The blockchain is a distributed ledger maintained through decentralization and detrusting. Its development can be divided into three phases, blockchains 1.0, 2.0 and 3.0. Blockchain 1.0 is represented by Bitcoin and provides a nonturing complete scripting language. Blockchain 2.0 is represented by Ethereum and introduces the concept of smart contract on the basis of Bitcoin. It provides Turing complete programming language Solidity, it extends the application of blockchain from a purely monetary domain to other areas; blockchain 3.0 will be a programmable world, and all walks of life will operate in an autonomous manner. Smart contract, as the most significant feature of blockchain 2.0, plays an important role in building decentralized applications. However, in recent years, smart contract security incidents have occurred frequently, causing huge losses to project parties and investors. The security issue of smart contract have gradually attracted much attention. The article first introduces the basic concept of the blockchain, then expounds the knowledge of Ethereum, and then gives a comprehensive introduction to the smart contract, including the operating environment, composition, deployment process and working principle. The paper mainly classifies and summarizes existing known smart contract vulnerabilities, and provides solutions for each type of vulnerabilities.

Key words: blockchain, Ethereum, smart contract, security, vulnerability