It seems that upgradable smart contracts are the new wave of the future seemingly for the all the right reasons. How does this work for the "hello world" smart contract where two users make a bet on the weather in 2 months being above some temp, and they agree on an oracle for the temp data. What if this is made into an upgradable contact and the temperature oracle is upgraded?

Do all players in the contract get notified, or is it up to the parties of the contract to keep reviewing the contract code? If the contract was updated, and the $ awarded to the winner, what if the loser didn't know the temperature source was upgraded? Is this scenario even possible?

  • Can you describe the specific mechanism you have in mind when you refer to "upgradable smart contracts?" The word "upgradable" seems fairly at odds with the idea of a smart contract, but I suppose a mechanism that required consent among stakeholders could be acceptable. – user19510 Mar 12 '18 at 3:23
  • if you google the term, its a very common idea. medium.com/aigang-network/… – Kevin Larson Mar 12 '18 at 3:42
  • Is the approach in that blog post the one you're asking about? – user19510 Mar 12 '18 at 3:52
  • The approach in that blog post appears to be a unilateral one, so I don't see why anyone would trust a contract like that. – user19510 Mar 12 '18 at 3:54
  • That is my understanding - but "upgradable" contracts are seemingly all the rage. Which seems like its getting away from a smart contracts, but a smart service. – Kevin Larson Mar 12 '18 at 4:23

As always there is no silver bullet. Different features with different tradeoffs between maintainability, complexity, and trust are possible:

  • Who can upgrade?
    • nobody - impossible to upgrade/evolve since the code is carved into the stone (e.g.: trust++, complexity++, maintainability--)
    • owner only - participants are forced to accept the change (e.g.: trust--, complexity+, maintainability++)
    • via voting - participants vote on the change (e.g.: trust+, complexity-, maintainability++)
  • Activation of the change?
    • immediate
    • deferred
  • Opt-out on Change?
    • yes?
    • no?
  • good answer. is there any official documentation of this or any good examples where this is explored? In any case this helps to know its configurable. – Kevin Larson Mar 12 '18 at 4:39
  • I am not aware of a document systematically analysing the dimensions of the upgradeability. Would be a good read. The answer above is based on my experience and observation so far. – ivicaa Mar 12 '18 at 4:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.