Can a Smart Contract Be ‘Upgraded’ despite Being Immutable?
While the core logic of a deployed smart contract is immutable, protocols achieve 'upgradeability' through design patterns like proxy contracts. The user interacts with a fixed 'proxy' contract, which delegates its logic execution to a separate 'implementation' contract.
By simply changing the address of the implementation contract within the proxy, the protocol's logic can be effectively upgraded without changing the user's contract address.