Smart contracts are self-executing digital agreements written in computer code that exist on blockchain networks. They've become an essential technology in crypto's continued emergence, being key to the creation and inner workings of decentralized applications (DApps).
Read on as we explore what smart contracts are, how they work, and how smart contracts are used in crypto today.
TL;DR
Smart contracts are digital agreements that exist on the blockchain. They automatically execute once certain pre-defined rules are met.
The technology is fundamental to the smooth running of decentralized applications, which depend on the autonomy and immutability smart contracts provide.
Smart contracts are written in programming languages such as Solidity, Vyper, and Rust.
Although the Ethereum project is credited with pioneering the arrival of smart contracts in crypto in 2015, early cryptographer Nick Szabo first proposed the concept of self-executing digital agreements in 1994.
Major projects including Aave, Civic, and Uniswap apply smart contracts to various use cases today.
A closer look at smart contracts
Smart contracts are coded digital agreements written to blockchain networks. Once deployed, they normally can’t be changed or deleted. This technology can significantly reduce the need for trusted intermediaries when creating and enforcing agreements. Whereas contracts in the physical world require lawyers to draft them and mediators to oversee any disagreements, the terms of a smart contract are written in publicly auditable, immutable code, which automatically executes when specific conditions are met.
Smart contracts are the building blocks of decentralized applications (DApps). Their interoperability means they can be stacked to create increasingly sophisticated products that function without the oversight or involvement of any intermediary — including their creators. As a result, the phrase “money lego” is often used to describe smart contract-based applications.
The origins of smart contracts
Nick Szabo coined the term smart contract. In a 1994 essay, the cryptographer, computer scientist, and early digital-money pioneer described computerized agreements that automatically execute when predefined conditions are met. However, when Szabo first wrote about smart contracts, the technology to implement them was not yet available. That changed with the creation of Bitcoin.
Although Bitcoin does allow for simple smart contracts, most are written to blockchains that support more sophisticated programming languages. Platforms like Ethereum, Solana, Avalanche, Polkadot, and Cardano each allow for DApps built using smart contracts.
Ethereum, which launched in 2015, is widely credited with bringing smart contracts to the crypto space. The project set out to extend the functionality of the pioneering blockchain technology that arrived with the launch of Bitcoin in 2009. Ethereum's smart contracts run on the Ethereum Virtual Machine, or EVM — a digital software that's responsible for the code execution and deployment of smart contracts.
How smart contracts work
Smart contracts are written in programming languages such as Solidity, Vyper, and Rust, with Solidity being the most popular today for coding Ethereum-based smart contracts. The programming language is used to build smart contracts with predefined rules and logic. In simple terms, this logic would be "if X happens, then do Y".
Once written, the code is compiled into a machine readable format called bytecode. The blockchain can understand bytecode, unlike the original programming language, and can therefore execute the rules of the smart contract. As the user interacts with a contract, the blockchain responds by automatically executing the correct action through a transaction. These transactions are paid for using a gas fee.
How smart contracts are used
Smart contracts are the cornerstone of much of the blockchain innovation of recent years. For example, by leveraging smart contract technology, developers have monetized digital artwork and collectibles, and are in the process of decentralizing the financial (DeFi) industry. Let's look at some specific examples.
Aave
One example of the technology's influence over the DeFi space is Aave. This decentralized non-custodial borrowing and lending protocol allows users to earn returns and borrow assets by depositing assets into liquidity pools. Users can also take out uncollateralized, ultra-short duration loans called flash loans, which allow users to swap volatile collateral for a stable asset with a reduced chance of liquidation. Being decentralized and based on a peer-to-peer model, the protocol relies on smart contracts to operate.
Civic
Personal identity verification service Civic also uses smart contracts to provide secure and low-cost identity verification services. The project gives users total access to and control over their personal identity information, granting individuals greater privacy as they interact with digital services. Civic is built on the Solana blockchain, which is considered a major competitor to the Ethereum platform.
Uniswap
Uniswap, a leading decentralized exchange, relies on smart contracts for the smooth running of the liquidity pools within its automated market makers. Here, smart contracts are coded to determine the price of a liquidity pool's tokens at any given time. This allows trades to be completed in an entirely decentralized way.
The final word
Smart contracts are arguably the backbone of the modern crypto space, being fundamental to the operations of DApps and the pioneering projects built around them. The technology supports a pillar of crypto — decentralization — by removing the need for centralized intermediaries. As a result, it's tough to overstate their importance to the industry. As we’ve seen from the smart contract examples above, the technology is being used in many different ways, with new use cases surely ahead.
FAQs
Smart contracts are self-executing digital agreements written in computer code. They're deployed to blockchain networks to create and enforce agreements without requiring an intermediary. Once deployed, smart contracts can't be changed or deleted.
Smart contracts are written in common programming languages such as Solidity, Vyper, and Rust. These languages are used to program each smart contract with clearly defined rules and logic that the contract's actions are based upon. This code can be read and understood by a human but not a machine, which is where bytecode comes in. Once written, a smart contract's code will be translated into bytecode so the blockchain can understand and apply its rules.
Ethereum did pioneer the launch of smart contracts among blockchain technology, but isn't the only project that now applies the technology. Solana, Avalanche, Polkadot, and Cardano all also enable decentralized applications to be built using smart contracts.
Although smart contracts are specifically designed to be secure, the technology does face certain vulnerabilities. Because a smart contract ultimately requires a human to code its rules and logic, there's the risk that human error can introduce bugs and vulnerabilities which can be exploited by bad actors. Smart contracts are also vulnerable to attacks on the related blockchain network, such as 51% attacks.