Introduction to Smart Contracts
Firstly, we want to make it clear that Smart Contracts are neither ‘Smart’ nor a ‘Contract’. A smart contract is a set of cryptographic code which consists of pre-determined rules and execution of a task. In layman’s terms, the criteria are embedded in the code and once those criteria are met, the corresponding task or event is executed
For example, you can write a smart contract about paying $450 for rent every 30th of the month, transferring the assets once the predetermined payment is received, vote on the day of elections with the records being untampered, etc. One of the most important qualities of the smart contracts is that since the contracts are stored in a blockchain, they cannot be changed once written.
This quality has its own pros and cons. On one hand, it provides transparency and automation, on the other hand, the contract has to be written again if there is any flaw in the code, which sometimes makes the applications pricey. Smart Contracts provide the advantage of automation to its very fundamental nature. Due to the qualities mentioned above, Smart Contracts are autonomous, trustworthy, accurate, secure, and economical. They are economical in a way that the contracts will cut down the expenses incurred on middlemen.
History of Smart Contracts
In 1994, Nick Szabo, a computer scientist, and a legal scholar came up with the idea of smart contracts. He said a form of self-executing contracts could be developed using a digital signature, cryptography, and secure computation. He intended to use distributed ledgers to store such contracts.
In traditional contracts, you would have to go to a lawyer, broker, or government and pay them to get an important document, but in smart contracts, there is no middle man.
Smart Contracts can also function with digital signatures. This means that the contract will execute only if the required participants digitally sign the contract using their private keys. The contract can also store information like terms of agreements, membership records, health records, domain registration information, etc. which makes their applications vast. They can also run as a series or a web of smart contracts where one contracts triggering event can depend upon the results of the other contract. Due to this characteristic, the complexity of smart contracts can vary from as small as completing a transaction to forming an entire organization (DAO) which is fully automated.
Imagine a fundraising platform; here, people can go on the platform and create a project. They set a funding goal for this project which people donate to if they like or believe in the idea. Essentially the fund-raising platform is a third party that sits between the creator and the supporters.
The creator of a project expects the funds to be given to them, if the funding goal is met; whereas, the supporters want their money to go to the project or get a refund when it doesn’t reach the goal. The most important factor of a traditional contract is trusting a third party, but one can build a similar system that doesn’t require a third party with smart contracts.
Now if you create a Smart Contract for this, an agreement will be coded where the T&C is encrypted in the hash. This program holds all the received funds until the goal is reached. Thus, this money can now be transferred by the supporters to the Smart Contract. The contract automatically passes the money to the creator of the project if fully funded or issues a refund if not.
Smart contracts like traditional contracts can be used to help exchange property, money, or anything of value in a transparent, conflict freeway, all the while avoiding the services of a middle man. Smart contracts can define the rules and penalties of these agreements in the same way as a traditional contract but can also automatically enforce them.
Suppose you rent a house from a landlord, you can do this through the blockchain by paying in cryptocurrency. You get a receipt that is held as your virtual contract. A digital entry key is given to you by the landlord which comes to you by a specified date. If the key comes before the date then the blockchain holds it and releases both the fee and the key respectively when the date arrives. In case the key is not sent on time, the blockchain releases a refund.
The system works on the conditional premise of “If” and “Then”. Hundreds of peers witness it on the blockchain, so you can expect a faultless delivery. If the landlord gives you the key, then the landlord will definitely get paid. The code of the contract cannot be interfered with by any of the parties without the other one being simultaneously alerted.
Advantages of Smart Contracts
- As smart contracts are stored in a blockchain, everything is completely distributed, everyone on the network validates the output and no one is in control of the money. It inherits the properties of a Blockchain.
- Since there is no need to rely on a third party, they are autonomous.
- They also help you save money as there is to a middleman you have to pay.
- Trust is another important benefit as all your doc are encrypted on a shared ledger, they record transactions and no one can say they lost a document or sent money when they didn’t or any other sort of human errors.
- In a smart contract, you don’t have to worry about your information being lost, as, in a blockchain, each and every peer has a duplicate copy of your documents and is backed up, and retrievable.
- In a traditional contract, it takes a lot of time to manually process paperwork and documents. Smart contracts use code to automate tasks and thereby save hours off many business processes.
- Smart contracts are not only cheaper and faster but also avoid the errors that come from manually filling out piles and piles of forms and documents. They are extremely accurate.
- Smart contracts are immutable as they can never be changed once created.
Disadvantages of Smart Contracts
- Smart Contracts are far from perfect though. There are many questions that arise when it comes to the remedies available for the execution of smart contracts.
- Many questions such as what if a bug gets in the code, how would the dispute regulation take place, what if the terms and conditions have to be changed once it has been entered into the hash, etc.
- In a traditional contract, parties can go to court for their disputes and have their contracts rescinded but in Smart contracts the situation is different. Once a contract is executed there is no way to revert transactions, however, this does not take away the right to remedy. The contract and dispute resolution for smart contracts is very real and a growing field.
The list of challenges and technicalities goes on. Experts are trying to work on these critical issues but these issues often dissuade potential adapters from signing on. Several platforms already exist which use Smart Contracts among which Ethereum is the one that has pioneered its application. It is specifically designed and created to support Smart Contracts.
The success of a platform like Ethereum using Smart Contracts shows that when the issues are ironed out, Smart Contracts are a form of technology that will be the future of contracts.