Decentralized Apps, or Dapps, are applications based on blockchain. Dapps have a front end similar to that of traditional apps. However, the back end of a Dapp is the smart contract running on a peer-to-peer network like a blockchain. This differentiates them from the traditional apps as their back-end is based on a centralized server.
We can implement Dapp as a front-end feature in the web and mobile apps. However, web apps are the preferred choice due to the availability of more tools and community support.
The front-end of the Dapp is hosted on a centralized server or a decentralized server like IPFS (InterPlanetary File System). Users from the front end can fetch data from IPFS to display in the app according to the business logic. In addition, users can perform some transactions directly and indirectly (via a wallet) on the blockchain by sending transactions to the smart contract running on the blockchain.
It is a cryptocurrency wallet used to interact with blockchains. They connect with the Dapps directly and allow users to perform some transactions on the blockchain.
The back end is the part that sets Dapps apart from the traditional apps. The back end consists of smart contracts, written in solidity, running on a virtual machine on the Ethereum node. Business logic is implemented within smart contracts. The transactions are verified, validated, and executed when a user initiates a transaction. If the transactions can't be validated, they are aborted, and a notification is sent to the user.
The types of Dapps are as follows:
Advantages | Disadvantages |
Decentralization: This eliminates the need for a centralized authority, giving the users more control. | Immutable: Smart contracts are immutable, which means that the app's back-end can not be updated once the smart contract is deployed. Business logic can not be updated, or any error can not be removed unless the majority consensus is achieved. |
No censorship: As there is no centralized authority, no user/content can be censored unless the majority consensus is reached. | Computing power: Most of the Dapps are based on the Ethereum blockchain, which operates on Proof of Work and requires a lot of computational power. |
No downtime: Even if some nodes crash, the Dapps remain online. | Scalability: Transactions per minute are significant roadblocks causing the Dapps to lead to a poor User experience. |
Anonymity: Dapps do not usually require users to go through a lengthy sign-up process, thus keeping the users' identities safe. | Less user-friendly: The end-user might find it difficult to set up the tools required to communicate with the blockchain in a secure environment. |
Free Resources