Smart Contracts are computerized transaction protocols, which automatically execute predefined conditions written in the Blockchain. Using the Conditional Instructions "IF ... THEN"; If Condition A is reached, then Execute B.
They became popular since 2015 thanks to the Ethereum Blockchain, created by Vitalik Buterin. The most famous Smart Contract is still Bitcoin (BTC), although it is limited to purely financial use, and the exchange of Cryptocurrencies.
While the Smart Contracts developed thanks to and on the Ethereum Blockchain have a more diversified range of applications:
Financial Transaction
Creation of Currencies (Tokens)
And above all the important advantage, is the creation of Smart Contract directly by developers
Whereas in our current society, everything is centralized:
Banks centralize their contracts
Insurances centralize their contracts in a Cloud and centralize especially the customers' information
The Courts centralize the cases ...
Our future can only be made in: Decentralization & Automatic Execution
Before going further into this subject, it is necessary, if not essential, to know that Smart Contracts are not SMART and are not legal CONTRACTS either. Let me explain:
The word SMART is mostly used to designate something that is: 'Clever', 'Evolutionary', or that represents a 'New Technology' (just like the words 'Smart Phone', 'Smart Homes', 'Smart Cities')
The word CONTRACT will rather refer to the agreement between 2 or more parties involved in this commitment
Smart Contracts were Conceptualized and Developed by Nick Szabo, in 1994, long before the birth of the first Cryptocurrency (Bitcoin (BTC) which appeared in 2009, with its first mined Block, named 'Genesys Block'), but also long before the birth of Nick Szabo's Virtual Currency 'Bit Gold' (created in 1998)
Whose brief presentation is: "A computerized transaction protocol that executes the terms of a contract. The general objectives are to satisfy common contractual conditions".
At the time of its creation, Smart Contracts could already be applied to several fields:
Credit System
Payment processing (e.g. payroll for a company)
Content Rights Management (such as copyright for music that was broadcast on Radio, TV or during a show)
Globally, Smart Contracts are hosted on a dedicated Blockchain. The most widely used is the Ethereum Blockchain, but recently there are others that offer Smart Contracts:
Cardano Blockchain
EOS Blockchain
Tezos Blockchain
NEO Blockchain
Tron Blockchain
Not to mention that the Bitcoin Blockchain can also host/propose Smart Contracts
The use of the Blockchain, as well as Decentralization in the process of use and application of Smart Contracts allows the impartiality of the process of Validation of these.
A Smart Contract remains nevertheless a computer code, coded by a Developer or a Web Developer, who must also have a good knowledge of Blockchains, who can also be assisted by a Lawyer to be close to the Law, while knowing that the Smart Contract has no legal value. But as soon as they are deployed on a Blockchain, they no longer require supervision or controls from a third party
The creation of Smart Contract is very complex, the writing itself can be the first source of bug, hence the interest to use from the beginning the good programming language, such as:
Solidity (the most used on Ethereum, and especially the simplest for novices)
Viper
Serpent (similar to Python)
Lem ...
The advantages of Smart Contracts are:
Economic and fast processing of transactions
Perfectly clear and precise content
Predictability of the Contract settlement
No possibility to influence the Contract
High transparency as well as reliability and security
Processing via a global infrastructure
Low deployment and transaction costs
But they also have limitations:
Requires a digital database
Access to information outside of the Blockchain is restricted, need to use Oracles
No possibility to influence or modify the Contract, once it is deployed on the Blockchain
No mechanism in case of dispute
Co-contractors are often anonymous
Adopts a binary transaction logic → IF ... THEN
The application domains are very broad:
Finance
Insurance
Fixed and recurring payment
Auctions
Identity management
House/Apartment/Car Rental
Payment of Artists/Musicians
Traceability of Food and/or Pharmaceutical products
Local/National Elections
Cryptocurrency exchange platforms
It should be noted that, even if Smart Contracts are extremely secure, because they are hosted on a Blockchain, they are coded by Humans, and Humans can be:
Partial
Fallible
Sick
Incompetent
Corruptible
And a simple error in the Code, can be exploited by Hackers who can take advantage of it, as it was seen on June 17, 2016 with The DAO (The Decentralized Autonomous Organization) had raised $150 Million (while the ETH was worth $20 at the time), an error in the code allowed Hackers to steal $50 Million
While Computer Programs have no Souls, so in case of a security problem, the only one at fault can be the one who wrote the Contract. And they are also less expensive than a Human, hence the principle of automating actions by the Program for a significant gain of money
Remember also, that the power of a Smart Contract lies only in the intelligence of its programmer
More details to come on:
How a Smart Contract works
Which Blockchain and which programming language
Difference between Smart Contract and Classic Contract
More detailed application areas ...
To be continued.
See you soon
Christophe WILHELM
© Bitcoin Meister
Source pics: Google
Resources