Like many technologies around the blockchain industry, a general confusion shrouds so called ‘smart contracts’.
With the introduction of the Ethereum blockchain everyone started to talk about smart contracts. Let’s explain what a smart contract is in simple words.
A smart contract is an automated agreement that executes the terms of a contract. Its code is the translation of a real contract, an agreement between parties, a set of conditions and clauses, enforced with cryptographic code. Their goal is to eliminate potential conflicts in case one of the parties to a contract fails to fulfill its obligations.
Put it differently, the code reads the agreed clauses and the conditions necessary for the operation of a given product or service. The object of the contract comes into operation when the real situations correspond to the clauses and conditions stated in the code.
The beginnings of smart contracts
In the mid-1990s the concept of smart contract spread. The idea was first proposed by Nick Szabo. He applied it for vending machines (yes those where you buy coke and soda). He used the term to describe digital automation of certain aspects of traditional contracts.
In fact, a vending machine has hard coded rules that define what happens when certain conditions are met (money received) and then executes certain actions (product release) when those conditions are fulfilled.
We’ve gone a long way from that initial theoretical concept.Now Smart Contracts are appearing everywhere, asEthereum was designed to support the creation of Smart Contracts.
The total absence of human intervention
We use to think to a contract as an agreement between two parties, two humans. But, what happen if a human has to interact with a machine, or better, if we are in a machine-to-machine interaction situation?
The concept of a smart contract is in fact “child” of the execution of a code by a computer. The innovative aspect is indeed the total absence of human intervention. Code is law: this is why a smart contract must be written on extremely precise data. It must be able to “decipher” all the circumstances, conditions and possible situations.
This point is extremely relevant because it’s crucial to understand that on one hand it increases the level of trust, excluding any form of interpretation, while on the other, it shifts on the code all the responsibilities.
We’ll cover the ‘techy part’ in the part 2 of this article.