Abstract:
Smart contracts are full-fledged programs that runs on Blockchains. The largest Blockchain-based platform is Ethereum. It facilitates Smart Contracts, written in a progra...Show MoreNotes: This article was mistakenly omitted from the original submission to IEEE Xplore. It is now included as part of the conference record.
Metadata
Abstract:
Smart contracts are full-fledged programs that runs on Blockchains. The largest Blockchain-based platform is Ethereum. It facilitates Smart Contracts, written in a programming language called Solidity, to run on the virtual machine. Ethereum charges developers an execution fee in the form of Gas used to purchase computing resources. In this paper, we discovered that the Solidity compiler could not do loop optimization, Code refactoring, and Dead code elimination. Solidity can not perform other optimization like detecting duplicate writes, inefficient use of data types, Inefficient use of global variables, etc. Furthermore, thus Smart Contracts which are not optimized cost more Gas. Smart contracts contain costly Gas byte codes, contributing to various Gas expensive patterns. In this study, we found that many Smart Contracts contain mergeable loops. Based on symbolic execution, we developed a method called GASaVER to detect merge-able loops that can merge to reduce the bytecode size and the Gas fee charged, achievable because costly Gas patterns have a sequence that can be replaced by ones with the same semantics but requires less Gas.
Notes: This article was mistakenly omitted from the original submission to IEEE Xplore. It is now included as part of the conference record.
Published in: 2022 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS)
Date of Conference: 18-21 December 2022
Date Added to IEEE Xplore: 28 August 2023
ISBN Information: