4.7 Article

ContractWard: Automated Vulnerability Detection Models for Ethereum Smart Contracts

Journal

Publisher

IEEE COMPUTER SOC
DOI: 10.1109/TNSE.2020.2968505

Keywords

Blockchain; machine learning; smart contracts; vulnerability detection

Funding

  1. Natural Science Foundation of China [U1736114]
  2. National Key R&D Program of China [2017YFB0802805]
  3. JSPS Kiban(B) [18H03240]
  4. JSPS Kiban(C) [18K11298]

Ask authors/readers for more resources

Smart contracts are decentralized applications running on Blockchain, and detecting vulnerabilities in contracts is important yet time-consuming. A new method called ContractWard is proposed to use machine learning techniques for vulnerability detection, with experimental results demonstrating its effectiveness and efficiency.
Smart contracts are decentralized applications running on Blockchain. A very large number of smart contracts has been deployed on Ethereum. Meanwhile, security flaws of contracts have led to huge pecuniary losses and destroyed the ecological stability of contract layer on Blockchain. It is thus an emerging yet crucial issue to effectively and efficiently detect vulnerabilities in contracts. Existing detection methods like Oyente and Securify are mainly based on symbolic execution or analysis. These methods are very time-consuming, as the symbolic execution requires the exploration of all executable paths or the analysis of dependency graphs in a contract. In this work, we propose ContractWard to detect vulnerabilities in smart contracts with machine learning techniques. First, we extract bigram features from simplified operation codes of smart contracts. Second, we employ five machine learning algorithms and two sampling algorithms to build the models. ContractWard is evaluated with 49502 real-world smart contracts running on Ethereum. The experimental results demonstrate the effectiveness and efficiency of ContractWard. The predictive Micro-F1 and Macro-F1 of ContractWard are over 96% and the average detection time is 4 seconds on each smart contract when we use XGBoost for training the models andSMOTETomek for balancing the training sets.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available