Smart contracts are code that operate on top of a blockchain. They can be used anywhere that a transaction happens between two or more parties. Keep in mind that these transactions do not need to be monetary. A smart contract is written so that an outcome happens as soon as a set of conditions are fulfilled; it removes the third party that would initiate the outcome of the transaction.
When looking to introduce a smart contract into your technology stack, it is important to understand the ways that they are currently able to be used. Below are some examples, though this is by no means an exhaustive list.
For Token Offerings
“Minting” in this context refers to the creation of a token.
A token distribution smart contract gives tokens to investors.
“Airdrop” is a marketing term that describes giving tokens to users for no monetary payment (there is the potential that this could be construed as selling unregistered securities). An “airdrop” smart contract is not functionally different in any way than a token distribution smart contract, because the fiat transaction happens off the blockchain.
Token vesting distributes tokens to holders when a set period of time has passed.
A multi-signature smart contract requires verification from multiple parties for a transaction to be approved. This could be used when a transaction exceeds a pre-set amount.
Industry Use Cases
Smart contracts can automate payment between parties according to their specifications as soon as certain conditions are fulfilled.
Example: A platform could automatically pay out a sports bettor after a winning lineup.
Document proof-of-existence or identity
By their nature, public blockchains are difficult–almost impossible–to edit. Smart contracts operate on top of blockchains and can make a digital document or identity immutable by recording a hash that connects to the document.
Example: Upload a document to a blockchain as a hashed transaction and it is time stamped and verified for the future. Attach your online identity to a unique, Ethereum address.
Allow a platform’s users to vote digitally and securely, ensuring the vote cannot be changed retroactively.
Example: Blockchain is not ready to be used to host state elections; even decentralized autonomous organizations (DAOs) have not experienced unanimous success. However, a smart contract could be used to give users a say on issues like platform updates, or other smaller decisions.
Supply Chain Management
Use a smart contract to manage an entire supply chain, and allow items to be tracked and payment to be automated as necessary.
Example: Larger enterprises are using Hyperledger and other implementations to track supply chain management.
Crowdfunding is raising money through non-accredited investors. A smart contract could be used to give crowdfunders access to the product, service, or equity after payment, much like smart contracts are used to distribute tokens in a token sale.
Example: A company raising money through crowdfunding could use smart contracts to allow users to submit payment and receive access to the products or services upon their completion.
Creating a token to represent a tangible or intangible asset can add a layer of liquidity, automation, and accessibility to the asset. This process is called tokenization.
Example: Many assets can and have been tokenized, like gold, bundles of other cryptocurrencies, real estate, artwork and collectibles, equity, and rights (see voting).
Prediction markets allow participants to bet on the outcome of events, like weather, home prices, political outcomes, or disasters.
Example: A smart contract is used to set the stipulations of the market, and then on the verification that the specified event happened or did not happen, payment either happens or does not.
Inherent Problems with Smart Contracts
Are they “trustless”?
Smart contracts are often described as trustless, because the functions happen automatically, without a third party (unless using a multisignature verification). However, this is not technically accurate, because all parties involved must trust the entity that created the smart contract was without bias and correctly coded the functions. If the functions do not execute as planned, vulnerabilities can be left open or the transaction could be void.
The problem of putting physical data on a digital ledger
Smart contracts exist in the digital world. At this time, there is no perfect way to ensure that data in the physical world accurately gets transferred to a smart contract. For example, if you tokenize a piece of art and sell it to someone, how do you ensure that art actually gets to its buyer? The smart contract has no way of ensuring this without a doubt.