Smart contracts have been around since 1994 when Nick Szabo defined a smart contract as a computerized transaction protocol that executes terms of a contract. Putting this another way a Smart Contract is computer code which automates the “if this happens then do that” part of traditional contracts.
Figure 1: From Contract to Code [https://bitsonblocks.net]
However, not much happened with Smart Contracts – largely since there was no platform around to ensure them – until blockchain technology came along. Blockchain gives Smart Contracts the possibility of being :
- rendered as computer code,
- stored and replicated across the distributed storage platform
- executed by the network of computers that run the blockchain
- and can result in distributed ledger updates.
Smart Contracts are a fundamental component of the Linux Foundation Hyperledger Project which is building a blockchain fabric for trusted, permissioned business networks as shown in Figure 2.
Figure 2 – Making Blockchain real for Business
Smart Contracts could be viewed as the business logic that makes blockchain work. In a supply chain use case, Smart Contracts define who can do what – allowing only the manufacturer to add a unique asset identified and only the scrap merchant to recycle the asset at the end of life. Smart Contracts can be triggered by transactions on the blockchain, or events from external systems – such as a smart tag on a container passing into a warehouse.
Once a Smart Contract is deployed on a blockchain, and validated by the business network using the chosen consensus mechanism, its future execution is guaranteed. Contractual disputes (in the scope of the Smart Contract) will be eliminated, trust across the business network will increase as a result and efficiencies will accrue due to elimination of friction in the business network.
There are also many myths around Smart Contracts – as described in the “9 myths . . . ” article by William Mougaya. These nine myths include the confusion between smart contracts & contractual agreements; the legal enforceability of smart contracts; the confusion that smart contracts include cognitive computing (!); and the challenges in programming smart contracts. The article is well worth a read.
But fundamentally the use of Smart Contracts on blockchain is new, and organisations need to raise their levels of awareness in the near term by “hands on” experimentation on appropriate use cases. IBM’s approach to helping our customers do this is explained in my recent post (Design Thinking: making Blockchain real). This will help fully realise the medium & long term potential, whilst minimising risks from inappropriate or too ambitious usage.
- A gentle introduction to smart contracts (bitsonblocks.net)
- Etherium Smart Contract Tutorial
- Institute of Business Value on Blockchain
- Blockchain for Government
- Proving Provenance with Blockchain
- Blockchain and Cyber Security