Skip to main content

What Is an ‘Upgradeable’ Smart Contract and Why Is It Controversial in the Context of Immutability?

An upgradeable contract uses a proxy pattern, allowing the logic to be swapped out by deploying a new implementation contract, while keeping the contract's state and address the same. This is controversial because it compromises the core blockchain promise of immutability, as a single entity or DAO can change the contract's rules after deployment.

While it allows for bug fixes, it reintroduces a level of trust and centralization risk.

Can Gas Optimizations in the Logic Contract Offset the Proxy’s Overhead?
What Is a Proxy Pattern in the Context of Smart Contract Mutability?
What Is the Difference between a Transparent Proxy and a UUPS Proxy?
Does the Proxy Pattern Affect the Cost of Contract Deployment?