Decentralized Applications in Blockchain – DApps

In this Blockchain tutorial, we are going to learn about Decentralized Applications in blockchain commonly referred to as DApp, dApp, Dapp, or dapp. And we will also discuss the following set of topics.

  • What are Decentralized Applications in blockchain
  • Types of Decentralized Applications in Blockchain
  • Requirements of a DApp
  • Design of a DApp
  • Examples of Decentralized Applications
  • Platforms for decentralization
  • Benefits of decentralized applications

What are Decentralized Applications in Blockchain

Decentralized applications are software programs that exist and work on a blockchain or peer-to-peer network. These programs run on top of a peer-to-peer network of machines rather than a single machine

Also, these applications are not under the control or authority of any single organization.

conventional web application without blockchain
Conventional Web Application

A conventional web application runs on a computer system that is owned and maintained by an organization. And this allows the organizations to have full control and authority over the application.

In this model, on one side, there are users and on the other side, there is only one organization.

What are Decentralized Applications
Decentralized applications blockchain

Whereas, decentralized applications run on computers that are part of a peer-to-peer (P2P) network or blockchain network. In this model, several users are accessing, providing content, or doing both roles at the same time.

Also, read, Decentralization in Blockchain

Types of Decentralized Applications

Now, there are multiple categories of decentralized applications based upon different blockchains. And in this section, we will discuss each type or category in detail.

Decentralized applications can be divided into three types based on the blockchain model used:

Type 1

The Decentralized applications which run on their own dedicated blockchain fall under the Type 1 category. For example, Bitcoin, Litecoin, Ehereum, etc.

Type 2

The Decentralized applications under this category make use of blockchain of Type 1 applications. These decentralized applications are protocols and they also have tokens that are a must for their functioning.

For example, Omni is a decentralized trading system built on top of the Bitcoin blockchain. Also, Golem is a decentralized marketplace in the United States for computing power that is built on top of the Ethereum blockchain.

Type 3

The Decentralized applications under this category make use of protocols of Type 2 applications. A prime example of this type is the SAFE network which utilizes the Omni network protocol.

Read Methods of Decentralization in Blockchain

Requirements of a DApp

Now, let’s take a look at some key requirements of a decentralized application.

  • A decentralized application should be completely open-source. Also, it should not be controlled by any central authority.
  • Any modifications to a decentralized application should be made based upon the general agreement (consensus) of users.
  • In a decentralized application, all the data should be secured using cryptography. Also, the data should be stored on a public, decentralized blockchain. This will helps the applications to overcome any central point of failure.
  • A decentralized application must utilize a cryptographic token to allow access to and encourage individuals that add value to the application.
  • A decentralized application must generate the tokens using consensus and an appropriate cryptographic technique.

Read Types Of Blockchain

Design of a DApp

Till now, we got a clear idea about decentralized application and their types. Now, let’s understand the basic design of decentralized applications. And how these decentralized applications are different from traditional applications.

A traditional application typically works on a client-server architecture. And, in most cases, It comprises a user interface, as well as a web server or application server, and a backend database. This is illustrated in the diagram below:

design of a DApp
Design of a traditional application

On the other hand, a decentralized application utilizes blockchain as a backend for the application. And a critical component in the development of a DApp is a smart contract.

Smart contracts are simple programs that consist of some business or application logic and it runs on blockchain.

The basic design of a decentralized application is visualized in the figure below.

design of a Decentralized application
Design of a Decentralized application

The frontend in a DApp or a traditional application can either be a mobile app or a web frontend. But, in most cases, It’s usually a web frontend built with a JavaScript framework like React or Angular.

Also read, Blockchain Architecture

Decentralized applications examples

After going over the fundamentals of Decentralized applications, it’ll be interesting to look at some actual decentralized applications examples.

So, in this section, we will discuss some of the working examples of decentralized applications.

  • Augur: It is a decentralized prediction market platform based on the Ethereum blockchain. And it allows participants to make prediction markets on a variety of topics, such as sports, economics, and current events.
  • BitTorrent: It is a decentralized file-sharing application based on the Tron blockchain. And it allows users to send and receive files over the internet in a decentralized manner.
  • Golem: It is a decentralized marketplace where users can rent computing power. It is made up of a network of nodes that follow the Golem protocol.
  • Lazooz: This decentralized application is a peer-to-peer ride-sharing platform. And in return, it allows users to earn Zooz coins.

Now, there are thousands of decentralized applications available in the market. And these applications employ different blockchain technologies like Ethereum, Bitcoin, Tron, etc.

Read Smart Contracts in Blockchain

Platforms for decentralization

In blockchain, the DApps have recently gained tremendous popularity due to the emergence of numerous decentralized platforms such as Ethereum, EOS, and Tezos. So, in this section, we will take a look at some different platforms which we can use.

Many companies and organizations have developed platforms that claim to make distributed application development simple, accessible, and safe. The following are some of these platforms:

1. Ehereum

Ethereum is one of the first blockchain which incorporates the concept of virtual machines and the development of smart contracts.

Using solidity, its Turing-complete language has opened up many possibilities for the development of decentralized apps.

Vitalik Buterin proposed this blockchain in 2013. And it provides a public blockchain for developing smart contracts and decentralized apps.

2. Lisk

Lisk is a cryptocurrency and blockchain application development platform. It enables developers to create decentralized applications using JavaScript and host them in their own sidechains.

It has a backend that uses Node.js and JavaScript, and a frontend that employs common technologies including CSS3, HTML5, and JavaScript. Additionally, it utilizes Delegated Proof of Stake (DPOS) consensus algorithm.

3. MaidSafe

This is a decentralized Internet project that started in the year 2006. This is a decentralized and autonomous network, not a blockchain.

MaidSafe offers a SAFE (Secure Access for Everyone) network made out of underutilized computing resources including storage, processing power, and user data connections.

The files are broken into little bits of data that are encrypted and distributed at random across the network. Only the owner of the data has access to it.

Read Introduction to Enterprise Blockchain

Benefits of decentralized applications

Now, in this section, we will discuss some of the key benefits of using a decentralized application over a centralized one in Blockchain. Some of the key benefits of decentralized applications are illustrated below.

Points of failure

In a centralized application, if the central server fails then, the whole system fails. And, all the users will be unable to use that application.

Whereas in a decentralized application, there is no single point of failure. This is because the application is deployed on a distributed system. And users don’t rely on a central server to manage processes.


In a centralized application, all the data related to its users are stored in a central storage unit. Now, if the central data storage is hacked or harmed then, all the user data will be harmed. And it raises security issues due to central storage.

Whereas in decentralized applications, all are user data is stored in a shared database. And no central authority has control over it. Also, it utilizes cryptography to secure the data or information.


The decentralized applications are cost-efficient as compare to centralized applications. As in decentralized applications, no middleman or authority will charge for the service. The users of decentralized applications can transact directly with each other.

So, in decentralized applications either there is no processing cost or it may have very little cost as compared to centralized apps.


The biggest advantage is resilience to censorship. It is extremely difficult for any individual or government to regulate or restrict access to the DApp because no single entity controls it.

Also, check: Introduction to Blockchain Oracles

So, in this tutorial, we have learned about Decentralized Applications in Blockchain. And we have also discussed the following set of topics.

  • What are Decentralized Applications
  • Types of Decentralized Applications
  • Requirements of a DApp
  • Design of a DApp
  • Examples of Decentralized Applications
  • Platforms for decentralization
  • Benefits of decentralized applications