A blockchain dApp (decentralized application) is a distributed open source software application that runs on a peer-to-peer (P2P) network and is supported by a blockchain distributed ledger. Application data and records of operation are encrypted and a cryptographic token is required to access the application. A major advantage of dApps is that they are always accessible and do not have a single point of failure (SPOF).
dApps are similar in some ways to conventional apps and use the same technology to render a web page. An important difference, however, is that while a classical application is supported by a centralized database, a dApp is supported by a smart contract that is connected to a blockchain. Since a smart contract consists of the back-end only and is often only a small part of the whole dApp, creating a decentralized app on a smart contract system requires combining several smart contracts and employing third-party systems for the front-end.
Currently, the most popular platform for dApp developers is Ethereum but other blockchain platforms, such as Cardano, Lisk, QTUM and NEO are also being used for dApp development.