Decentralized Applications (DApps)

This article talks about Decentralized Applications (DApps) and how they operate.

· 5 min read
Decentralized Applications (DApps)

In this Article:1. What is DApps?2. How Do DApps Work?3. What are the benefits of DApp Development?4. What are the Limitations of DApp Development?5. Conclusion

The rapidly changing technologies around us are challenging the way we see everything in the real world. This new era of blockchain and related technology is shifting almost everything into a more decentralized form. For instance, the existing standard web or mobile apps such as Facebook, Ola, etc. run on a computer system owned and controlled by their respective companies. Though there are multiple users on one end of these Apps, the other end is exclusively operated by a single organization. On the other hand, Decentralized Apps (DApps) can run on a P2P network or a blockchain network in a decentralized environment, and thus it is free from control and interference by a single authority. Let us understand what is DApps and how it operates.

What is DApps?

DApps is an abbreviation referring to Decentralized Applications. DApps operates like any other normal Apps with similar features and functions, the only key difference is that DApps run on a P2P Network (Peer-to-Peer Network), like a Blockchain. DApps are built on and powered by decentralized protocols, most popularly by Ethereum. In the case of a normal app, the backend code is running on the centralized servers, whereas in the case of DApps, these backend codes run on a decentralized P2P network. A DApp can host its frontend on decentralized storage and can also have its frontend code be written in any language in order to make calls to its backend. DApps operates on an open public decentralized platform like Ethereum where no one can have single control of the DApp. Developers first need to introduce smart contracts to develop a DApp. A smart contract is a code that lives on the blockchain network and runs precisely as programmed. DApps are usually executed through a virtual environment, such as Ethereum Virtual Machine, so that any bug in the smart contract won’t hinder the normal functioning of the blockchain network.

For example, BitTorrent and Popcorn Time are DApps that run on a computer as part of a P2P network, whereby multiple people are consuming content and at the same time also feeding or seeding the content. In the context of cryptocurrencies and blockchain technology, CryptoKitties is an example of DApp, which is powered by Ethereum and is a game centered around breedable and collectible creatures called the CryptoKitties.

How Do DApps Work?

DApps are decentralized applications that run on a blockchain network in a public, open-source, decentralized environment. These applications have their backend code, which is effectively the smart contracts, running on a decentralized network instead of a centralized server as in the case of any other application. DApps use blockchain technology such as Ethereum blockchain for storing the data and they use smart contracts for setting their App logic. A smart contract is a set of codes and rules that is accessible to every participant of the application, and all users have to run exactly in accordance with these rules. This is how the code mediates the agreements and transactions in a DApp. Once the DApps are deployed on the blockchain network, they can not be changed under any circumstances. DApps tend to be decentralized simply because they are controlled by the logic written into the smart contracts and not by any single individual or a company.

What are the benefits of DApp Development?

  • Data Integrity: All the data stored on the blockchain are indisputable and secure due to the cryptographic primitives. The data that is already been made public cannot be forged by any malicious users.
  • Open-source and Decentralized: In DApps, all the decisions are governed by autonomy and thus are decided by consensus or the majority of all the participants. DApp’s code-base is available to every participant for verification and scrutiny. Further, all the records of a DApp are operated and stored on a public decentralized blockchain network in order to avoid any kind of pitfalls of centralization.
  • Zero Downtime: Smart contracts of a DApp once deployed on the blockchain, is always available to serve clients looking to interact with the contract. This makes sure that malicious operators are not able to launch denial of service attacks targeted to a single DApp.
  • Censorship Resistance: No single person or organization can stop users from deploying DApps, reading data, submitting transactions, and carrying out other activities from the blockchain. Also, without any single point of control, it becomes difficult for governments or powerful individuals to operate the networks.
  • Promotes Verifiable Behavior: In order to execute any transaction on DApps, we don’t have to trust a central authority as the smart contracts are created and guaranteed to be executed in predictable ways. Users can also verify all the codes and contracts before transactions on such applications, thus promoting verifiable behavior.

What are the Limitations of DApp Development?

  • Congestion of Networks: The entire network can get backed up due to excessive usage of computational resources by a single DApp. Normally, a network can process only about 10-15 transactions per second.
  • Prone to Hacks: As DApps run on open-source smart contracts, it gives hackers a rare opportunity to review the networks looking for weaknesses. In recent times, this had led to a wave of hacks on some of the popular DApps.
  • Poor User-Interface: An average user may find it difficult to set up a tool stack necessary to interact with the blockchain. Many of the existing DApps suffers from this limitation which had driven many users away from these applications. But these DApps are working on ways to improve their user interface to provide a good user experience to their participants.
  • Difficult to Maintain: Usually DApps are very hard to maintain due to the difficulty of modifying the data published on the blockchain network. It’s even hard for the developers to make any kind of updates to their DApps post they are deployed on the network.
  • Low User-base: Like many other Apps in Web 2.0, the more users a DApp possesses, the more effectively can it deliver services to its users. This phenomenon is often referred to as Network Effect. Currently, DApps are struggling with a low user base, which makes them less interactive and effective. A lower user base also makes the security of the DApp more vulnerable as it often relies on how many users it has.

Conclusion

Through DApps we can directly engage in transactions with one another without having to rely on any central authority. The user of a DApp simply needs to pay the developer a certain amount of cryptocurrency to download and use the App’s source code i.e., Smart Contracts. DApps safeguards the user’s privacy as they do not need to submit their personal information in order to use the functions offered by the DApps. With the increasing popularity of cryptocurrency and related blockchain technology, cryptocurrencies such as Ethereum are also becoming flexible platforms for creating new DApps. DApps could bring about a significant change in a variety of industries including banking & finance, gaming, social media, and online shopping.