What are dApps (Decentralised Applications), and How Do They Work

Genesis DevCon
5 min readDec 7, 2018

--

The dApp track in Genesis Hack invites developers to build decentralised applications on the blockchain for B2B and B2C solutions. This article is aimed at explaining to the Genesis Hack developers what dApps are, how they work, and some of the opportunities they present for coders.

What are decentralised applications?

In the simplest of words, dApps are the blockchain-ed version of traditional applications. That is to say, they run similar to the applications we use today but without a central authority. An average app that we use today stores all the user-related data at one central system. Decentralised applications store the data on a blockchain where it gets distributed among several nodes eliminating the presence, and power, of a central authority.

The incorporation of blockchain in traditional applications makes dApps that run on a p2p network of computers rather than a single, central computer. The blockchain infrastructure stores all the information in a distributed, decentralised manner. A decentralised application is, therefore, any internet application that runs on multiple server nodes without any one node as a central authority.

The rudiment idea behind the development of dApps is to avoid a single point of failure and add security to the system. Decentralised applications come with inherent security because of the immutable nature of blockchain. Another benefit of dApps is the resistance to corporate intervention. They are free from any outside influence be it corporates, developers, or employees. Additionally, they enable the economising of digital resources and offer a novel approach to conducting transactions.

How do dApps work?

Let’s understand the working of dApps in comparison to the working of traditional apps. The traditional web applications function on two imperative elements — the front end and the back end — which communicate with each other through the HTTP protocol.

These applications are hosted on a single hosting service with a centralised architecture. In the case of malicious attacks, it would be fairly easy to take down the entire application by just taking over the central system.

In dApps, the front-end and the back-end elements remain the same except that the back end is formed on a blockchain with the data distributed among multiple hosting nodes. Feeding data to the system happens only after all the hosting nodes have reached a consensus (i.e. an agreement).

In case of malevolent events, tearing down a blockchain back-end becomes difficult because of its distributed nature.

dApp Features

Typically, a decentralised application is:

  • Decentralised: they must cryptographically store all the user data in a decentralised blockchain i.e. the data must be stored in a distributed manner across multiple participating nodes.
  • Open-source: dApps must operate autonomously without a single point of authority or control; all stakeholders must consent for amendments.
  • Tokens: dApps must offer a token or a coin native to the blockchain on which they operate. This is to allow access to the network and contribute value from all participants.
  • Has a consensus algorithm: since dApps need a consensus from the participating nodes to validate any action, they need to have an algorithm which all participating nodes can follow to reach the consensus.

Types of dApps

With the progress that the blockchain technology has made so far, three types of decentralised applications have been developed:

  • Type I: the dApps that have their own blockchain. The best example is Bitcoin.
  • Type II: dApps that use the blockchain of type I dApp. For example, all the dApps that have been built on Ethereum are type II dApps. Type II dApps are essentially protocols and must issue tokens which are necessary for their function. An example would be the Omni protocol.
  • Type III: dApps that use the protocol of the type II dApps. Tokens are necessary for their functioning. For example, the SAFE network is a type III dApp that uses the Omni protocol to issue ‘safecoins’.

Analogy: Type I dApps are like Operating Systems such as Windows or MacOS. Type II dApps are similar to General Purpose Software Programs such as Word Processors. Type III dApps can be equated with a Special Software that use a General Purpose Software Program such as a mail-merge tool that uses a word processor.

Building a dApp — Opportunities

As intimidating as building a decentralised application may sound, it only needs two things — an idea and enough ambition. A crucial part of the process is to write a whitepaper that highlights the idea behind the software and how it would work along with its purpose, vision, market potential, consensus algorithm, development architecture, the team, and any other detail that might be crucial to the project.

Decentralised applications, much like the blockchain itself, offer a plethora of opportunities for developing key disruptions in the technology industry. The true potential of dApps is yet to be realised.

Currently, dApps provide multiple opportunities for developers to work on. Scalability is a major issue with dApps right now. This is related to the scalability issues of blockchains. dApps run on blockchains and the lower tps (transactions per second) rate of the blockchains renders the dApps slow as well.

Independence is another problem that most dApps are struggling with. All the dApps that are built on the same blockchain have a certain dependency on each other in that the downtime of one will affect the downtime of other. If the blockchain suffers in any way, all the dApps working on it will suffer equally. Creating a way for dApps to be less dependent on each other while on the same platform is a potential innovation area.

dApps on blockchain protocol also wrestle with definite governance models. Most blockchains lack a clear governance model which hinders the growth of a dApp. If a dApp is being built on a blockchain, it can reach the point of doing an ICO but the lines as to who calls the shots on how the product is to be developed remain blur.

Many proponents of dApps believe that decentralised applications have the potential to surpass the current software trends in user-base, utility and network valuation owing to their innovative structure, flexibility, transparency, and distributed nature. dApps are revolutionary because they connect the provider and users directly by eliminating middlemen. If innovations can bring solutions to the existing problems with decentralised applications, dApps may as well become the future.

Learn More

You can refer to the following pieces for more information on dApps:

https://github.com/DavidJohnstonCEO/DecentralizedApplications

http://blocksofdata.com/dapps-101/

Have Your Registered for Genesis Hack?

Genesis hack aims to bring together thousands of developers to showcase their talents in building on blockchain technology. The hackathon comprises of three major tracks you can participate in — the protocol track, the dApp track, and the security track. With overall prize money of INR 1.57 crore.
Register Now: http://bit.ly/2PTmd0u

--

--

Genesis DevCon

Genesis DevCon is a blockchain developer conference that is bringing in the best experts in the field to India.