Decentralized apps are digital applications or programs that are based on Blockchain and fundamentally different from normal applications. Unlike normal applications that run on centralized servers that belong to the company which owns them, dApps run on a decentralized peer-to-peer (P2P) network that is based on Blockchain.
What are Decentralized Apps (dApps)?
Decentralized applications or dApps are distributed, decentralized open-source software applications that run on a decentralized peer-to-peer network. Imagine the Twitter application that you have on your phone. You can post anything you want on Twitter but ultimately it’s controlled by a single company that can delete your tweets if they violate community guidelines or some other reason. But if there was a Twitter-type dApp, then it would be decentralized and not owned by any one person. If you posted something there, nobody would be able to delete it including its creators.
Multiple people can create content and consume content on these applications that is free of any control and interference from one person. Below are some of the requirements of dApps:
- Open Source: dApps should be open source and its codebase should be freely available for all. Any changes in the structure or working of the app should only be taken with the agreement of the majority.
- Decentralized: dApps should be decentralized with all the information and operations stored on a public and decentralized Blockchain which would ensure security and transparency.
- Incentive: dApps should offer some sort of incentive to their users in the form of cryptographic tokens. These are a sort of liquid assets and they provide incentives for users to support the Blockchain dApp ecosystem.
- Protocol: dApps should have a particular protocol to demonstrate proof of value. This means showing the value of a particular process in a way that can be easily verified by others.
How Do dApps Work?
A dApp has a backend code running on a decentralized peer-to-peer network. It can also have a frontend code and a user interface that can be written in any language just as it is done for normal applications. The front end can be hosted on any decentralized server like IPFS. dApps work in a manner similar to normal applications except for the few differences that are discussed below:
The dApp working has the following features:
- Decentralized: A dApp operates on Ethereum which is an open public decentralized platform.
- Deterministic: dApps perform the same function irrespective of the environment in which they are executed.
- Turing complete: dApps can perform any action given the required resources.
- Isolated: dApps are executed in an Ethereum Virtual Machine which is a virtual environment that ensures that even if there is a bug in the smart contract, it won’t hamper the normal functioning of the blockchain network.
Most Common Platforms For Creating dApps
There are many Blockchain platforms created by various companies. While the most popular and commonly heard one is Bitcoin, there are many others that are used to create dApps. These Blockchain platforms are further used as a base to create dApps. So let’s see some of these now:
- Ethereum: Ethereum is the most popular decentralized, open-source blockchain in the world currently. It is used as the base for many Blockchain projects, including more than 2500 dApps. In fact, Ethereum is only second to Bitcoin in terms of its market value. Ethereum also has a native cryptocurrency known as BTH which is their version of Bitcoin. All in all, this is an excellent option for creating a dApp although it’s a bit expensive.
- NEO: NEO is also a decentralized, open-source blockchain that aims to create a smart economy. It is also called the Chinese Ethereum and provides better options for scalability in dApps as compared to other Blockchain platforms. NEO is currently less popular than Ethereum with only about 100 dApps built using this technology. It’s also quite expensive and can even charge higher fees than Ethereum in some cases.
- TRON: TRON is a comparatively new Blockchain platform as compared to Ethereum or NEO. However, it’s quite popular and may even become a competitor to Ethereum in the future. TRON is particularly famous for gaming applications and gambling sites. There are around 1500 dApps created using this platform which makes it an excellent choice.
Below are some of the popular dApps:
- CryptoKitties: CryptoKitties is a fun app that is used for entertainment. You can buy kitties on the app using cryptocurrency and then breed and sell them at a profit. Apparently, cute cats are popular everywhere, even on Blockchain because CryptoKitties was once responsible for 10% of Ethereum transactions daily.
- OpenSea: Open Sea is a dApp that encourages interaction between various games based on Blockchain. Gamers can exchange their collectibles from any cryptocurrency-based game on OpenSea. Currently, this dApp supports collectibles from Ethereum only, but they plan to expand in the future.
- WINk: WINk is the most popular dApp for gambling-based games in the market. It included everything from poker to dice games to sports betting. WINk is based on the TRON platform and the winners in betting get WIN tokens which can then be exchanged for BTT which is a sort of cryptocurrency like Bitcoin.
- IPSE: IPSE or InterPlanetary Search Engine is actually a search engine with Blockchain as its base. IPSE is based on the EOS blockchain and it uses the InterPlanetary File System (IPFS) which is an improvement over HTTP on the internet. A big advantage of IPSE over other conventional search engines is that it guarantees security and privacy on the internet.
- Blockchain Cuties: For anyone interested in CryptoKitties, Blockchain Cuties is a great option. It allows you to focus on multiple cue animals like puppies, bear cubs, lizards, etc. apart from kitties. Blockchain Cuties is a dApp that is accessible using multiple Blockchain platforms like Ethereum, NEO, TRON, etc., unlike CryptoKitties which favors Ethereum only.
Advantages of dApps
The following are some of the advantages of dApps:
- Fault tolerance: As dApps work on a decentralized platform, if a single node is working the network will be still; available but the performance will be severely downgraded.
- Privacy: Users don’t need to submit real-world identity or any personal information to use any app-specific functionality.
- Data integrity: Data stored on the blockchain is immutable and tamper-proof due to the use of consensus algorithms. Hackers cannot forge transactions and the data stored on the blockchain is resistant to change.
- Flexible platform: The Ethereum platform provides a flexible environment for easy development of dApps.
- Verifiable behavior: Smart contracts can be analyzed and are guaranteed to execute in predictable ways without a need from monitoring or involvement from a central authority.
Disadvantages of dApps
The following are some of the drawbacks of dApps:
- Performance Overhead: There is a lot of performance overhead to achieve the level of security, transparency, and integrity that Ethereum desires. Even the proof-of-work takes a lot of time and computational resources.
- Maintenance: dApps are hard to maintain, debug and update, as the code or data published to the blockchain are hard to modify and all bug fixes require consensus from all the peers on the network which is in most cases hard to achieve in a timely manner.
- Scalability: Decentralized networks are hard to scale than centralized networks.
- User experience: It is quite hard for the developers to design a user-friendly dApp as it requires users to use the public and private keys for login instead of the username and password that is being used in centralized applications.
- Centralization: Developing user-friendly, developer-friendly applications on top of Ethereum may end up developing a centralized service. Centralization may eliminate all the good features of the blockchain over the traditional model.
- Network Congestion: There is an issue of network congestion while using a dApp as one dApp uses too many computational resources, and the entire network gets backed up. If the number of transactions coming in is more than the 10-15 transactions that are being processed in a second then unconfirmed transactions will pile up.
dApps are the continuation of Blockchain culture and a wonderful invention because of their focus on security and transparency. While there are relatively few dApps in the market as compared to conventional apps, that’s only because Blockchain is a new technology, and dApps will become more and more popular when Blockchain becomes commonplace. Until then, learn more about Blockchain, maybe invest in Bitcoin and check out the dApps provided here. Kitties are always fun!
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses
are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!