Upgradable Smart Contracts
Alexandros Dolgov · 2025
This chapter explores the critical concept of upgradable smart contracts in Solidity, examining three main strategies: preset versatility, contract succession, and proxy-delegated upgrades. Through practical examples using a zoo contract system, we'll learn how to implement and manage upgradable contracts while carefully considering the tradeoffs between upgradeability, decentralization, and security. The chapter considers the real-world scenario of deploying a smart contract that later needs crucial updates— and discusses how do we maintain user trust and contract security while implementing necessary changes? It addresses such challenges by demonstrating different upgrade patterns, their implementation details, and security considerations, using the progression from Zoo1 to Zoo2 contracts as a practical example. The chapter provides the knowledge needed to implement upgradeable contracts responsibly, understanding both the technical requirements and the broader implications for decentralization and security in blockchain applications.