Accepting Smart Contract Rollouts

As the CTO of a trade association coordinating the exchange of smart contracts across many independent companies I want to be able to roll out new versions of smart contract applications in a controlled way.


How Are Smart Contract Applications Different ?

Traditional Application
Smart Contract Applications


This example shows how a consortium of companies (A, B and C) will only be able to share transactions if all companies support the smart contract version used in the transaction. On the right hand side C does not support v3.0 causing failure.


  • Rolling out a new smart contract version will often require accompanying changes to other business processing software.
  • The main driver for taking the updated version is that it provides enhanced utility (as opposed to say patching an exploit).
  • The rollout should be performed with minimal down time.
  • It is possible for the application to support two smart contract versions in parallel.
  • Any migration of smart contract instances from earlier versions to more recent versions will be a follow-on exercise and is not considered here.


On the left C can only accept v2.0 so A creates a v2.0 transaction which is accepted by C. On the right C has upgraded meaning that A can now safely start creating v3.0 transactions involving B and C.
  • The chosen version must work for multiple parties not just two.
  • The chosen version may be based on a wider set of companies than those involved in the initial transaction. For example it may be that the transaction will be disclosed to a number of broker companies later in its lifecycle.
  • As many distributed ledgers are asynchronous the choice of which smart contract version to use may need to be made while one or more companies are unavailable or offline.


On the left A broadcasts to B and C that it accepts v3.0. On the right A inquires whether B and C support v3.0, B does C does not.






London based developer of software and ideas. To get in contact

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium


China Expands Oversight Over Blockchain with New Anti-Anonymity Regulations

Interact with smart contracts and Create first Dapp using web3.js

Get Ready For The First Neblio Buildathon

Partnership Announcement — Crema Finance x Hedge

Distributed ledgers: blockchain vs DAG

Humans of Blockchain (Lebanon)

EOS Communication Model

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Simon Maxen

Simon Maxen

London based developer of software and ideas. To get in contact

More from Medium

Blockchain Technology: 10 Things You Should Know.

Ruby on Rails Version 7.0

Auto Programming with GPT-3

Installing an Apache HTTP Web Server on CentOS 8 Server