Security Strengths and Weaknesses of Blockchain Smart Contract System: A Survey
Smart contracts are computer protocols that facilitate, verify, and execute the negotiation or execution of a contract, or that render a contractual term unnecessary. Blockchain and smart contracts can be used to facilitate almost any financial transaction. Thanks to these smart contracts, the settlement of dividends and coupons could be automated. Smart contracts have become lucrative and profitable targets for attackers because they can hold a great amount of money. Smart contracts, although widely used in blockchain technology, are far from perfect due to security concerns. Although a series of attacks are listed, there is a lack of discussions and proposals on improving security. This survey takes stock of smart contract security from a more comprehensive perspective by correlating the level of vulnerability and systematic review of security levels in smart contracts.Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 384
 F. Glatz. (2014) What are smart contracts? https://heckerhut.medium.com/whats-a-smart-contract-in-search-of-aconsensus- c268c830a8ad.
 S. D. Levi and A. B. Lipton, An Introduction to Smart Contracts and Their Potential and Inherent Limitations, 2018, https://corpgov.law.harvard.edu/2018/05/26/an-introduction-to-smartcontracts- and-their-potential-and-inherent-limitations/.
 L. Zhang, Y. Wang, F. Li, Y. Hu, and M. H. Au, “A game-theoretic method based on q-learning to invalidate criminal smart contracts,” Information Sciences, vol. 498, pp. 144–153, 2019.
 H. T. Le, N. T. T. Le, N. N. Phien, and N. Duong-Trung, “Introducing multi shippers mechanism for decentralized cash on delivery system,” money, vol. 10, no. 6, 2019.
 B. K. Mohanta, S. S. Panda, and D. Jena, “An overview of smart contract and use cases in blockchain technology,” in 2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT). IEEE, 2018, pp. 1–4.
 D. Perez and B. Livshits, “Smart contract vulnerabilities: Does anyone care?” arXiv preprint arXiv:1902.06710, 2019.
 A. Dika, “Ethereum smart contracts: Security vulnerabilities and security tools,” Master’s thesis, NTNU, 2017.
 W. Dingman, A. Cohen, N. Ferrara, A. Lynch, P. Jasinski, P. E. Black, and L. Deng, “Defects and vulnerabilities in smart contracts, a classification using the nist bugs framework,” International Journal of Networked and Distributed Computing, vol. 7, no. 3, pp. 121–132, 2019.
 J. J. Xu, “Are blockchains immune to all malicious attacks?” Financial Innovation, vol. 2, no. 1, p. 25, 2016.
 R. Modi, Solidity Programming Essentials: A beginner’s guide to build smart contracts for Ethereum and blockchain. Packt Publishing Ltd, 2018.
 Y. Hu, M. Liyanage, A. Mansoor, K. Thilakarathna, G. Jourjon, A. Seneviratne, and M. Ylianttila, “The use of smart contracts and challenges,” arXiv preprint arXiv:1810.04699, 2018.
 M. Alharby and A. van Moorsel, “Blockchain-based smart contracts: A systematic mapping study,” arXiv preprint arXiv:1710.06372, 2017.
 R. Rawat, R. Chougule, S. Singh, S. Dixit, and G. B.-P. A. Kadam, “Smart contracts using blockchain,” International Research Journal of Engineering and Technology (IRJET), 2019.
 Y. Murray and D. A. Anisi, “Survey of formal verification methods for smart contracts on blockchain,” in 2019 10th IFIP International Conference on New Technologies, Mobility and Security (NTMS). IEEE, 2019, pp. 1–6.
 C. Dannen, Introducing Ethereum and Solidity. Springer, 2017.
 M. N. Temte, “Blockchain challenges traditional contract law: Just how smart are smart contracts,” Wyo. L. Rev., vol. 19, p. 87, 2019.
 A. Bahga and V. K. Madisetti, “Blockchain platform for industrial internet of things,” Journal of Software Engineering and Applications, vol. 9, no. 10, p. 533, 2016.
 T. Sameeh. (2018) An overview of the most reliable cryptocurrency smart contract platforms. https://www.cointelligence.com/content/smart-contract-platforms-guide/.
 Kryptographe. (2018) Which are the top 5 smart blockchain based smart contract platforms? https://www.kryptographe.com/top-5-smart-blockchain-based-smartcontract- platforms/.
 R. Jackson. (2019) The top 5 smart contract development platforms. https://hackernoon.com/top-5-smart-contract-platforms-to-check-out-in- 2019-1igc3w1m.
 A. Davies. (2019) 5 best smart contract platforms for 2019. https://www.devteam.space/blog/5-best-smart-contractplatforms- for-2019/.
 N. Myers. (2019) The essential list of smart contract platform resources. https://www.freestartupkits.com/articles/technology/coding/the-essentiallist- of-smart//-contract-platforms/.
 R. M. Parizi, A. Dehghantanha et al., “Smart contract programming languages on blockchains: An empirical evaluation of usability and security,” in International Conference on Blockchain. Springer, 2018, pp. 75–91.
 V. Buterin et al., “A next-generation smart contract and decentralized application platform,” white paper, vol. 3, p. 37, 2014.
 Techopedia. (2019) Runtime environment (rte). https://www.techopedia.com/definition/5466/runtime-environment-rte.
 P. Praitheeshan, L. Pan, J. Yu, J. Liu, and R. Doss, “Security analysis methods on ethereum smart contract vulnerabilities: A survey,” arXiv preprint arXiv:1908.08605, 2019.
 S. Rouhani and R. Deters, “Security, performance, and applications of smart contracts: A systematic survey,” IEEE Access, vol. 7, pp. 50 759–50 779, 2019.
 K. Kovalenko. (2019) Investing in smart contract platforms. https://www.blog.nomics.com/essays/investing-in-smart-contract-platforms/ platform-usage.
 Sanbase. (2019) All assets. https://https://www.app.santiment.net/assets/all/.
 T. Sameeh. (2019) Dapps statistics. https://www.stateofthedapps.com/stats/platform/ethereum/new/.
 M. brings transparency. (2019) Dapps statistics. https://messari.io/screener.
 M. Academic. (2020 (accessed 2020)) Vulnerability (computing). https://academic.microsoft.com/.
 M. Giancaspro, “Is a ’smart contract’really a smart idea? insights from a legal perspective,” Computer law & security review, vol. 33, no. 6, pp. 825–835, 2017.
 N. Atzei, M. Bartoletti, and T. Cimoli, “A survey of attacks on ethereum smart contracts (sok),” in International Conference on Principles of Security and Trust. Springer, 2017, pp. 164–186.
 K. Chatterjee, A. K. Goharshady, and Y. Velner, “Quantitative analysis of smart contracts,” in European Symposium on Programming. Springer, Cham, 2018, pp. 739–767.
 V. Saini. (2018) Contractpedia: An encyclopedia of 40+ smart contract platforms. https://hackernoon.com/contractpedia-an-encyclopedia-of-40-smartcontract- platforms-4867f66da1e5.
 C. Details. (2019) The ultimate security vulnerability datasource. https://www.cvedetails.com/vulnerability-list.php/.
 M. Gogan. (2018) Smart contract security: What are the weak spots of ethereum, eos, and neo networks? https://www.technative.io/smart-contract-security-what-are-the-weakspots- of-ethereum-eos-and-neo-networks/.
 K. Jing. (2019) Eos smart contract development security best practices. https://github.com/slowmist/eos-smart-contract-security-best-practices/ blob/master/.
 NIST. (2019) The bugs framework (bf). https://samate.nist.gov/BF/Classes/KMN.html.
 Github. (2018) Comprehensive list of known attack vectors and common anti-patterns. https://github.com/sigp/solidity-security-blog/precision-vuln.
 F. Junis, F. M. W. Prasetya, F. I. Lubay, and A. K. Sari, “A revisit on blockchain-based smart contract technology,” arXiv preprint arXiv:1907.09199, 2019.
 Y. Fu, M. Ren, F. Ma, Y. Jiang, H. Shi, and J. Sun, “Evmfuzz: Differential fuzz testing of ethereum virtual machine,” arXiv preprint arXiv:1903.08483, 2019.
 Y. Fu, M. Ren, F. Ma, H. Shi, X. Yang, Y. Jiang, H. Li, and X. Shi, “Evmfuzzer: detect evm vulnerabilities via fuzz testing,” in Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM, 2019, pp. 1110–1114.
 C. Details. (2018) Webassembly virtual machine project : Security vulnerabilities. https://www.cvedetails.com/vulnerability-list/.
 M. Larabel. (2019) Llvm stack clash compiler protection is under review. https://www.phoronix.com/.
 S. blog. (2017 (accessed december 14, 2019)) Decentralized application security project. https://steemit.com/blockchain/@aetrnty/aeternity-s-smart-contracts.
 D. Schatz, R. Bashroush, and J. Wall, “Towards a more representative definition of cyber security,” Journal of Digital Forensics, Security and Law, vol. 12, no. 2, pp. 53–74, 2017.
 G. O. Karame and E. Androulaki, Bitcoin and blockchain security. Artech House, 2016.
 L. Luu, D.-H. Chu, H. Olickel, P. Saxena, and A. Hobor, “Making smart contracts smarter,” in Proceedings of the 2016 ACM SIGSAC conference on computer and communications security. ACM, 2016, pp. 254–269.
 T. Abdellatif and K.-L. Brousmiche, “Formal verification of smart contracts based on users and blockchain behaviors models,” in 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS). IEEE, 2018, pp. 1–5.
 G. Bigi, A. Bracciali, G. Meacci, and E. Tuosto, “Validation of decentralised smart contracts through game theory and formal methods,” in Programming Languages with Applications to Biology and Security. Springer, 2015, pp. 142–161.
 K. Bhargavan, A. Delignat-Lavaud, C. Fournet, A. Gollamudi, G. Gonthier, N. Kobeissi, A. Rastogi, T. Sibut-Pinote, N. Swamy, and S. Zanella-B´eguelin, “Short paper: Formal verification of smart contracts,” in Proceedings of the 11th ACM Workshop on Programming Languages and Analysis for Security (PLAS), in conjunction with ACM CCS, 2016, pp. 91–96.
 Z. Nehai, P.-Y. Piriou, and F. Daumas, “Model-checking of smart contracts,” in 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). IEEE, 2018, pp. 980–987.
 M. Di Angelo and G. Salzer, “A survey of tools for analyzing ethereum smart contracts,” in 2019 IEEE International Conference on Decentralized Applications and Infrastructures (DAPPCON). IEEE, 2019.
 J.-L. Lanet, “D´etection de vuln´erabilit´es appliqu´eea la v´erification de code interm´ediaire de java card,” Ph.D. dissertation, UNIVERSIT´E DE LIMOGES, 2016.
 NASA. (2020) What is formal methods? https://shemesh.larc.nasa.gov/fm/fm-what.html.
 C. M. Holloway, “Why engineers should consider formal methods,” in 16th DASC. AIAA/IEEE digital avionics systems conference. Reflections to the future. Proceedings, vol. 1. IEEE, 1997, pp. 1–3.
 B. CURRAN, How Formal Verification Can Reduce Bugs & Vulnerabilities in Smart Contracts, 2018, https://blockonomi.com/formal-verification-smart-contracts/.
 Y. Hirai, “Formal verification of deed contract in ethereum name service,” November-2016.
