Often associated with the Ethereum protocol, which positions itself as a more programmable version of Bitcoin, considerably broadening the scope of decentralized applications, the term “smart contract” has only recently become popular, although the legendary cypherpunk, Nick Szabo, first wrote about it in 1994. With the advent of distributed consensus protocols and crypto-currencies invented to enable borderless, secure, censor-resistant and programmable exchanges of digital values, an entire technology sector is opening up to smart contract programming. Ethereum is the best-known protocol dedicated to the programming of smart-contracts, but it is not the only one, and smart-contracts can now be deployed on other competing blockchains.
Smart contract: definition
Smart contracts are irrevocable computer programs, most often deployed on a blockchain, that execute a set of pre-defined instructions.
The main idea behind the concept of smart contracts is to guarantee the binding force of contracts no longer by law, but directly by the computer code: “code is law”, to use Lawrence Lessig’s famous formula.
As with every computer program, the complexity varies from one smart contract to another. Some implement simple conditions, like an Excel “if” function (if this condition is met, then the contract is executed – “if this then that” for the insiders), while other smart contracts are veritable gasworks. By way of illustration, some smart contracts even aim to replicate all the clauses and rules that allow companies (commercial or not) to operate. This is often referred to as DAO, an acronym for Decentralized Autonomous Organization. It should be noted that very often, complexity is the enemy of security.
How a smart contract works
The smart contract offers a sort of computerized equivalent of the paper contract. During the execution of the smart contract, all the validation steps are recorded in the blockchain used (most often Ethereum). This process makes it possible to secure all the data by preventing them from being modified or deleted afterwards.
In practice, the vast majority of smart contracts are used to automate exchanges of value in the form of crypto actives. All accounting entries relating to these exchanges of numerical values are systematically recorded in the blockchain. In this way, all asset transfers are public, predictable and irrevocable. Anyone can check on the blockchain the correct execution of the smart contract and determine to whom the asset belongs.
Smart contracts therefore guarantee a highly charged set of performance conditions, which normally leave no room for doubt or confusion. The conditions are very clearly set out and the interpretation of the code is unequivocal, unlike human interpretation, which always leaves room for negotiation or the discovery of a legal loophole.
Intelligent contracts are for the most part standardized, just like paper contracts, for which we have the possibility to use templates. The best-known smart contract standard is known as ERC-20, and its main function is to allow the creation of tokens (digital assets, crypto money) on the Ethereum network.
Advantages and disadvantages of smart contract
Public blockchains offer tremendous opportunities to deploy smart contracts in an extremely secure way. There are currently hundreds of ERC-20 tokens (all the cryptographic devices resulting from an ERC-20 smart contract) with a global value of several billion dollars.
The advantages of smart contracts are multiple. They allow to :
- Secure an agreement between two (or more) parties thanks to the transparency and immutability of the blockchains.
- Automate payment and eliminate the risks of non-payment frequently observed in traditional contracts.
- Drastically reduce intermediate costs in the elaboration, follow-up and conclusion of a contract (notary, lawyer)
However, smarts contracts have disadvantages that are currently being addressed by specialists in distributed block chain and register technologies. The main disadvantage remains the risk of flaws inherent in any computer program.
Most smart contract code is open source, but if it is poorly designed, it can allow hackers to exploit the flaws it contains to the detriment of other users. The best known example of hacking is The DAO, which resulted in a loss of more than $150 million (in ethers). Following this famous hack, the Ethereum community had made the painful choice to rewrite posteriori the history of transactions recorded in the Ethereum blockchain in order to dispossess the hacker of his booty and to return the stolen ethers to all the victims.
This type of problem raises the question of the immutability of blockchains (“Code is Law”) in the face of the need to reintroduce human intervention in the framework of a smart contract in order to restore morality and public order. A doctrine exists, arguing that it would be conceivable to add an additional form of governance to block chains orchestrated by a clever set of smart contracts to define possible cases of arbitration in case of emergency. On the other hand, purists of Bitcoin and its evolutions are in favor of preserving as much as possible these ecosystems from human and political intervention.
This is an ideological issue at the heart of the issues of the blockchain, which still divides the community.
Examples of smart contracts
Several block chains allow the possibility of deploying smart contracts: the best known is of course Ethereum, which already includes a large number of decentralized applications programmed via smart contracts. But other promising protocols, such as EOS, Tezos, or Cosmos also make it possible to program smart contracts. The Cardano blockchain, currently under development, also provides this possibility, guaranteeing a level of security adapted to the most critical systems.
For the moment, the most proven smart contracts are programmed on Ethereum and are listed on StateoftheDapps. There are several types of smarts contracts, depending on the sector of activity:
- Decentralized monetary exchanges: 0x, OmiseGo, MakerDAO
- Games on Blockchain: Cryptokitties, My Crypto Heroes, Etheremon
- Gambling: FCK, Playtowin, FunFair
- Decentralized Cloud: Storj, iEx.ec
- Predictive market platforms: Augur, Gnosis
And much more… The economy of smart contracts is still in its infancy but seems to have a very bright future. Many decentralized applications in the health, insurance, or supply chain (pharmaceutical, food, cosmetics, etc.) sectors are currently under development. The 2020s are likely to offer a significantly different organization than our current version of paper-based contracts and trusted third party applications. An economy in which cryptomoney will play an essential role.
Would you like to get more information about smart contracts? Contact us today. Our experienced team can help you with smart contracts.