In 1994, Nick Szabo, a legal scholar and cryptographer, realized that a decentralized ledger could be used for smart contracts, blockchain contracts, or digital contracts.
In this format, contracts could be converted to computer code, stored and replicated on the system and supervised by the network of computers that run the blockchain. This would also result in ledger feedback such as transferring money and receiving the product or service.
Let's take a look at how this works, which blockchains support it, and how it is applied in several real-world situations.
Table of Contents
- What are Smart Contracts?
- Real-life uses of Smart Contracts
- Why are Smart Contracts important?
- Blockchains with Smart Contracts
What are Smart Contracts?
In the simplest form, smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.
One of the best ways to describe smart contracts is to compare the technology to a transaction at a shop versus a transaction at a vending machine.
At vending machine you drop in the money and get your product without a middle man (the cashier). The vending machine knows (usually) how to verify that you've given enough money for the requested product. At a corner store, you rely on a cashier who has to verify the correct payment and then give you the correct product.
For this example we can think of vending machine as smart contract, selecting your product as running smart contract’s public functions and dropping in money as sending funds to the contract.
More so, smart contracts not only define the rules and penalties around an agreement in the same way that a traditional contract does, but also automatically enforce those obligations.
Smart Contracts vs Traditional Contracts
Let’s have a look at the difference between smart contracts and traditional contracts the real estate industry. Some of the advantages of using smart contracts are the elimination of middlemen and using globally available currency like Ether instead of country-specific currency.
This can reduce the time of buying a house to within 2 minutes with smart contracts instead of the hours or days it takes in most real estate markets.
How do Smart Contracts work?
We'll use another very common family transaction to look at how a simple smart contract would work—parents giving their children allowance or spending money.
Ethereum smart contracts work with transactions triggered by users. A smart contract for paying allowance to children can be created by their parents. The parents top up the contract with money (Ether) when they want. Each kid will have a unique wallet address (similar to bank account number) where the contract will deposit the amount of funds as written.
The children will be able to withdraw their allowance whenever they want, anywhere in the world without asking parents or without using bank or any country-specific currency. The smart contract could be further configured to deposit only a specific amount of Ether per a given time period.
Ethereum Smart Contract Example
Since we're on the topic of regular payments, we'll use a real (but very simple) smart contract code to show how a company could pay employees using an Ethereum smart contract.
The programming language is Solidity and it is mostly human-readable. As above, the Ethereum addresses of employees can be thought as bank account addresses. As soon as the contract receives Ether, it automatically pays the salaries of the employees.
Smart Contract development on Ethereum
The preferred IDE for Solidity is currently Remix, a browser based IDE. With this IDE, it is possible to write, compile, do static analysis, run, debug, test the smart contracts and deploy them into the test or main network of Ethereum blockchain.
For production smart contracts there is also one important and unique step—auditing. Auditing can be thought of as a very serious, extensive code and logic review of the smart contracts and the project itself. Auditing itself can be quite costly at the level of thousands of dollars for a reputable review.
Live Products based on Smart Contracts
During the ICO frenzy of 2017-18, thousands of product ideas were launched. Many had nothing more than a smart contract and white paper and many were outright attempts at fraud. And most withered away as the crypto markets went through a down spell.
But despite all that, many teams were working on products that have actually launched. Here are a few:
Gitcoin is a decentralized app that incentivizes contribution to open source development. Founded by Kevin Owocki, it facilitates payments in Ethereum to developers for pull requests.
GOLEM is most easily explained as an Airbnb-style marketplace for unused computing power. Users can offer their unused CPU/GPU cycles for task execution in a decentralized super-computer.
INDORSE is a social network that uses smart contracts to validate professional skills, mainly for developers. Users can validate their skills or assess the skills of other coders and be rewarded with tokens. It also emphasizes data ownership and allows business recruitment opportunities.
Why are Smart Contracts important?
Smart contracts are important because they are computer codes that are generated to imitate real-world legal deals through executable command lines that work independent of human interference. These codes help ensure that the transactions run smoothly, without deviating from the code clause that constitute them.
Smart Contract Blockchains
Ethereum is a gold standard in the world of smart contracts and has the biggest capitalisation among all smart contract platforms. Bitcoin may have shown us that a payment system can exist in a decentralized peer-to-peer atmosphere. However, Ethereum opened the door to Dapps (decentralized apps) with its key feature Smart Contracts. The first of its kind to provide Turing complete code running capability on a decentralised network.
Hyperledger (or the Hyperledger project) is an umbrella project of open source blockchains and related tools supported by big industry players like IBM, Intel and SAP Ariba, to support the collaborative development of blockchain-based distributed ledgers.
In 2015, the Linux Foundation, the nonprofit organization enabling mass innovation through open source development, announced the collaboration of industry leaders to advance blockchain technology at an enterprise level. The original goal was to develop “an open source distributed ledger framework to build robust, industry-specific applications, platforms and hardware systems to support business transactions”.
These are by far not the only two. Others such as EOS, Stellar, Cardano, Neo all have ambitious projects that aim to bring diverse smart contract solutions to nearly every sector of global industry.
If you put aside the hype cycles that swirl around blockchain tech — particularly cryptocurrency valuations, there's little doubt that digital smart contracts will play a role in many aspects of our lives in the future.
"It turns out that decentralizing one part of a system can and will have other kinds of effects. If one’s faith in decentralization is anywhere short of fundamentalism, this need not be a bad thing. Even among those who talk the talk of decentralization, many of the best practitioners are already seeking balance — between unleashing powerful, feral decentralization and ensuring that the inevitable centralization is accountable and functional." – Nathan Schneider