[Online]. Available: https://yoichihirai. com/deed. pdf, 2016.
 S. Amani, M. B´egel, M. Bortin, and M. Staples, “Towards verifying ethereum smart contract bytecode in isabelle/hol,” in Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs. ACM, 2018, pp. 66–77.
 P. Sivakumar and K. Singh, “Privacy based decentralized public key infrastructure (pki) implementation using smart contract in blockchain,” technical report, 2018.
 F. Zhang, E. Cecchetti, K. Croman, A. Juels, and E. Shi, “Town crier: An authenticated data feed for smart contracts,” in Proceedings of the 2016 aCM sIGSAC conference on computer and communications security. ACM, 2016, pp. 270–282.
 P. Mell, J. Dray, and J. Shook, “Smart contract federated identity management without third party authentication services,” arXiv preprint arXiv:1906.11057, 2019.
 J. P. Cruz, Y. Kaji, and N. Yanai, “Rbac-sc: Role-based access control using smart contract,” IEEE Access, vol. 6, pp. 12 240–12 251, 2018.
 H. Guo, E. Meamari, and C.-C. Shen, “Multi-authority attribute-based access control with smart contract,” in Proceedings of the 2019 International Conference on Blockchain Technology. ACM, 2019, pp. 6–11.
 R. M. Parizi, A. Dehghantanha, K.-K. R. Choo, and A. Singh, “Empirical vulnerability analysis of automated smart contracts security testing on blockchains,” in Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering. IBM Corp., 2018, pp. 103–113.
 H. Wang, Y. Li, S.-W. Lin, L. Ma, and Y. Liu, “Vultron: catching vulnerable smart contracts once and for all,” in Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results. IEEE Press, 2019, pp. 1–4.
 B. Jiang, Y. Liu, and W. Chan, “Contractfuzzer: Fuzzing smart contracts for vulnerability detection,” in Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. ACM, 2018, pp. 259–269.
 USLegal, Access Control Mechanism National Security Law and Legal Definition, 2019, https://definitions.uslegal.com/a/access-control-mechanism-national-security/.
 M. Thakur et al., “Authentication, authorization and accounting with ethereum blockchain,” Master’s thesis, Helsingfors universitet, 2017.
 A. Dika and M. Nowostawski, “Security vulnerabilities in ethereum smart contracts,” in 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). IEEE, 2018, pp. 955–962.
 V. Buterin. (2016) Thinking about smart contract security. https://blog.ethereum.org/2016/06/19/thinking-smart-contract-security/.
 W. Zou, D. Lo, P. S. Kochhar, X.-B. D. Le, X. Xia, Y. Feng, Z. Chen, and B. Xu, “Smart contract development: Challenges and opportunities,” IEEE Transactions on Software Engineering, 2019.
 F. Scicchitano, A. Liguori, M. Guarascio, E. Ritacco, and G. Manco, “A deep learning approach for detecting security attacks on blockchain.” in ITASEC, 2020, pp. 212–222.
 H. M. Kim, M. Laskowski, and N. Nan, “A first step in the co-evolution of blockchain and ontologies: Towards engineering an ontology of governance at the blockchain protocol level,” arXiv preprint arXiv:1801.02027, 2018.
 L. Y. XIAO, A.-B. OMAR, L. DAVID, and R. ABHIK, “Smart contract repair,” arXiv preprint arXiv:1912.05823v1, 2019.