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...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
The British Blockchain Association
2023-03-01
|
Series: | The Journal of The British Blockchain Association |
Online Access: | https://doi.org/10.31585/jbba-6-1-(3)2023 |
_version_ | 1797867002141868032 |
---|---|
author | Shaima AL Amri Leonardo Aniello Vladimiro Sassone |
author_facet | Shaima AL Amri Leonardo Aniello Vladimiro Sassone |
author_sort | Shaima AL Amri |
collection | DOAJ |
description | 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. |
first_indexed | 2024-04-09T23:34:27Z |
format | Article |
id | doaj.art-c4588f7f1f724784bc35d8f5b4752c07 |
institution | Directory Open Access Journal |
issn | 2516-3949 2516-3957 |
language | English |
last_indexed | 2024-04-09T23:34:27Z |
publishDate | 2023-03-01 |
publisher | The British Blockchain Association |
record_format | Article |
series | The Journal of The British Blockchain Association |
spelling | doaj.art-c4588f7f1f724784bc35d8f5b4752c072023-03-20T20:12:49ZengThe British Blockchain AssociationThe Journal of The British Blockchain Association2516-39492516-39572023-03-01A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin TechniqueShaima AL AmriLeonardo AnielloVladimiro SassoneThe 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.https://doi.org/10.31585/jbba-6-1-(3)2023 |
spellingShingle | Shaima AL Amri Leonardo Aniello Vladimiro Sassone A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin Technique The Journal of The British Blockchain Association |
title | A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin Technique |
title_full | A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin Technique |
title_fullStr | A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin Technique |
title_full_unstemmed | A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin Technique |
title_short | A Review of Upgradeable Smart Contract Patterns based on OpenZeppelin Technique |
title_sort | review of upgradeable smart contract patterns based on openzeppelin technique |
url | https://doi.org/10.31585/jbba-6-1-(3)2023 |
work_keys_str_mv | AT shaimaalamri areviewofupgradeablesmartcontractpatternsbasedonopenzeppelintechnique AT leonardoaniello areviewofupgradeablesmartcontractpatternsbasedonopenzeppelintechnique AT vladimirosassone areviewofupgradeablesmartcontractpatternsbasedonopenzeppelintechnique AT shaimaalamri reviewofupgradeablesmartcontractpatternsbasedonopenzeppelintechnique AT leonardoaniello reviewofupgradeablesmartcontractpatternsbasedonopenzeppelintechnique AT vladimirosassone reviewofupgradeablesmartcontractpatternsbasedonopenzeppelintechnique |