Smart Contracts are one of the biggest drivers behind the enthusiasm for blockchain. The idea is that contracts can be translated into code, which is then distributed to multiple nodes in a blockchain. As it executes, the outcome is also recorded in the blockchain: the exchange of assets, the access to property, the receipt of items, among others.
The power of Smart Contracts is that they remove counter-party risk, and with that they make escrows and middleman services redundant. This is better seen with an example:
Say you decide to buy a plot of land in Georgia (the country). They happen to be piloting land titling based on blockchain. You enter into a contract to buy some land by putting a small deposit upfront and committing to pay the full amount by a certain date, while you look for financing. A Smart contract could verify if your payment took place on time, release the funds and change the title on the property, or cancel the contract altogether and liquidate the deposit if you were unable to find financing. There would be no need for an escrow service to keep your deposit, for a title company to verify payments, or for a titling clerk to update the records.
For this to work well, several conditions have to be met – and they speak to the main limitations of the concept:
These limitations will determine the range of applications for the Smart Contracts. Can we get every clause in a contract modeled in the blockchain? What happens when a judge rules something not considered in the initial design?
In the last year, we built a blockchain solution on Ethereum, one of the first platforms to fully support Smart Contracts. So on top of the big picture issues, we learned a lot about the implementation of and the technology issues that Smart Contracts have:
Vitalik Buterin, the co-founder of Ethereum, said in March of this year: “This is still an experiment.” It was a good reminder for anybody working with this powerful technology.