Definition
A smart contract, like any contract, establishes the terms of an agreement. But unlike a
traditional contract, a smart contract’s terms are executed as code running on a blockchain
like Ethereum. Smart contracts allow developers to build apps that take advantage of
blockchain security, reliability, and accessibility while offering sophisticated
peer-to-peer functionality — everything from loans and insurance to logistics and gaming.
Just like any contract, smart contracts lay
out the terms of an agreement or deal. What makes smart contracts “smart,” however, is that
the terms are established and executed as code running on a blockchain, rather than on paper
sitting on a lawyer’s desk. Smart contracts expand on the basic idea behind Bitcoin — sending
and receiving money without a “trusted intermediary” like a bank in the middle — to make it
possible to securely automate and decentralize virtually any kind of deal or transaction, no
matter how complex. And because they run on a blockchain like Ethereum, they offer security, reliability, and borderless
accessibility.
Why are smart contracts important?
Smart contracts allow developers to build a
wide variety of decentralized apps and tokens. They’re used in everything from new financial
tools to logistics and game experiences, and they’re stored on a blockchain like any other
crypto transaction. Once a smart-contract app has been added to the blockchain, it generally
can’t be reversed or changed (although there are some exceptions).
Smart-contract-powered apps are often
referred to as “decentralized applications” or “dapps” – and they include decentralized
finance (or DeFi) tech that aims to transform the banking industry. DeFi apps allow cryptocurrency holders to engage
in complex financial transactions — saving, loans, insurance — without a bank or other
financial institution taking a cut and from anywhere in the world. Some of the more popular
current smart-contract powered applications include:
-
Uniswap: A decentralized exchange that
allows users, via smart contract, to trade certain kinds of crypto without any central
authority setting the exchange rates.
-
Compound: A platform that uses smart
contracts to let investors earn interest and borrowers to instantly get a loan without the
need for a bank in the middle.
-
USDC: A cryptocurrency that is pegged via
smart contract to the US dollar, making one USDC worth one U.S. dollar. UDDC is part of a
newer category of digital money known as stablecoins.
So how would you use these smart
contract-powered tools? Imagine you’re holding some Ethereum that you’d like to trade for
USDC. You could put some Ethereum into Uniswap, which, via smart contract, can automatically
find you the best exchange rate, make the trade, and send you your USDC. You could then put
some of your USDC into Compound to lend to others and receive an algorithmically determined
rate of interest — all without using a bank or other financial institution.
In traditional finance, swapping currencies
is expensive and time consuming. And it isn't easy or secure for individuals to loan out
their liquid assets to strangers on the other side of the world. But smart contracts make both
of those scenarios, and a vast variety of others, possible.
How do smart contracts work?
Smart contracts were first proposed in the 1990s by a computer scientist and
lawyer named Nick Szabo. Szabo famously compared a smart contract to a vending machine.
Imagine a machine that sells cans of soda for a quarter. If you put a dollar into the machine
and select a soda, the machine is hardwired to either produce your drink and 75 cents in
change, or (if your choice is sold out) to prompt you to make another selection or get your
dollar back. This is an example of a simple smart contract. Just like a soda machine can
automate a sale without a human intermediary, smart contracts can automate virtually any kind
of exchange.
Currently, Ethereum is the most popular smart
contract platform, but many other cryptocurrency blockchains (including EOS, Neo, Tezos, Tron,
Polkadot, and Algorand) can run them. A smart contract can be created and deployed to a
blockchain by anyone. Their code is transparent and publicly verifiable, which means that any
interested party can see exactly what logic a smart contract follows when it receives digital
assets.
-
Smart contracts are written in a variety
of programming languages (including Solidity, Web Assembly, and Michelson). On the
Ethereum network, each smart contract’s code is stored on the blockchain, allowing any
interested party to inspect the contract’s code and current state to verify its
functionality.
-
Each computer on the network (or “node”)
stores a copy of all existing smart contracts and their current state alongside the
blockchain and transaction data.
-
When a smart contract receives funds from
a user, its code is executed by all nodes in the network in order to reach a consensus
about the outcome and resulting flow of value. This is what allows smart contracts to
securely run without any central authority, even when users are making complex financial
transactions with unknown entities.
-
To execute a smart contract on the
Ethereum network, you will generally have to pay a fee called “gas” (so named because
these fees keep the blockchain running).
-
Once deployed onto a blockchain, smart
contracts generally can’t be altered, even by their creator. (There are exceptions to this
rule.) This helps ensure that they can’t be censored or shut down.