Demystifying the Characteristics for Smart Contract Upgrades

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Liu, Ye, Li, Shuo, Wu, Xiuheng, Li, Yi, Chen, Zhiyang, Lo, David
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866914830086045696
author Liu, Ye
Li, Shuo
Wu, Xiuheng
Li, Yi
Chen, Zhiyang
Lo, David
author_facet Liu, Ye
Li, Shuo
Wu, Xiuheng
Li, Yi
Chen, Zhiyang
Lo, David
contents Upgradable smart contracts play an important role in the decentralized application ecosystem, to support routine maintenance, security patching, and feature additions. In this paper, we conduct an empirical study on proxy-based upgradable smart contracts to understand the characteristics of contract upgrading. Through our study on 57,118 open source proxy contracts, we found that 583 contracts have ever been upgraded on Ethereum, involving 973 unique implementation contract versions. The results show that developers often intend to improve usability of contracts if upgrading, where functionality addition and update are the most frequent upgrade intentions. We investigated the practical impacts of contract upgrades, e.g., breaking changes causing compatibility issues, storage collisions and initialization risks leading to security vulnerabilities. The results demonstrate that there are 4,334 ABI breaking changes due to the upgrades of 276 proxies, causing real-world broken usages within 584 transactions witnessed by the blockchain; 36 contract upgrades had storage collisions and five proxies with 59 implementation contracts are vulnerable to initialization attacks.
format Preprint
id arxiv_https___arxiv_org_abs_2406_05712
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Demystifying the Characteristics for Smart Contract Upgrades
Liu, Ye
Li, Shuo
Wu, Xiuheng
Li, Yi
Chen, Zhiyang
Lo, David
Software Engineering
Upgradable smart contracts play an important role in the decentralized application ecosystem, to support routine maintenance, security patching, and feature additions. In this paper, we conduct an empirical study on proxy-based upgradable smart contracts to understand the characteristics of contract upgrading. Through our study on 57,118 open source proxy contracts, we found that 583 contracts have ever been upgraded on Ethereum, involving 973 unique implementation contract versions. The results show that developers often intend to improve usability of contracts if upgrading, where functionality addition and update are the most frequent upgrade intentions. We investigated the practical impacts of contract upgrades, e.g., breaking changes causing compatibility issues, storage collisions and initialization risks leading to security vulnerabilities. The results demonstrate that there are 4,334 ABI breaking changes due to the upgrades of 276 proxies, causing real-world broken usages within 584 transactions witnessed by the blockchain; 36 contract upgrades had storage collisions and five proxies with 59 implementation contracts are vulnerable to initialization attacks.
title Demystifying the Characteristics for Smart Contract Upgrades
topic Software Engineering
url https://arxiv.org/abs/2406.05712