A Dapp (pronounced Dee-App) is a decentralized application in which the application’s backend code runs on a decentralized peer-to-peer (P2P) network. To provide contrast, a traditional application has its back-end code running on centralized servers.
The advent of Dapps have been popularized by distributed ledger technologies (DLT), namely the Ethereum blockchain. Ethereum became the first blockchain-based platform to build smart contracts and decentralized applications. Currently, Ethereum remains as the platform of choice for Dapp development by developers and thousands of dapps have already been built.
For an application to be considered a Dapp, it must often meet the following criteria:
- The application must be completely open source. No single entity can be in sole control of its development. Developers can build the dapp and propose improvements but all changes must be decided by consensus of its users.
- The applications data and records of operation must be cryptographically stored in a public and decentralized blockchain. This is to prevent central points of failure and downtime of the dapp.
- The application must use a cryptographic token, whether it’s Bitcoin or a token native to the applications blockchain. The token must be used for access to the application and its associated operations.
- The application must generate tokens to prove the value of the nodes contributing to the application, similar to how Bitcoin uses the proof-of-work consensus algorithm.
According to the Ethereum whitepaper, there are three main types of Dapps; apps that manage money, apps where money is involved in addition to other components, and other types of apps including voting and governance systems.