Survey Methodology
Research questions:
- RQ1: What are the existing vulnerabilities in Ethereum Smart Contracts?
- RQ2: What are the main root causes of vulnerabilities in Ethereum Smart Contracts?
- RQ3: What are the sub-causes of vulnerabilities in Ethereum Smart Contracts?
- RQ4: What are the detection tools of vulnerabilities in Ethereum Smart Contracts?
We applied keyword searching to find Ethereum smart contract security vulnerability-related articles for our initial search. We performed this search in five peer-reviewed scientific databases like Elsevier Science Direct, IEEE Xplore Digital Library, Springer Online Library, ACM Digital Library, and Google Scholar.
Ethereum Smart Contract Vulnerabilities and Preventive Methods
Researchers classified these vulnerabilities based on different criteria such as seriousness, root cause, flaws in solidity, security flaws, privacy flaws, performance flaws, flaws in EVM byte code, and blockchain characteristics. We have divided these vulnerabilities under the following three main root causes:
- Root Cause 1: Solidity Programming Language (SPL)
- Root Cause 2: Features of Ethereum Virtual Machine (EVM)
- Root Cause 3: Design features of Ethereum Blockchain (EBD)
We further categorize these vulnerabilities in sub-cause categories:
Vulnerabilities in each root cause category are numbered from 1 to N (N is the total number of vulnerabilities in that category):