Typically associated with the Ethereum project, a decentralized application, or DApp, is an application that runs on a peer-to-peer network of computers, as opposed to a single computer. The key benefit of this is, users of the network do not depend on a central computer in-order to send and receive information.
In-order to fully understand the difference between a decentralized application and a centralized application, let us consider some examples of centralized applications such as: Facebook, Twitter and YouTube. These are all examples of centralized applications, because in-order to use them, the user is dependent on a network owned and operated by a central entity. This is in contrast with a decentralized application, where the user is not dependent on a central entity to send and receive information.
Even though a DApp does not necessarily require a blockchain from which to operate on top of, most DApps harness the power of blockchain technology using what are known as, smart contracts. Smart contracts are self-executing contracts designed to enforce the terms of an agreement. For example, if you want to purchase a house, this process would involve multiple third parties such as estate agents and lawyers, who would settle the purchase for you. However, with the use of a smart contract, the process need only involve the buyer and the seller. Once all the conditions are met, the smart contract would execute independently of any third party.
DApps rely on smart contracts in-order to access the blockchain and operate, much in the same way centralized applications rely on centralized servers to operate. If you are not entirely sure what a blockchain is, then check out this article here.
Here are some common requirements of an application before it can be truly considered decentralized:
- Application must be open-source
- Application’s data must be stored on a decentralized blockchain
- Application must use a cryptographic token e.g. Bitcoin, or one inherent to the application
- Application must generate tokens via a cryptographic algorithm, e.g. Proof-of-work
In-order to crystallise your understanding of what a DApp is, let us consider a real-world example of a decentralized application.
Eth-Tweet is a decentralized blogging platform that provides functionality similar to Twitter. However, because Eth-Tweet operates on top of the decentralized Ethereum blockchain, no centralized entity can control what a user decides to publish.