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.