A smart contract is a piece of computer program that runs on the blockchain, which has the characteristics of automatic execution, non-tampering, and publicity. Smart contracts control the flow of large amounts of high-value data, and attackers can exploit vulnerabilities in smart contracts to steal funds or resources. Existing detection methods, such as symbol execution, have problems such as path explosion and high false positive rate, while machine learning methods are black-box and uninterpretable. In order to solve the above problems, an expert mode based on expert mode and explainable machine learning was proposed to detect vulnerabilities in smart contract code, an expert mode for vulnerabilities was designed, and shapley additive explanations (SHAP) was used to explain the weights of multiple features, and the average detection accuracy of four vulnerabilities (re-entrancy vulnerability, timestamp vulnerability, integer overflow vulnerability, and permission control vulnerability) reached 90.36% , which achieved better detection results compared with classic tools such as Oyente and Mythril.
| 科 Family | 属数 Number of genus | 种数 Number of species | 占总种数比例 Percentage of total species (%) | 属 Genus | 种数 Number of species | 占总种数比例 Percentage of total species (%) |
|---|---|---|---|---|---|---|
| 鹅膏菌科Amanitaceae | 2 | 11 | 5.26 | 鹅膏菌属 Amanita | 10 | 4.78 |
| 小菇科 Mycenaceae | 2 | 12 | 5.74 | 丝盖伞属 Inocybe | 5 | 2.39 |
| 多孔菌科 Polyporaceae | 8 | 14 | 6.70 | 蜡蘑属 Laccaria | 5 | 2.39 |
| 红菇科 Russulaceae | 3 | 23 | 11.00 | 小皮伞属 Marasmius | 6 | 2.87 |
| 小菇属 Mycena | 11 | 5.26 | ||||
| 光柄菇属 Pluteus | 5 | 2.39 | ||||
| 红菇属 Russula | 17 | 8.13 | ||||
| 栓菌属 Trametes | 5 | 2.39 |