What is Dapp?

DApp, or Decentralized Application, is a smart contract and a web user-interface that is built on top of open, decentralized, peer-to-peer infrastructure services. In addition, many DApps include decentralized storage and/or message protocol and platform.

What is a Decentralized Application (Dapp)?

The word Dapp is a portmanteau deriving from the terms "decentralized" and "application" or the abbreviated form of the phrase "decentralized application" itself. Either way, as the name suggests, a Dapp is an application that is decentralized and does not require a middleman to function. It is a smart contract and a web user interface. A Dapp is an application that is built on top of an open, decentralized, peer-to-peer infrastructure service. At the heart of it, it has a set of functions that let end-users interact with it, and it is usually accessible via the Dapp's official website. It can be developed by anyone with the right skill set and be used directly by end-users immediately upon deployment. It really is as simple as building it and then deploying it on to the blockchain.

Infographic on how decentralized application works

Characteristics of a Dapp

A Dapp needs to meet certain criteria before it can be called a Dapp. Firstly, the code must be open-source and able to work on its own without any intervention from other parties. Secondly, as the name suggests, it must and always be decentralized with publicly available data on the distributed ledger. Thirdly, it should be able to perform any action once the conditions are met. Finally, the Dapp must be isolated in an Ethereum Virtual Machine (EVM)—thus only compatible with the EVM ecosystem—to avoid any network problems if a bug is discovered in the Dapp.

Why Should We Use Dapps?

With privacy being the main concern on the Web2 ecosystem, Dapp is here to keep privacy in check, or at least that is how it should be. You do not need to provide any information to interact with a Dapp, as everything is being handled by the smart contract. On that note, there is no trust to gain with smart contracts as everything is verifiable and it should work as intended unless there is a bug in the smart contract. Since the contract is open-source, you should be able to verify what it can or cannot do before interacting with the smart contract. Moreover, no action is restricted; users can interact with any Dapp in the Web3 ecosystem without worrying about getting blocked by any entity. With every piece of data being immutable once distributed on the ledger, it is very unlikely that the data could be tampered with. Also, smart contracts do not have any opening or closing hours and will always be available to interact with users 24 hours a day, 365 days a year.

Why Should We Not Use Dapps?

Being decentralized also comes at a cost, and one of them is maintenance. In reality, a Dapp is not easy to maintain as a deployed smart contract cannot be updated due to its nature of being immutable. If a bug is found in the deployed smart contract, the only way to fix it is by creating a new smart contract, and the project needs to be migrated to the new smart contract. Following this issue, a good user experience may be harder to achieve, especially for beginners, as there are steps that need to be followed, and since it is immutable, any mistake in the transaction may never be recovered. At times, you can see a high gas fee appear on our gas tracker. This is because the network is too congested and you might need to do the transaction some other time if you want a cheaper gas fee. In contrast, Dapp may be more centralized than you think. While the transaction is managed by a smart contract, the organization/company behind the project may still have the ability to save some of the users' info to their servers, like an NFT marketplace, unless the image is fully on-chain.

  • Faiz Adnan