Abstract:
In the quickly changing world of blockchain technology, it is critical to
guarantee the security of self-executing contracts, written in programming languages
like Solidity called smart contracts. Not all security vulnerabilities in smart contracts
will be found by human code reviews and security audits using traditional methods.
Deep learning networks have become a promising answer to this problem. In this
paper, we present the architecture of two models—using convolutional and recurrent
neural networks—that are intended to effectively discover five vulnerabilities in
smart contracts. To train and validate the models, we used a dataset that includes
106474 audited smart contracts taken from the public Ethereum blockchain. Instead
of the source code used by most deep learning-based solutions, the models receive
input in the form of Ethereum Virtual Machine (EVM) bytecode. Across all five
vulnerabilities, the Recurrent Neural Network model has an average micro F1-score
of 0.93, whereas the Convolutional Neural Network achieves an average micro F1-
score of 0.89. Through comparative research with various deep learning systems and
static analysis tools, we have determined that EVM bytecode may be leveraged as a
feature to detect vulnerabilities in smart contracts.