Visually, decentralised applications (dapps) are like normal apps; they offer similar functions and look the same. However, dapps are applications or programmes that operate on a blockchain or peer-to-peer (P2P) network: Rather than running on a single computer, dapps are maintained by a distributed network using smart contracts.
Dapps are defined by the following characteristics:
- Decentralised — Dapps must not be in the control of one person or central authority.
- Open-source — Dapps must be able to function without a third party, and the code is public for anyone to copy or audit.
- Deterministic — A dapp must perform the same functions regardless of the environment in which the smart contract is executed.
- No central point of failure — All dapp information must be held on a public blockchain network to avoid a central point of attack.
Examples of Ethereum-based dapps: Golem (GLM), Augur (REP), Aragon (ANT), Uniswap (UNI)