Challenges and Opportunities in Smart Contract Development on the Ethereum Virtual Machine: A Systematic Literature Review

  • Gislainy Crisostomo Velasco UFG
  • Noeli Antonia Pimentel Vaz UFG / UEG
  • Sergio T. Carvalho UFG

Resumo


The development of smart contracts presents significant challenges compared to traditional software development, such as the immutability of the blockchain. This paper presents a systematic literature review (SLR) that aims to understand the limitations and challenges faced by smart contract developers on the Ethereum Virtual Machine (EVM). Among the main challenges identified are language restrictions, infrastructure limitations, and the lack of sufficient information on interface patterns and implementation specifications. Existing proposals are difficult to understand, with complex formal verifications that require advanced technical knowledge. Additionally, the scarcity of accessible educational resources for training new smart contract developers represents a major challenge to be overcome. In this regard, the SLR seeks to identify opportunities for improvement and innovation in the field, as well as validation and evaluation strategies to make the smart contract development process more efficient and secure.

Referências

Ait Hsain, Y., Laaz, N., and Mbarki, S. (2021). Ethereum’s smart contracts construction and development using model driven engineering technologies: a review. Procedia Computer Science, 184:785–790. The 12th ANT / The 4th EDI40 / Affiliated Workshops.

Akca, S., Rajan, A., and Peng, C. (2019). Solanalyser: A framework for analysing and testing smart contracts. In 2019 26th APSEC, pages 482–489.

Angelis, J. and Ribeiro da Silva, E. (2019). Blockchain adoption: A value driver perspective. Business Horizons, 62(3):307–314.

Annenkov, D., Nielsen, J. B., and Spitters, B. (2020). Concert: A smart contract certification framework in coq. In Proceedings of the 9th ACM SIGPLAN, page 215–228, New York, NY, USA. CPP 2020.

Antonopoulos, A. M. and Wood, G. (2018). Mastering ethereum: building smart contracts and dapps. O’reilly Media.

Bao, T. and Liu, Y. (2021). A privacy-preserving framework for smart contracts based on stochastic model checking. In 2021 IEEE 20th TrustCom, pages 460–467.

Barišić, A., Zhu, E., and Mallet, F. (2021). Model-driven approach for the design of multi-chain smart contracts. In 2021 3rd BRAINS), pages 37–38.

Boubeta-Puig, J., Rosa-Bilbao, J., and Mendling, J. (2021). CEPchain: a graphical model-driven solution for integrating complex event processing and blockchain. Expert Systems with Applications, 184:115578.

Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., and Khalil, M. (2007). Lessons from applying the systematic literature review process within the software engineering domain. Journal of systems and software, 80(4):571–583.

Buterin, V. et al. (2014). A next-generation smart contract and decentralized application platform. white paper, 3(37):2–1.

Chirtoaca, D., Ellul, J., and Azzopardi, G. (2020). A framework for creating deployable smart contracts for non-fungible tokens on the ethereum blockchain. In 2020 IEEE DAPPS, pages 100–105.

Corradini, F., Marcelletti, A., Morichetta, A., Polini, A., Re, B., Scala, E., and Tiezzi, F. (2021). Model-driven engineering for multi-party business processes on multiple blockchains. Blockchain: Research and Applications, 2(3):100018.

Dharanikota, S., Mukherjee, S., Bhardwaj, C., Rastogi, A., and Lal, A. (2021). Celestial: A smart contracts verification framework. In 2021 FMCAD, pages 133–142.

Dhillon, V., Metcalf, D., Hooper, M., Dhillon, V., Metcalf, D., and Hooper, M. (2017). The dao hacked. blockchain enabled applications: Understand the blockchain Ecosystem and How to Make it work for you, pages 67–78.

Dingman, W., Cohen, A., Ferrara, N., Lynch, A., Jasinski, P., Black, P. E., and Deng, L. (2019). Classification of smart contract bugs using the nist bugs framework. In 2019 IEEE 17th SERA, pages 116–123.

Dong, H., He, Y., Tao, H., and Duan, Q. (2022a). A framework for formal transformation and analysis of smart contract code. In 2022 9th DSA, pages 993–994.

Dong, W., Zhou, T., and Yan, D. (2022b). Solchecker: A practical static analysis framework for ethereum smart contract. In 2022 CNCIT, pages 179–186.

Feist, J., Grieco, G., and Groce, A. (2019). Slither: A static analysis framework for smart contracts. In 2019 IEEE/ACM 2nd WETSEB, pages 8–15.

Ferreira, J. F., Cruz, P., Durieux, T., and Abreu, R. (2020). Smartbugs: A framework to analyze solidity smart contracts. In 2020 35th IEEE/ACM ASE, pages 1349–1352.

Garamvölgyi, P., Kocsis, I., Gehl, B., and Klenik, A. (2018). Towards model-driven engineering of smart contracts for cyber-physical systems. In 2018 48th Annual IEEE/IFIP DSN-W, pages 134–139.

Hamdaqa, M., Met, L. A. P., and Qasse, I. (2022). iContractML 2.0: A domain-specific language for modeling and deploying smart contracts onto multiple blockchain platforms. Information and Software Technology, 144:106762.

Jiao, J., Lin, S.-W., and Sun, J. (2020a). A generalized formal semantic framework for smart contracts. In 23rd FASE 2020 and ETAPS 2020 Proceedings, page 75–96, Berlin, Heidelberg. Springer-Verlag.

