This article will focus on Decentralized Applications-definition, difference with traditional mobile and web applications, blockchain platforms used for their development, advantages and their disadvantages.
Decentralized Applications (Dapps) :Definition
Traditional Web and Mobile Applications:
As you might be knowing, a traditional web application has a front end (which the user interacts with) and a back end (which stores the data and enables the front end functionalities). The front end and the back end communicate with each other via computer codes using the HTTP protocol. Further, these traditional web applications have both the front end and back end running on the centralized servers. For instance a typical banking web application has its front end and back end running on the central server of the bank. Or take Facebook for example. Its front end and back end are both stored in the Centralized server of Facebook. Since all data are stored in a centralized server, it is susceptible to cyber attacks and even manipulations by the company offering such applications.
Decentralized Applications (Dapps):
In stark contrast to this, Dapps are web applications whose back end runs on a distributed network like Blockchain. Its front end can either run on a centralized server or another decentralized server like IPFS. The back end of a Dapp are self executing codes called Smart Contracts. Smart Contracts can be deployed in various Blockchain networks and distributed platforms like Ethereum (most popular), EOS, Steem, TRON, Klaytn, etc.
Dapp Front End:
The front end of Dapp at the user’s side looks like any other traditional web or mobile application. Though it contains a wallet which connects it to the back end of the Dapp (Smart Contract). It contains keys (private and public keys) as the identity of the person using the Dapp.
Dapp Back End:
The back end of a Dapp is stored and executed in a blockchain (like Ethereum, EOS, TRON, etc.).
- It is open source, i.e. anyone can review and build upon the code of a Dapp.
- It performs the same function irrespective of the environment in which it is executed.
Blockchain Platforms on which Dapps can be built
Dapps can be built on top of different Blockchain networks. This is because, we can choose from different blockchain networks to deploy the Smart Contract of a Dapp. Example: Ethereum (most popular in terms of the number of Dapps built on top of it), EOS, TRON, NEO, Cosmos, Corda, Steem, Klaytn, etc.
Let us explore some of these blockchain platforms in detail.
Ethereum: It is the most popular blockchain network of building Dapps till now. It hosts over 1000+ Dapps by now. Check this to explore various Dapps built on Ethereum network.
EOS: Another popular blockchain platform for Dapp development. List of EOS Dapps can be explored here.
- Generally used to build Enterprise grade Dapps.
- No transaction fee included
- Highly scalable: EOS uses Delegated Proof of Stake consensus mechanism which makes EOS handle much more transactions per second than Ethereum.
- Efficient bug recovery system
- Innovative Smart Contract deployment
- Ease of use for developers
TRON: TRON offers enormous blockchain based operating system which offers high level support for throughput and scalability of Dapps. It again offers low transaction fees and lesser transaction throughputs. List of TRON Dapps.
- Highly Effective
- Security Confirmation
- Equivalent рrоfіtѕ
- Data Ownership
NEO: NEO is another popular blockchain platform mainly used for building Dapps for digitization of asset transfers.
- Smart contracts can be built without much knowledge of coding languages.
- The Proof of Stake consensus mechanism helps in reducing the usage of computing power of the network.
- It helps in digitizing or tokenizing real world assets.
Decentralized Applications: Advantages
- Decentralized: Dapps are decentralized in nature. This means these applications are not controlled or administered by a Central Authority. Unlike this, traditional web applications like Instagram, Facebook, banking applications are controlled by a Central Organisation or authority. Though not common but these Central Authorities can manipulate the applications and the data stored and even block you from using their applications.
- Personal data is not needed for identification: To use traditional web applications, you normally need to share your personal data and identity. This data can be compromised to gain monetary, political or other benefits. On the other hand, you only need a wallet and internet connectivity to use a Dapp. No personal data and identity need to be shared.
- Turing Complete: Dapps are Turing Complete. This means they can perform any computing task in the world, provided, they are given enough resources.
- Zero Downtime: The backend of Dapps (Smart Contracts) are deployed in a blockchain network. That means rather than been saved in a Central Server, a copy of the code is deployed in each and every computer in the blockchain network. Hence, when one computer in the blockchain shuts down it doesn’t lead to closing of the Dapp, because other computers in the network are still active. Further the blockchain is cryptographically secured. It is practically impossible to shut down the entire blockchain network running the Dapp.
- Data Integrity: Data stored in Dapps cannot be changed or manipulated.
We know that Dapps are deployed on blockchain like Ethereum. Hence, data stored in a Dapp are immutable (Since data stored in Blockchains are immutable. Read more about Blockchain here). In traditional web applications we trust the Central Authorities for the sanctity of our data. Contrary to this, any data in a Dapp which has been made public cannot be modified by any party without consensus of the whole network.
- Deterministic: Dapps will be executed in the same defined manner given any environment whatsoever.
Decentralized Applications: Disadvantages
Maintenance and updates: Smart Contracts (backend of Dapps) which are deployed on blockchains are difficult to change or modify (immutable) without the consensus of the whole blockchain network. This makes it difficult for the developers to implement necessary changes in the Dapps, even in the case of bugs or errors.
Performance overhead and Scalability issues: For any transaction that occurs, it is updated in each and every node of the blockchain network. Further to verify and update transactions, proof of work takes time. Hence, Dapps react slow as compared to traditional applications.
Slower network/network congestion: Dapps run on a blockchain network (like that of Ethereum) and use the network computing resources. If one of the Dapps is using too many network resources, other Dapps will need to wait in the queue for the resources to be free again. Currently around 30 transactions are processed in one second in Ethereum. If the number of transactions overflow this number the additional ones will have to wait in the queue.
Difficult to set up: For the average user it might be difficult to set up the tool stack necessary to interact with the blockchain in a truly secure fashion.
By now we have delved deeper into Decentralized Applications-definition, difference with traditional mobile and web applications, blockchain platforms used for their development, advantages and their disadvantages. Dapps are still at their nascent stages of development. They give us never before perks of using them, but they also have their own share of disadvantages. Researchers are working day and night to turn the disadvantages into advantages. But certainly Dapps have opened the doors for new innovation in finance, gaming, betting and other industries. In finance specifically, it has eliminated banks and other financial institutions from the picture. Anyone with a wallet (blockchain wallet) and internet connectivity can enjoy financial services like loans, peer-to-peer transfers, betting, staking, etc. Stay tuned to know the recent developments in the space.