A Bytecode-based Approach for Smart Contract Classification
This addresses the challenge for blockchain users in finding and managing smart contracts, especially since over 94% are not open-source, though it is incremental as it builds on existing classification methods.
The paper tackles the problem of classifying smart contracts when source code is unavailable by proposing a bytecode-based model, achieving better performance and resistance to adversarial attacks than baseline models on over 3,300 real-world Ethereum contracts.
With the development of blockchain technologies, the number of smart contracts deployed on blockchain platforms is growing exponentially, which makes it difficult for users to find desired services by manual screening. The automatic classification of smart contracts can provide blockchain users with keyword-based contract searching and helps to manage smart contracts effectively. Current research on smart contract classification focuses on Natural Language Processing (NLP) solutions which are based on contract source code. However, more than 94% of smart contracts are not open-source, so the application scenarios of NLP methods are very limited. Meanwhile, NLP models are vulnerable to adversarial attacks. This paper proposes a classification model based on features from contract bytecode instead of source code to solve these problems. We also use feature selection and ensemble learning to optimize the model. Our experimental studies on over 3,300 real-world Ethereum smart contracts show that our model can classify smart contracts without source code and has better performance than baseline models. Our model also has good resistance to adversarial attacks compared with NLP-based models. In addition, our analysis reveals that account features used in many smart contract classification models have little effect on classification and can be excluded.