Jiao, J., Lin, S.-W., and Sun, J. (2020b). A generalized formal semantic framework for smart contracts. In 23rd FASE 2020 and ETAPS 2020, page 75–96, Berlin, Heidelberg. Springer-Verlag.

Jin, H., Wang, Z., Wen, M., Dai, W., Zhu, Y., and Zou, D. (2022). Aroc: An automatic repair framework for on-chain smart contracts. IEEE Transactions on Software Engineering, 48(11):4611–4629.

Jurgelaitis, M., Čeponienė, L., Butkus, K., Butkienė, R., and Drungilas, V. (2023). Mda-based approach for blockchain smart contract development. Applied Sciences (Switzerland), 13(1).

Jurgelaitis, M., čeponienė, L., and Butkienė, R. (2022). Solidity code generation from uml state machines in model-driven smart contract development. IEEE Access, 10:33465–33481.

Kaleem, M., Kasichainula, K., Karanjai, R., Xu, L., Gao, Z., Chen, L., and Shi, W. (2021). An event driven framework for smart contract execution. page 78–89, New York, NY, USA. DEBS ’21.

Keele, S. et al. (2007). Guidelines for performing systematic literature reviews in software engineering.

Keilty, E., Nelaturu, K., Wu, B., and Veneris, A. (2022). A model-checking framework for the verification of move smart contracts. In 2022 IEEE 13th ICSESS, pages 1–7.

Khan, A. G., Zahid, A. H., Hussain, M., Farooq, M., Riaz, U., and Alam, T. M. (2019). A journey of web and blockchain towards the industry 4.0: An overview. In 2019 International Conference on Innovative Computing (ICIC), pages 1–7.

Köpke, J., Meroni, G., and Salnitri, M. (2023). Designing secure business processes for blockchains with secbpmn2bc. Future Generation Computer Systems, 141:382–398.

Li, Z., Zhou, Y., Guo, S., and Xiao, B. (2021). Solsaviour: A defending framework for deployed defective smart contracts. In ACSAC, page 748–760, New York, NY, USA. ACSAC ’21.

Liu, Y. (2023). A unified specification mining framework for smart contracts. New York, NY, USA. ASE ’22.

Medeiros, H., Vilain, P., Mylopoulos, J., and Jacobsen, H.-A. (2019). Solunit: A framework for reducing execution time of smart contract unit tests. In Proceedings of the 29th CASCON, page 264–273, USA. IBM Corp.

Nakagawa, E. Y., Scannavino, K. R. F., Fabbri, S. C. P. F., and Ferrari, F. C. (2017). Revisão sistemática da literatura em engenharia de software: teoria e prática.

Qasse, I., Mishra, S., and Hamdaqa, M. (2021). icontractbot: A chatbot for smart contracts’ specification and code generation. In 2021 IEEE/ACM 3rd BotSE, pages 35–38.

Ren, Q., Liu, H., Li, Y., and Lei, H. (2021). Demo: Cloak: A framework for development of confidential blockchain smart contracts. In 2021 IEEE 41st ICDCS, pages 1102–1105.

Santiago, L., Abijaude, J., and Greve, F. (2021). A framework to generate smart contracts on the fly. In Proceedings of the XXXV SBES, page 410–415, New York, NY, USA. Association for Computing Machinery.

Tsai, W.-T., Ge, N., Jiang, J., Feng, K., and He, J. (2019). Invited paper: Beagle: A new framework for smart contracts taking account of law. In 2019 IEEE SOSE, pages 134–13411.

Tsiounis, K. and Kontogiannis, K. (2022). Goal and policy based code generation and deployment of smart contracts. In 2022 IEEE SANER, pages 1227–1230.

Vandenbogaerde, B. (2019). A graph-based framework for analysing the design of smart contracts. page 1220–1222, New York, NY, USA. ESEC/FSE.

Velasco, G. and Carvalho, S. (2022). Uma abordagem dirigida por modelo para desenvolvimento de contratos inteligentes na ethereum virtual machine. In Anais da X ERI-GO, pages 106–117, Porto Alegre, RS, Brasil. SBC.

Wang, Z., Dai, W., Choo, K.-K. R., Jin, H., and Zou, D. (2020). Fsfc: An input filter-based secure framework for smart contract. J. Netw. Comput. Appl., 154(C).

Yu, X., Zhao, H., Hou, B., Ying, Z., and Wu, B. (2021). Deescvhunter: A deep learning-based framework for smart contract vulnerability detection. In 2021 IJCNN, pages 1–8.

Zeng, Q., He, J., Zhao, G., Li, S., Yang, J., Tang, H., and Luo, H. (2022). Ethergis: A vulnerability detection framework for ethereum smart contracts based on graph learning features. In 2022 IEEE 46th COMPSAC, pages 1742–1749.
Publicado
22/05/2023
VELASCO, Gislainy Crisostomo; VAZ, Noeli Antonia Pimentel; CARVALHO, Sergio T.. Challenges and Opportunities in Smart Contract Development on the Ethereum Virtual Machine: A Systematic Literature Review. In: WORKSHOP EM BLOCKCHAIN: TEORIA, TECNOLOGIAS E APLICAÇÕES (WBLOCKCHAIN), 6. , 2023, Brasília/DF. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 15-28. DOI: https://doi.org/10.5753/wblockchain.2023.756.