Альтернативні підходи для оновлюваності смарт-контрактів
DOI:
https://doi.org/10.18372/2073-4751.82.20372Ключові слова:
смарт-контракти, можливість оновлення, проксі патерн, роутер контракт, колізія пам’ятіАнотація
Оновлюваність смарт-контрактів є критично важливою вимогою для сучасних децентралізованих застосунків заснованих на технології блокчейн, однак її реалізація залишається технічним викликом через незмінну природу смарт-контрактів. Шаблон Proxy Pattern став найбільш поширеним рішенням для впровадження оновлень в смарт-контрактах, проте він має певні обмеження, такі як складність реалізації та необхідність дотримання чіткої структури пам’яті. У даній статті запропоновано альтернативний підхід, заснований на динамічній маршрутизації за допомогою Router Contract, який забезпечує модульний підхід до оновлення шляхом централізованого управління адресами, пропонуючи більшу гнучкість за умови зовнішнього збереження стану. Крім того, запропоновано гібридну архітектуру, що поєднує підходи Proxy Pattern та Router Contract для досягнення дворівневої системи оновлень – як зі збереженням стану при оновленні логіки, так і з можливістю повної заміни модулів. У статті проведено комплексне порівняння стратегій оновлення та запропоновано універсальне рішення для розвитку систем смарт-контрактів.
Посилання
Ebrahimi A.M. et al. UPC sentinel: An accurate approach for detecting upgradeability proxy contracts in Ethereum. Empirical Software Engineering. 2025. Vol. 30, no. 61. DOI: 10.1007/s10664-024-10609-7.
Li X. et al. Characterizing Ethereum Upgradable Smart Contracts and Their Security Implications. WWW '24: The ACM Web Conference 2024 : proceedings, Singapore, Singapore, 13–17 May 2024 / SIGWEB. 2024. P. 1847–1858. DOI: 10.1145/3589334.3645640.
Proxy Patterns. OpenZeppelin Blog. 2018. URL: https://blog.openzeppelin.com/proxy-patterns (date of access 26.04.2025).
Palladino S. The Parity Wallet Hack Explained. 2017. URL: https://blog.openzeppelin.com/on-the-parity-wallet-multisig-hack-405a8c12e8f7 (date of access 26.04.2025).
Klinger P., Nguyen L., Bodendorf F. Upgradeability Concept for Collaborative Blockchain-Based Business Process Execution Framework. Lecture Notes in Computer Science. Vol. 12404. Blockchain – ICBC 2020. Third International Conference, Held as Part of the Services Conference Federation, SCF 2020, Honolulu, HI, USA, September 18-20, 2020, Proceedings / ed. by Zh. Chen et al. Cham, 2020. P. 127–141. DOI: 10.1007/978-3-030-59638-5_9.
Al Amri Sh., Aniello L., Sassone V. A Review of Upgradeable Smart Contract Patterns Based on OpenZeppelin Technique. The Journal of The British Blockchain Association. 2023. 8 p. DOI: 10.31585/jbba-6-1-(3)2023.
Proxy Upgrade Pattern. OpenZeppelin Documentation. URL: https://docs.openzeppelin.com/upgrades-plugins/proxies (date of access 26.04.2025).
Nikhoriya R. Understanding Proxy Patterns in Solidity: A Developer’s Guide. 2024. URL: https://medium.com/@riteshnikhoriya/understanding-proxy-patterns-in-solidity-a-developers-guide-019a5d4cbc71 (date of access 26.04.2025).
Ebrahimi A.M. et al. A large-scale exploratory study on the proxy pattern in Ethereum. Empirical Software Engineering. 2024. Vol. 29, no. 81. DOI: 10.1007/s10664-024-10485-1.
Benedetti A., Henry T., Tucci-Piergiovanni S. A Comparative Gas Cost Analysis of Proxy and Diamond Patterns in EVM Blockchains for Trusted Smart Contract Engineering. Lecture Notes in Computer Science. Vol. 14746. Financial Cryptography and Data Security. FC 2024 International Workshops. Voting, DeFI, WTSC, CoDecFin, Willemstad, Curaçao, March 4–8, 2024, Revised Selected Papers / ed. by J. Budurushi et al. Cham, 2025. P. 207–221. DOI: 10.1007/978-3-031-69231-4_14.
Salehi M., Clark J., Mannan M. Not so Immutable: Upgradeability of Smart Contracts on Ethereum. Lecture Notes in Computer Science. Vol. 13412. Financial Cryptography and Data Security. FC 2022 International Workshops. CoDecFin, DeFi, Voting, WTSC, Grenada, May 6, 2022, Revised Selected Papers / ed. by S. Matsuo et al. Cham, 2023. P. 539–554. DOI: 10.1007/978-3-031-32415-4_33.
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:- Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
- Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
- Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).