A Review of upgradeable smart contract patterns based on OpenZeppelin technique
A Review of upgradeable smart contract patterns based on OpenZeppelin technique
The Ethereum blockchain is one of the main public platforms to run smart contracts and enable decentralised applications. Since data stored in a blockchain is considered immutable, smart contracts deployed in Ethereum are regarded as tamper-proof and therefore offer strong protection against attacks aiming at tinkering with the execution flow of an application. Yet, like any other software, a smart contract needs to be maintained over time to fix bugs or add new features. Deploying every updated version as a brand-new smart contract in Ethereum leads to problems such as migrating the contract state from the old version and enabling clients to point to the new version in a timely fashion. The OpenZeppelin framework addresses this limitation by providing libraries that enable the deployment of upgradeable smart contracts. This is achieved by relying on proxies that act as intermediaries between clients and smart contracts, allowing the latter to be updated transparently. In this paper, we present the upgradeable smart contract patterns supported by OpenZeppelin and compare them in terms of security, cost, and performance. To show this paradigm’s prevalence in Ethereum, we also analyse the usage of OpenZeppelin Upgradeable smart contracts over the last four years.
Amri, Shaima AL
8a474ace-8497-4000-a1d4-9b78c32706c7
Aniello, Leonardo
9846e2e4-1303-4b8b-9092-5d8e9bb514c3
Sassone, Vladimiro
df7d3c83-2aa0-4571-be94-9473b07b03e7
20 March 2023
Amri, Shaima AL
8a474ace-8497-4000-a1d4-9b78c32706c7
Aniello, Leonardo
9846e2e4-1303-4b8b-9092-5d8e9bb514c3
Sassone, Vladimiro
df7d3c83-2aa0-4571-be94-9473b07b03e7
Amri, Shaima AL, Aniello, Leonardo and Sassone, Vladimiro
(2023)
A Review of upgradeable smart contract patterns based on OpenZeppelin technique.
The Journal of The British Blockchain Association, 6 (1).
(doi:10.31585/jbba-6-1-(3)2023).
Abstract
The Ethereum blockchain is one of the main public platforms to run smart contracts and enable decentralised applications. Since data stored in a blockchain is considered immutable, smart contracts deployed in Ethereum are regarded as tamper-proof and therefore offer strong protection against attacks aiming at tinkering with the execution flow of an application. Yet, like any other software, a smart contract needs to be maintained over time to fix bugs or add new features. Deploying every updated version as a brand-new smart contract in Ethereum leads to problems such as migrating the contract state from the old version and enabling clients to point to the new version in a timely fashion. The OpenZeppelin framework addresses this limitation by providing libraries that enable the deployment of upgradeable smart contracts. This is achieved by relying on proxies that act as intermediaries between clients and smart contracts, allowing the latter to be updated transparently. In this paper, we present the upgradeable smart contract patterns supported by OpenZeppelin and compare them in terms of security, cost, and performance. To show this paradigm’s prevalence in Ethereum, we also analyse the usage of OpenZeppelin Upgradeable smart contracts over the last four years.
Text
73752-a-review-of-upgradeable-smart-contract-patterns-based-on-openzeppelin-technique
- Version of Record
More information
Accepted/In Press date: 30 January 2023
Published date: 20 March 2023
Identifiers
Local EPrints ID: 491646
URI: http://eprints.soton.ac.uk/id/eprint/491646
ISSN: 2516-3949
PURE UUID: 6fe2adcc-6003-46a7-afe8-8571003a04a2
Catalogue record
Date deposited: 03 Jul 2024 09:30
Last modified: 10 Sep 2024 01:40
Export record
Altmetrics
Contributors
Author:
Shaima AL Amri
Author:
Leonardo Aniello
Author:
Vladimiro Sassone
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics