What is a smart contract?
A smart contract is a piece of code that can be executed automatically in a deterministic way and is usually stored and executed on the blockchain to make it trustless and secure. They have the capability to receive, store, and send funds and even call other smart contracts by following if-then semantics. Some even may have heard of the expression “Code is law”- which means that technology is used to enforce rules. Basically the code dictates what we can and cannot do.
The smart contract’s aim is to remove the human factor from the decision making which is often proven to be the main cause of errors. A smart contract is usually written on the programming language called Solidity, which was created specifically for that purpose.
Ethereum is a good example of a blockchain that supports smart contracts. On the chart below we see the daily verification of contracts on Ethereum from the year 2016 to the year 2019 which shows us that there are a growing interest and usage of smart contracts. And there should be. Аlthough blockchain is a relatively young technology, it has certainly shown us through smart contracts many use cases why today’s world should shift towards decentralized interactions.
In previous article, we looked at how Smart contacts are adding value to the business. This time we shall see the benefits of the smart contracts by comparing them to the equivalent in real life – the traditional contract.
Let’s say you want to send tokens to someone, and that someone wants to send the same amount of other tokens. With a traditional contract, if you don’t trust the person, an escrow contract should be created, where a third party participates. The middle man would collect the token from both sides and then swap them. This approach already shows some problems that both parties of the contact may be facing:
There is no guarantee that the third party will not run away with the tokens. Both sides should rely entirely on the reputation of the intermediary.
On the other hand, a smart contract will work in a fully automated and deterministic way, which means the same output will be generated from a given initial state/input, making sure that both parties receive their tokens when meeting the criteria.
Depending on the intermediary, both parties may have to wait up to working time to settle the transaction of the tokens.
With smart contacts, this kind of problem goes away. A contract can be fulfilled seconds after the initial criteria are met.
A traditional contract is considered much more expensive than a smart contract, not just because of the third party that has to make a profit but also because there are so-called “hidden expenses” considering possible problems with the contract like arbitration for example.
The blockchain protocol seems to eliminate the costs of external enforcement and, therefore, smart contracts are sold as self-executed and able to solve the problem of opportunism which characterizes traditional contracts.
The same smart contract that is used to swap your tokens, can be used to swap anyone else tokens.
In the traditional world, separate contracts should be made and respective fees to the intermediary should be paid.
The intermediary should make sure that both the tokens that you and the other side have are legitimate before making a swap.
With smart contracts, the tokens can be verified on the blockchain, and with digital signatures, it can be certain straight away if the parties are eligible for spending their tokens.
The difference between the two types of contracts shows us that a new era of agreement is coming. Smart contracts are still considered a novelty and many questions remain unanswered among – How will the government decide to regulate such contracts?; How will they be taxed?; What happens if the contract can’t get access to the subject of the agreement?
But seeing how the technology evolves it seems a matter only of time things to be perfected. Smart contracts are for surely turning the hype into reality and will become a part of our everyday life.