Decentralized Applications (DApps)
A type of application that runs on a decentralized network, avoiding a single point of failure.
What Are Decentralized Applications (DApps)?
DApps are any computer applications whose operation is maintained by a distributed network of computer-nodes, as opposed to a single server.
The concept of a decentralized application was enabled by blockchain platforms that support smart contracts, the first of which was Ethereum (ETH). In addition to being a regular cryptocurrency, Ethereum supports something called the Ethereum Virtual Machine (EVM), which can be described as a distributed computer whose state at any given moment is perfectly defined via a consensus algorithm.
EVM is Turing-complete, which means that it can execute every operation a regular computer is expected to be able to perform. It has its own programming language, Solidity, which allows developers to code and run any application they want on the EVM in a decentralized manner.
As a result of the way they are executed, DApps can provide the same quality of service that regular apps are capable of, while at the same time enjoying full advantages of decentralization, such as almost constant uptime and resistance to censorship and corruption.
There are many examples of successful DApps with millions of dollars in market capitalization and hundreds of active users, such as the Augur (REP) prediction market platform, the Golem (GNT) market for idle computer power and the Basic Attention Token (BAT) blockchain-based digital advertising platform.