Skip to content
Preptima
hardConceptDesignSeniorStaffLead

How does a proxy make a deployed contract upgradeable, and what does that put at risk?

The proxy upgradeability pattern keeps state in the proxy and delegates calls to replaceable implementation logic, which makes storage layout, initializers and upgrade admin control the core smart contract security risks. Use this solidity answer to show the decision, trade-off, and evidence rather than a memorised definition.

5 min readUpdated 2026-08-15

Answer

Short answer

Proxy upgradeability works by keeping contract state at one proxy address while forwarding calls with delegatecall to implementation code that can change. The main risks are broken initializers, incompatible storage layout, selector clashes, and an upgrade key that can rewrite the system.

Was this answer helpful?

Likely follow-ups

  • Why does EIP-1967 specify a pseudo-random storage slot for the implementation address?
  • What is the selector-clash problem that a transparent proxy is designed to avoid?
  • Why must an implementation contract behind a UUPS proxy have its own initialisers locked at deployment?
  • How would you stage an upgrade so that a bug in the new implementation is recoverable?

Related questions

Further reading

Related Topics