Smart contracts vs. dApps—how are they different?
![Illustration of a bussinessperson shaking hands with a digital counterpart.](https://cdn.britannica.com/35/241735-050-9CA030C1/Businessperson-shaking-hand-with-digital-partner.jpg?w=385)
How much do you know about decentralized applications, known as dApps? What about smart contracts? If both of these concepts feel new to you, that’s perfectly understandable; they have a relatively new—but growing—set of use cases for cryptocurrency products.
Decentralized applications and smart contracts both use blockchain technology; dApps often rely on smart contracts to operate. Smart contracts augmented by decentralized applications can be positioned to serve many people worldwide.
Key Points
- Smart contracts are blockchain-based agreements that can execute automatically.
- Decentralized apps use blockchain tech instead of centralized server technology.
- DApps typically use one or more smart contracts to operate.
What are smart contracts?
A smart contract is an electronic contract that can be executed automatically. Smart contracts use blockchain technology and can be programmed to execute when—and only when—specific conditions are met. Smart contracts, once published to a blockchain, are immutable and always visible to all participants in the blockchain.
Smart contracts were first deployed on the Ethereum (ETH) network, but a smart contract can operate on any blockchain network that supports it. Many blockchain networks, such as Filecoin (FIL), are improving their protocols to add support for smart contracts.
How smart contracts work
Smart contracts are governed by code. Here are the basic steps to create a smart contract:
- Connect to your chosen blockchain network.
- Create a front-end application and application programming interface (API) key.
- Fund your collateral account to transact with cryptocurrency on the blockchain network.
- Write and initialize the smart contract on the blockchain.
- Perform the necessary technical integrations.
- Deploy the smart contract.
Even if you’re not a programmer, you can still create a smart contract. Software programs are available to take the coding out of smart contract creation and deployment.
What smart contracts can do
Wondering about how smart contracts can be used? These are some of the use cases for smart contracts:
- Automate workflows
- Record property ownership
- Make elections more efficient
- Reduce or eliminate legal fees
- Reduce insurance fraud
- Protect sensitive medical information
- Manage incentive programs
What are decentralized apps?
If you understand smart contracts, it’s easier to understand decentralized applications (dApps). Decentralized apps frequently use blockchain technology in two ways:
- To support features. Decentralized apps can use smart contracts to support their core features.
- To decentralize control. Creators of a dApp may deploy the entire set of code to the blockchain, totally relinquishing control to the community that uses it. No single individual controls this type of dApp, including its developer.
Just as smart contracts are immutable once deployed to the blockchain, dApp code cannot be removed from a blockchain once it’s added. Any blockchain that supports smart contracts is generally able to support decentralized applications, as dApps are additional code built on top of smart contracts.
How decentralized applications work
How can a project function if its management is completely decentralized? An app with decentralized governance uses a predetermined consensus mechanism, such as proof of stake or proof of work, to create a technologically automated process for decision making.
- Proof of stake: The proof-of-stake consensus mechanism awards decision-making authority based on proof of ownership (stake) in the dApp or blockchain network. Users with the most cryptocurrency in the network have the most decision-making power.
- Proof of work: The proof-of-work consensus mechanism allocates decision-making authority based on computing power. Network participants who perform cryptographic “work” the fastest are awarded the most influence over the dApp or blockchain network.
Examples of decentralized apps
Let’s further boost our understanding of dApps by digging into some specific examples:
- BitTorrent: Perhaps among the best-known dApp platforms, this decentralized application supports peer-to-peer file sharing. BitTorrent is integrated with the TRON (TRX) blockchain.
- Aave: Aave is a decentralized liquidity platform that uses blockchain-based protocols to operate. Aave users can lend, borrow, and stake cryptocurrency, plus earn interest on deposits.
- Melonport: This Ethereum-based project is a decentralized crypto asset management platform. Melonport uses smart contracts to automate operations such as clearing, settlement, and performance monitoring.
- Uniswap: This cryptocurrency exchange platform is a decentralized protocol. The Uniswap platform is governed by holders of the digital utility token UNI.
How dApps use smart contracts
Decentralized applications rely on smart contracts, but smart contracts don’t necessarily rely on dApps. Decentralized apps use smart contracts to automate many processes, ranging from core services of the application to general governance functions.
For example, the decentralized platform Aave uses smart contracts to automate peer-to-peer lending and borrowing, staking, and other core platform functions. Decentralized apps and platforms like Uniswap use smart contracts to decentralize governance by implementing policies, enforcing election results, and performing other administrative functions.
Should you use smart contracts or dApps?
Decentralized apps and smart contracts don’t work on every blockchain—looking at you, Bitcoin—but many protocols support these two applications of blockchain tech. Decentralized applications and smart contracts are open source, meaning that anyone in the blockchain network can view the underlying code.
Decentralized apps may be more user friendly than smart contracts. BitTorrent, for example, is generally easy to use, while creating and deploying a smart contract on the Ethereum network is significantly more complex. Users of decentralized apps are obligated to choose from the offerings currently available in the dApp marketplace, while those with relevant skill sets can develop and deploy any type of smart contract on any compatible blockchain.
Developers can choose to create both smart contracts and dApps to make their smart contracts more useful and accessible.
The bottom line
You may be wondering whether the differences between smart contracts versus dApps should matter to you. With the use cases for blockchain technology continuing to grow, the applications for smart contracts and dApps continue to proliferate. You may find yourself—on a day sooner than you expect—using a decentralized application backed by one or more smart contracts.