Beginner's Guide to Smart Contracts: Everything You Need to Know
One of the fundamental technologies that significantly enhance the utility and demand for blockchain technology is Smart Contracts. Whereas Bitcoin and other cryptocurrencies were developed for the sole purpose of being a Peer-to-Peer digital currency, Ethereum and other layer-one networks were developed as a concept for running decentralised applications. In this article, we will be explaining in simple terms what exactly smart contracts are, and why they are so revolutionary.
What is a Smart Contract? Summary:
Smart contracts are pieces of simple computer code written to create an agreement between contracting parties. They have defined conditions and built-in logic that define their outcome. Contracts execute automatically when the required conditions are met ("if this, then that" functions). For example, the code can be created for two parties and executed automatically when both have activated their part of the agreement.
The Key Features of Smart Contracts Are:
- Efficiency, speed, and accuracy: The contract executes digitally and automatically once conditions are met.
- Trust and transparency: There is no third-party involvement on a blockchain network with a distributed ledger, and transactions are encrypted and immutable.
- Security: Blockchain technology is secure as records are encrypted, and a hacker would have to change an entire chain to alter one record.
- Savings: Without an intermediary, it saves time and costs.
Smart Contracts Pros and Cons
In this age of information technology, every business wants and needs more efficient processes, and many are turning to blockchain technology with a distributed ledger. Smart contracts are the answer to improving many aspects of business practices. There are multiple benefits and a few limitations, so let's explore the pros and cons.
Pros of Smart Contracts:
- Accuracy: The terms are outlined in explicit detail.
- Transparency and Trust: The terms are accessible to all contracting parties.
- Communication: Due to the accuracy of the specific code, misinterpretation or miscommunication is unlikely.
- Speed & Efficiency: Smart contracts are time-saving as there is no manual processing of documents during contract execution. The software code is live and executed when the conditions are met.
- Security: Smart contracts operate at a high level of data encryption, making them exceptionally secure.
- Green: As smart contracts are paper free, through effectively a computer program, they contribute to the environment as they exist only in the digital world.
- Backup and Storage: Transaction records are time-stamped and permanently stored. They are easily recoverable in the event of data loss.
- Cost savings: Without the need for intermediaries, transaction costs are competitive as experts in contract law are not involved
Cons of Smart Contracts:
There are very few limitations to smart contracts, but here are five to consider:
- The code is difficult to change: By its very nature, changing the code is practically impossible and potentially expensive.
- Loopholes: A potential loophole can occur when ensuring the smart contract terms 100% reflect what the two parties agreed.
- May still require third-party involvement: For example, developers creating the smart contract may need someone who understands contract law to help explain the details so they can create the specific codes.
- Vague terms: Like traditional contracts, terms can often be confusing and challenging to understand. Smart contracts cannot execute without clear, specific codes and cannot handle vague terms or conditions.
- Lack of regulation: The blockchain industry is unregulated and, as such, is unrecognised by traditional legal fields.
Historical Background of Smart Contracts
The concept of smart contracts emerged in the early 1990s, first proposed by Nick Szabo. Szabo, an American computer scientist, called smart contracts "a set of promises, specified in digital form, including protocols within which the parties perform on these promises" (Source: Wikipedia).
Szabo was way ahead of his time and defined the concept long before the emergence of blockchain technology and distributed ledger technology. His definition was that smart contracts use mathematical algorithms to transfer information. As a digital protocol, smart contracts execute a transaction automatically when the predefined conditions align.
To this day, Szabo's concept remains the exact definition of a smart contract. Still, back in the nineties, we had few computer programs, no blockchain technology or distributed ledgers, so Szabo could not test the concept.
How Do Smart Contracts Work?
Smart contracts are computer codes or a set of protocols used to create the terms of agreement between two parties (or more), concluding the transaction on the blockchain.
A smart contract operates on an "if this happens, then" protocol and is created with programming languages. For example, if a tenant transfers money to a landlord, the latter hands the keys to the rented house. Individuals and organisations can implement a smart contract, and once the conditions are met, it automatically executes a transaction, ensuring adherence to the agreed terms.
Smart contracts enable multiple uses, such as exchanging real estate, money, securities, goods or other assets. The data is encrypted and stored in a decentralised ledger (blockchain), ensuring parties' anonymity.
Smart contracts can only operate on assets within their digital ecosystem, and there have been challenges with connecting the virtual world to real-world processes. To overcome these issues, special programmes, "oracles", were introduced to help computer protocols access real-world information. More on oracles later.
Examples of Smart Contracts in Use
It might seem complex if you have no experience or understanding of smart contracts. However, it's not hugely different conceptually from a traditional written agreement.
The following are a few applications in which smart contracts could be more efficient than a standard paper version.
For the average person, legal agreements are as challenging to understand as reading something in Swahili. Still, smart contracts can change how commercial agreements of sale are created. For example, conditions of sale rely on "if this, then that" standards, which are easy to code.
For example, a seller must meet multiple conditions for a house sale before a buyer executes payment transfers. If any terms are not completed, the sale cannot proceed.
Once coded into the smart contract, it executes all terms of the agreement on the decentralised network, and delightfully, are not subject to linguistic nuances.
Moreover, the fact that these smart contracts are public and widely distributed means there is a consensus with the smart contract’s code built into the agreement. Both parties are 100% aware that the inbuilt smart contract code will execute based on the agreed conditions.
Smart Contracts and Bank Accounts
If you have a bank account, you have regular monthly, date-based direct debit payments to third-party entities, like utilities, streaming services, credit cards, a mortgage lender or landlord, etc.
If you have sufficient funds on the assigned date, the bank automates the direct debit payments after checking all conditions are met. A simple, smart contract acts the same way, activating when the assigned conditions by the parties involved are satisfied. However, the bank in the central location would not determine the virtual currency transaction but execute it on the decentralised platform.
Sample Smart Contract
So, to further debunk the mystery of how smart contracts work, let's look at a visual example of coding:
Image source: Sample from Ethereum.org
The above Ethereum smart contract:
- Creates an assortment of all the wallets
- The creator receives the initial token supply
- Checks if the sender has sufficient funds
- Checks for potential overflows
- Smart contract execution
Benefits of Decentralised Smart Contracts
One of the essential benefits of a smart contract is that it executes on a public blockchain and shared ledger. That means two parties who may not ordinarily trust each other can agree on the current state of the public ledger.
As long as most participants agree on the current state, the executed contract is trusted.
A smart contract could help OTC (Over the Counter) derivative transactions. OTCs are typically transactions entered into by two participants who agree to the terms of a trade. Unlike a central clearing house that acts as a third party to a trade, OTC transactions are direct and have no clearing house.
Large institutions in the financial markets usually create these trades. They settle the terms of the OTC agreement subject to certain conditions being met. The OTC agreement is written in a legal agreement that both parties can access. Hence, the terms should clarify who pays whom and when on particular trade outcomes.
However, traditional OTCs still have the scope for misunderstanding and disagreement between the parties. For example, there could be a misinterpretation of particular clauses (that lawyers will fight for) or a dispute about whether the trade has met the required external conditions.
Smart OTC Contract
With a smart contract, however, only one contract is written into the code, and upon deployment, the contract is immutable. It will execute the smart contract code precisely as intended, and the terms cannot be misinterpreted. By nature of the execution of the smart contract, both parties are accountable to the agreement.
Furthermore, the parties cannot influence whether the factors triggering the OTC payout are reached. It is determined only by whether the conditions coded into the smart contract are met. The contract will execute if the share price reaches a predetermined level coded into the contract.
Apart from simply confirming the outcome of the trade, the Smart contract also facilitates the movement of funds from the losing party to the winning party. In addition, the contract executes the payment on the blockchain, acting as a decentralised virtual clearinghouse. Both parties will initialise transactions with the required starting balance of collateral staked on the trade.
Other Benefits of Smart Contracts
They are error-free and outlined in explicit detail. The smart contract executes as intended without misinterpreting the input and calculates the output exactly as encoded. Terms are hard-coded into the contract and run 100% efficiently.
Transparency and Trust
Terms are accessible to contracted parties, which increases trust between parties. In addition, smart contracts are autonomous and transparent, and without human interaction, data cannot be manipulated.
A central authority does not control the contracts, which increases the trust that a smart contract will execute as intended.
Due to the accuracy of a smart contract, misinterpretation or miscommunication is unlikely. When contract communication is clear, it creates an environment of trust and efficiency.
Speed & Efficiency
Raising traditional paper-based contracts is a pain, with much too-ing and fro-ing between parties before finalizing a hardcopy contract. The beauty of smart contracts is that they execute in fractions of seconds, saving potentially days, weeks or months of effort, putting a paper contract together to the satisfaction of all parties.
Because smart contracts are fast and accurate, efficiency is a positive byproduct.
The contracts operate at a high level of data encryption, making them exceptionally secure. Their security is guaranteed by the underlying blockchain system it resides in, making tampering with the smart contract exceptionally difficult.
Smart contracts are paper-free and greatly benefit the drive to reduce our carbon footprint. They contribute to the environment as they exist only in the digital world.
Backup and Storage
On the blockchain, all the computers involved have a copy of the contract, so there is no need for regular backups. There is no reason for anyone placing data on the blockchain to have concerns about losing their information.
Transactions are time-stamped and permanently stored. They are easily recoverable in the event of data loss and are forever auditable.
Without involving intermediaries, two parties can enter into a smart contract, which is time and cost-effective. In most cases, a lawyer is not needed to oversee transactions.
There are very few limitations, but here are five to consider:
Difficult to Change
Immutability is also in the pros section. Once a contract is coded, it is practically impossible and potentially expensive to change. If later, the parties decide on a better agreement, unlike a paper contract, they cannot alter the contract and will need to execute future agreements on a new smart contract.
A smart contract relies upon correct details supplied to the developer and relies on the good faith between the parties involved to trust the smart contract was coded correctly. An unexpected loophole could occur if the contract fails to reflect the explicit agreement between the two parties. This is one of the reasons that smart contract audits are important.
Third-party Involvement May Still be Required
For complex agreements, it's possible that a lawyer may be required to help a developer understand the details so the contract can be coded correctly.
Vague Contract Terms
For a smart contract to execute correctly, there can be no elements of vagueness. If an agreement is particularly complex or detailed, it is essential that the parties work closely with a developer so that they can write the correct specific codes.
Lack of Regulation
Currently, as the blockchain is decentralised and unregulated, it is not recognised by legal fields. However, that doesn't stop the efficacy of the contract.
You may have heard of oracle off-chain data, and, in the next section, we discuss how the oracle applies to smart contracts.
Smart Contracts and the Reliance on Oracle Off-Chain Data
Oracles are data feeds acting as a bridge to source, verify, and bring off-chain data (off the blockchain) and put the data on-chain (to smart contracts on the blockchain).
Why Are Oracles Necessary?
Smart contracts on the Ethereum blockchain cannot access information stored externally from the Ethereum blockchain-based platform. It's like trying to connect two computers wirelessly without Bluetooth availability. The data cannot transmit from one computer to another until connected. Yes, that's a simplistic explanation, but an oracle is effective for triggering the execution of smart contracts using off-chain data.
Oracles move information from a blockchain to external systems. Without oracles, smart contract applications could only access on-chain data. Smart contracts that can execute from off-chain data extend the value of decentralised applications. Common uses for oracles are things like transmitting weather data, asset prices, and other information that exists in the "real world" to the blockchain.
Why Do Smart Contracts Need Oracles?
The Ethereum blockchain is a deterministic system, meaning that given a particular input and initial state, randomness, or variation of computing inputs from the outputs isn't possible on the blockchain. For a blockchain to achieve deterministic execution, blockchains like Ethereum limit its nodes (Ethereum has many thousands of nodes worldwide) to reach consensus via binary questions (true/false) using data stored on the Ethereum blockchain.
Examples of binary questions could be the following:
- Does the account have sufficient funds to complete the transaction?
- Did the public key (belonging to the account holder) sign the transaction with a private key (paired)?
Real-world, external information would prevent nodes from agreeing on changes to the blockchain. If node X executes the code and gets "5" as a result, but node Y runs the same transaction and gets "7", the consensus would collapse and cause havoc on the decentralised Ethereum platform. Hence, the need for oracles in these instances.
On-chain information is transparent and immutable, so Ethereum nodes can achieve consensus using oracle imported off-chain data to compute a network's state changes.
A Big Future for Smart Contracts
Although smart contracts are no doubt revolutionary, there are a few possible problems that could arise from their use. Of course, there is always the possibility that unforeseen coding errors and bugs could exist in the contract. These could lead to outcomes neither party had expected. Similarly, how would the government regulate such contracts and how could they limit abuse?
Indeed, there are other things which are inherent in traditional contracts like Force Majeure which allows for leeway in the case of an extraordinary event or circumstance not in the control of the parties. With smart contracts, the code will be executed irrespective of these events.
However, there is no reason that these potential issues could not be overcome. Researchers at Cornell Tech from numerous fields are working on solutions to make smart contracts part of our daily lives. Lawyers could work with developers to create smart contract templates for commercial use. The opportunities for collaboration towards mass adoption are no doubt endless.
What is a Smart Contract: Conclusion
We think you'll agree, understanding smart contracts is not as challenging as you may have thought. The benefits outweigh the disadvantages, and the immutability of a smart contract saves a lot of faffing with paper-based contracts full of vagaries and lawyer speak.
As artificial intelligence gains traction and virtual currency becomes more commonplace, nothing seems impossible now. Moving funds without time delay has become a feature of modern times.
Moreover, the business world in many industries is embracing distributed ledger technology, trusting the security of a decentralised blockchain. Thanks to smart contracts, many are happy to move money digitally and agree on contractual obligations without the time delays or intermediaries associated with traditional institutions.
As more people worldwide comprehend the efficacy, speed and low cost of creating a smart contract, in time, perhaps the traditional judicial system may have cause to recognise these digital contracts as the next level of how we create agreements between two or more parties.
Frequently Asked Questions
It’s a contract that is a piece of computer code, using "if this, then that '' functions. It has defined conditions and built-in logic that defines its outcome. When the specific conditions are met, the smart contract automatically executes. The contract is created as an agreement between two or more parties, for instance, a real estate contract.
When the specific conditions of the smart contract are met, it is automatically executed.
An Ethereum "smart contract" is a program running on the Ethereum blockchain and compiled of code and data that resides at a specific address on the Ethereum blockchain.
The world's first cryptocurrency, Bitcoin, was the first to support a simple, smart contract. However, they were limited compared to today's Ethereum smart contracts.
The creators of Ethereum designed the platform to handle transactions and support capabilities impossible on the Bitcoin blockchain.
Above all, Ethereum is the most secure, decentralised, safe, and robust smart contract blockchain globally, battle-tested and withstanding the test of time. No other contract network can (yet) make this claim. In addition, Ethereum has the most developers above any blockchain network who leverage the power of Ethereum and reliability when creating new applications and smart contracts.
They are great for almost any situation requiring an agreement between two people. They execute only when conditions are met, which helps increase trust between those involved. The following are some of the everyday use cases:
Digital Identity: Provide an identity for digital currency and other assets, remove counterfeits, and make KYC seamless.
- Cross-border payments
- Fund transfer
- Trading between any network asset on the network
- Peer-to-peer payments.
- Liability management
- Automatic payments for digital money
- Stock splits
- Dividend payments
Financial Data Recording: Improves data recording by executing it automatically, removing exposure to human error.
Supply Chain Management: Automate the supply chain with visibility and transparency. Reduce fraud, loss, and wastage incidences and lower transaction costs of a supply chain by cutting out intermediaries.
Error-Free Financial Services: Humans make mistakes, but mathematical code and calculations are accurate.
Government: Smart contracts can help automate operations and improve transparency and efficiency.
Insurance: Automate claims and resolve disputes with an insurance company.
Mortgages: Automate the mortgage approval process, making it significantly faster, and cutting out middlemen for fractions of the cost.
Disclaimer: These are the writer’s opinions and should not be considered investment advice. Readers should do their own research.