Decentralized applications (DApps) such as BitTorrent and CryptoKitties are applications or programs that run on blockchains or a peer-to-peer (P2P) networks which are not managed or owned by a third party authority. DApps can be applied to different online industries such as gaming platforms, advertising networks, and decentralized exchanges. Before reading further, please read our disclaimer on investment related topic.
What are decentralized applications?
Decentralized applications (DApps) consist of
- a frontend to communicate with the user
- backend code (a smart contract) that runs on a blockchain or a P2P decentralized network where they are free from tampering or interference by a single authority
Feel free to check out our in-depth article on smart contracts to fully grasp the idea.
The frontend code which is executed on the user side looks like any modern mobile application. However, it contains a digital wallet which:
- Contains a record of the user’s private and public keys for authentication
- Interacts with the blockchain to manage the cryptographic keys and the blockchain addresses
- Triggers the backend (smart contracts) to be executed
The backend code (smart contract) which runs on the server side of the application has the following characteristics:
- It is stored and executed on a blockchain
- It is open source
- Performs the same function irrespective of the environment of execution
What are the differences between centralized and decentralized applications?
Centralized applications such as YouTube, Facebook, and Instagram are owned and managed by an authority, and they run on a centralized server which receives the user requests, processes them, and grants or denies access to information based on the authority’s terms and conditions.
What are the benefits of decentralized applications?
Since decentralized applications are not owned by an individual or a company, and are deployed on distributed systems, they have the following features:
- Points of failure:
- DApp: No single point of failure because individual users’ machines don’t rely on a single central server to handle processes
- Centralized app: Single (or fewer) point(s) of failure: if the centralized server fails, the application network goes offline and no one can use the application until the error is fixed
- Data security:
- Security issues due to centralized data storage: If the server is hacked, all stored data about users like photos, videos, texts, or personal information can be leaked.
- DApp: User privacy: Users don’t have to provide real identities to create or interact with DApps
- Users information is stored on a shared database which no authority has control over.
- Information can only be decrypted by the user.
- Centralized apps tend to have higher costs. Applications such as YouTube take a percentage of the user’s profit from their posted videos to compensate for data processing and marketing costs.
- DApps can be more financially efficient since they can function without a middleman to take profits from transactions. Users can transact directly using cryptocurrency.
- Content guidelines:
- Centralized apps follow both laws and regulations of their country as well their own arbitrarily decided Terms & Conditions in deciding which content to publish. For example,
- DApps have no central authority exercising censorship. Users cannot be blocked from submitting transactions, deploying DApps, or reading data from the blockchain. So users are responsible for legal and regulatory implications for the content they share or consume.
Challenges of using decentralized applications
- Difficult to maintain: Once a DApp code is deployed on a blockchain it cannot be taken down or manipulated with, therefore ,it is difficult for developers to make updates or fix bugs in their DApps.
- Difficult KYC process: Since users don’t have to provide real identities to deploy or interact with DApps, verifying customer identities is challenging.
- Network congestion: Current DApp networks can process 10-15 transactions per second. If one DApp uses too many computational resources, the entire network gets congested.
Augur is an open source, decentralized prediction market platform built on the Ethereum blockchain. Augur allows users to create prediction markets on different topics including sports, economics, and world events.
Augur’s website is visited by ±100k monthly visitors.
BitTorrent (BTT) is a decentralized file-sharing application on the TRON blockchain. BTT allows users to upload and download files directly between each other. BitTorrent is the largest file-sharing application in terms of number of users, quality of service, and total size of all files stored. And has visits of ±5.65M users per month.
Golem is a decentralized marketplace for renting computing power. It consists of a network of nodes that implement the Golem network protocol. Providers can rent out their hardware to the network and requestors can pay to run applications on that hardware.
Golem has ±85K monthly visits.
Melonport is an open source, decentralized crypto asset management platform build on Ethereum. Melonport automates operations such as clearing and settlement, performance monitoring and broadcasting validated track records.
OMG network, previously known as OmiseGo, is a non-custodial scaling solution that allows users to transfer ETH and ERC20 tokens significantly faster and cheaper than when transacting directly on the Ethereum network.
If you are interested in learning more about blockchain, feel free to read our articles: