Smart Contract Upgradeability on the Ethereum Blockchain Platform: An Exploratory Study

04/13/2023
by   Ilham Qasse, et al.
0

Context: Smart contracts are computerized self-executing contracts that contain clauses, which are enforced once certain conditions are met. Smart contracts are immutable by design and cannot be modified once deployed, which ensures trustlessness. Despite smart contracts' immutability benefits, upgrading contract code is still necessary for bug fixes and potential feature improvements. In the past few years, the smart contract community introduced several practices for upgrading smart contracts. Upgradeable contracts are smart contracts that exhibit these practices and are designed with upgradeability in mind. During the upgrade process, a new smart contract version is deployed with the desired modification, and subsequent user requests will be forwarded to the latest version (upgraded contract). Nevertheless, little is known about the characteristics of the upgrading practices, how developers apply them, and how upgrading impacts contract usage. Objectives: This paper aims to characterize smart contract upgrading patterns and analyze their prevalence based on the deployed contracts that exhibit these patterns. Furthermore, we intend to investigate the reasons why developers upgrade contracts (e.g., introduce features, fix vulnerabilities) and how upgrades affect the adoption and life span of a contract in practice. Method: We collect deployed smart contracts metadata and source codes to identify contracts that exhibit certain upgrade patterns (upgradeable contracts) based on a set of policies. Then we trace smart contract versions for each upgradable contract and identify the changes in contract versions using similarity and vulnerabilities detection tools. Finally, we plan to analyze the impact of upgrading on contract usage based on the number of transactions received and the lifetime of the contract version.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/07/2020

When Deep Learning Meets Smart Contracts

Ethereum has become a widely used platform to enable secure, Blockchain-...
research
05/05/2019

SIF: A Framework for Solidity Code Instrumentation and Analysis

Solidity is an object-oriented and high-level language for writing smart...
research
04/24/2022

Exploring Security Practices of Smart Contract Developers

Smart contracts are self-executing programs that run on blockchains (e.g...
research
08/04/2021

Practices of public procurement and the risk of corrupt behavior before and after the government transition in México

Corruption has a huge impact on economic growth, democracy, inequality, ...
research
07/19/2020

STAN: Towards Describing Bytecodes of Smart Contract

More than eight million smart contracts have been deployed into Ethereum...
research
05/08/2021

SuMo: A Mutation Testing Strategy for Solidity Smart Contracts

Smart Contracts are software programs that are deployed and executed wit...
research
02/16/2018

Finding The Greedy, Prodigal, and Suicidal Contracts at Scale

Smart contracts---stateful executable objects hosted on blockchains like...

Please sign up or login with your details

Forgot password? Click here to reset