Litcius/Paper detail

Synthesis-powered optimization of smart contracts via data type refactoring

Yanju Chen, Yuepeng Wang, Maruth Goyal, James Dong, Yu Feng, Işıl Dillig

2022Proceedings of the ACM on Programming Languages14 citationsDOIOpen Access PDF

Abstract

Since executing a smart contract on the Ethereum blockchain costs money (measured in gas ), smart contract developers spend significant effort in reducing gas usage. In this paper, we propose a new technique for reducing the gas usage of smart contracts by changing the underlying data layout. Given a smart contract P and a type-level transformation, our method automatically synthesizes a new contract P ′ that is functionally equivalent to P . Our approach provides a convenient DSL for expressing data type refactorings and employs program synthesis to generate the new version of the contract. We have implemented our approach in a tool called Solidare and demonstrate its capabilities on real-world smart contracts from Etherscan and GasStation. In particular, we show that our approach is effective at automating the desired data layout transformation and that it is useful for reducing gas usage of smart contracts that use rich data structures.

Topics & Concepts

Code refactoringSmart contractComputer scienceDigital subscriber lineTransformation (genetics)DatabaseSoftware engineeringProgramming languageSoftwareTelecommunicationsDatabase transactionChemistryBiochemistryGeneBlockchain Technology Applications and SecurityAdvanced Data Storage TechnologiesCloud Computing and Resource Management