The smart contract idea was developed by cryptographer Nick Szabo in 1997, who believed that contracts had to evolve along with technology. He believed that contracts could be created, stored, and enforced through technology.
Szabo set three main features for smart contracts:
Smart contracts are contracts written in code as complex if-then commands which are secured by cryptography, publicly provable and maintain privacy – as Szabo previewed. They can be used outside blockchain as well as within. Within a blockchain, parties to a smart contract set its pre-defined clauses and specifications, which are then encoded. Once deployed within the blockchain, these smart contracts will execute the terms of the contract without any intervention when agreed conditions are met. These contracts are considered superior to paper contracts because they are backed by technology.
One technological innovation that benefits smart contracts within blockchain is the public key infrastructure (PKI), which is a set of rules and specifications that creates, stores, and uses digital certificates and public key encryption. The PKI architectures requires the use of two types of cryptographic keys – public and private. The public key is known to all parties while the private key is only known by the owner for use in signing and authenticating transactions. PKI is a security and privacy tool that works for smart contracts as well as blockchains.
Another characteristic of blockchains that works with smart contracts is immutability – or the fact that transactions on blockchain cannot be altered once they are found to be true by the consensus mechanism used. This ensures the integrity of the contract as well as transactions. Smart contracts can also be designed to execute punitive measures if there is dishonest behavior, such as a breach of contract or an attempt to alter the agreement’s terms.
Smart contracts operate in a trustless manner and with an unprecedented level of transparency. They execute without human intervention, which makes them fast. They are secure due to the use of cryptographic tools and efficient because once deployed, they cannot be altered and operate automatically without intervention. Thus, smart contracts are significantly less expensive than traditional contracts.
Popular uses of smart contracts include:
Some disadvantages of smart contracts are 1) they have to be coded after they are written, and different blockchains use different coding languages; thus, the signatories to the agreement must trust the writer and encoding of the contract; 2) there may be coding errors, which could cause harm; and 3) they live on a blockchain and may not be interoperable with other blockchains or real-world applications without an oracle platform.
2019 Blockfacts Research Reports Smart Contracts and the Blockchain – The Ethereum network