ZeppelinOS implements upgradeability of smart contracts through the use of a proxy and unstructured storage.
If the contract holds some ether, what happens with that ether after it is upgraded?
Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It only takes a minute to sign up.Sign up to join this community
ZeppelinOS' unstructured storage, like most proxy patterns, works by presenting a front-end contract (the proxy) with its logic delegated to an implementation contract.
This way, the balance (eth) and storage stays in the proxy even if its implementation changes. This is useful for many reasons, one being able to upgrade a production contract for bug-fixing without losing its balance or internal state.