Unlike Conventional Applications, Decentralized Applications do not rely on the conventional client-server network model. While the conventional applications model demands a central controlling authority to control and manage the network and approve any changes, the decentralized network model, uses a network of computers (known as nodes) that equally participate in securing and maintaining the network. Computation is performed at every node independently and the complete record of all the transactions is recorded. The network offers several unique features that benefit the applications.
Decentralized applications rely on the blockchain principle. First outlined by Satoshi Nakamoto in a paper in 2008, he devised the idea of blockchain to overcome the duplication problem that hindered the implementation of a viable cryptocurrency. The digital currency he invented was bitcoin, which later went on to spark the blockchain revolution.
An exciting new technology, blockchain records blocks of data and stores them in a chain. With the addition of each new block, an uninterrupted digital ledger is created. As each transaction requires validation from the entire network, it cannot be approved without approval from at least 51% of the nodes. As each node on the network stores a complete record of the ledger and estimates every transaction independently, decentralized applications are more secure and tamper-proof.
Standard web applications such as Twitter or Uber run on a computer system controlled and operated by an organization, giving them complete authority over the app and its functioning. It may include multiple users on one side, but the backend is only controlled by a single organization.
DApps run on a P2P or a blockchain network. Applications that run on computers that are part of a P2P network include BitTorrent, Tor, and Popcorn Time. These apps enable multiple participants to consume, feed, or seed content, as well as simultaneously performing multiple functions.
In the case of cryptocurrencies, dApps run on a blockchain network in a public, open-source, and decentralized environment. They are free from control and interference by any separate authority.
For example, a developer venturing to build a Twitter-like dApp can place it on a blockchain where several users can publish their messages. Once posted, no one, including the app creator, can delete the published message.
Characteristics of a Decentralized Application:
Decentralized - Not limited to one controlling power
Open Source - Code is accessible to everyone
Incentive - Crypto tokens are utilized to reward network users/miners
Protocol / Algorithm - To produce tokens that reward network participants
Blockchain - Data is stored cryptographically in the blockchain