7 of 7

LESSON 2 · Tomorrow's Tech Today

The Upgrade Problem

A smart contract is code on a blockchain that runs automatically when set conditions are met. A smart contract's deployed bytecode cannot be edited in place. That is why serious projects plan upgrade paths carefully, often using proxy patterns that route users through an upgradeable layer. If a contract is deliberately non-upgradeable, a bug can persist until users migrate to a new contract.

The tradeoff is trust: upgradeability can fix mistakes, but it also gives someone power over the system. Good contract design makes that power explicit and limited. If one trusted organization only needs a database, blockchain usually adds cost and complexity instead of value.