decentralized apps

Blockchain gained traction with the introduction of Bitcoin that comes with features like peer-to-peer technology and distributed storage ledger. These features are the building blocks of decentralized applications or DApps which are a new type of application.

According to the definition given by Wikipedia, “A decentralized application (Dapp, dApp or DApp) is an application that many users run on a decentralized network with trustless protocols. They are designed to avoid any single point of failure. They typically have tokens to reward users for providing computing power.”

As the name suggests, decentralized applications are neither owned by a central authority nor can be shut down by anyone, which means it does not undergo downtime. They are open-source software that uses smart contracts for running transactions on a blockchain.

Related post – What you need to know about Blockchain data storage

Why are Decentralized apps better than centralized apps?

There are multiple issues involved with centralized applications when compared with decentralized applications. First of all, the application servers for centralized apps are hosted on a hosting service that is based on a centralized architecture. This leads to a single point of failure in case of a malicious attack. Hence, the data in centralized applications are more susceptible to attacks.

However, when it comes to DApps, there are two main elements,

– the front end remains the same as traditional applications, 

– the backend is based on the Ethereum blockchain. 

Here, the communication between the frontend and backend happens in the same form as it happens in the traditional app, but the end-user can’t distinguish between both. So, in the case of DApp, it is challenging to bring down any application as it requires taking down all the distributed hosting nodes, which are practically impossible. This is because DApp is distributed in nature, and all the elements of the network participate here. decentralized applications can run on both blockchain networks as well as a peer-to-peer network.

DApp Features

As we know, decentralized applications are in demand and popular with many use cases. Let’s explore the features of such apps which make them popular. Here are some common features:

Open-source

Closed source applications have many restrictions in terms of usage. In this case, the end-users often have dependencies on the application developers in terms of decentralization since they access the data through a central source. Hence, closed source applications are risk-prone.

On the other hand, DApps are open-source and removes dependencies on a single person. There is autonomy in this structure, and the consensus is used for decisions. Additionally, the code base of DApp must be available for scrutiny.

Decentralized Consensus

In a centralized application, any transaction needs some kind of centralized control. In this system, to clear a transaction, it is pushed ahead through a clearing process. On the other hand, as the decentralized applications work in a peer-to-peer (P2P) model, each node is connected to the other. So, in the DApp model, a transaction is processed through a consensus mechanism. If the majority of the nodes approve the transaction, it gets processed.

No Central Point of Failure

Decentralized applications are distributed, and they don’t rely on one single server. Hence, there is no central point of failure. DApps allow its stored data to be decentralized across all its nodes. These nodes are independent of each other. As a result, in case of one node’s failure, the other nodes will run on the network unaffectedly. Different decentralized database systems like IPFS (Interplanetary File System), BitTorrent, and independent DHTs can be used to create DApps with this feature.

Decentralized applications Classification

According to the Ethereum whitepaper, DApps can be classified into three different types. Here are they:

Financial Blockchain Applications

With this type of DApps, the users get the methods to manage their financial activities. Bitcoin is one such example of this category that provides users with a distributed and decentralized monetization system. Since it is not controlled centralized, no single authority is responsible for controlling the money. It is the people of the network and the consensus protocol that regulated the money. Other than Bitcoin, various Altcoins fall into this category.

Semi-financial Blockchain Applications

This category is a mix of money and outside information of the blockchain. An example in this category is the insurance applications that allow money returns for flights in arrival delay. Another example of this category is the ICO (Initial Coin Offerings). An ICO is nothing but a fundraising mechanism similar to an IPO, with the only difference being the involvement of cryptocurrencies in place of fiat money.

Fully Functioning Decentralized Applications

This third category of DApps uses all the features of decentralized and distributed systems. This is the most popular type of DApps that does not need to be financial. For example- Applications for online voting or decentralized governance. Countries like Dubai have already set their pace towards utilizing blockchain and building the first blockchain-run government.

When to consider an application as DApp?

To consider an application a DApp, the following criterion needs to be met:

  • The application should be open-source. 
  • It should function autonomously. There will be no single centralized authority. 
  • The DApp must adhere to the consensus rules. All the changes to be introduced in the app must be decided through the system users’ consensus.
  • The data and records of the application’s functioning should be kept on a public and decentralized blockchain. Also, all the information stored on the blockchain must be cryptographically encrypted.
  • The application must use a crypto token such as Bitcoin or any native token of its own. This token should be used for rewarding miners and farmers according to their contribution to the system.
  • The DApp must use a standard cryptographic algorithm to generate tokens and have a fixed consensus mechanism similar to Bitcoin, which uses the Proof of Work algorithm for rewarding purposes.

Top Platforms for Developing decentralized applications

The most popular blockchain platforms for building dApps today are Ethereum, EOS, and TRON. In this section, we will briefly discuss the key features of each of these three platforms.

Ethereum

 Ethereum, or ETH, ensures security and enables true decentralization. However, ETH is not found to great when the need for the ability to process transactions at scale becomes paramount. Hence, your development platform is primarily driven by your need. For example, if your need for security outweighs the need for scalability, you may opt for ETH. However, if you’re developing a gaming or gambling app, then ETH is perhaps not the best choice of platform.

EOS

 EOS is not a truly decentralized platform. Currently, it involves 21 validators or ‘witnesses’ who verify the transactions based on a ‘Delegated Proof of Stake’ consensus algorithm. The validators are paid for voting and thereby securing the network. Validators who do not fulfill duty can be voted out. The obvious advantage is that the process offers scalability as new users can be onboarded much faster in the absence of network congestion. In short, scalability is achieved through a rationalized decentralization. However, the security of the platform is not foolproof as the various nodes may team up to sabotage the system.

TRON

 Similar to EOS, TRON functions on a ‘Delegated Proof of Stake’ consensus algorithm. It resolves the scalability problem not by attempting to sidechain but by scaling the main chain itself. This also allows it to have a much more transparent cost structure. However, it is not entirely protected as a truly decentralized platform would be. Users can still be locked out if the validators team-up.

Conclusion

Dapps have the potential of becoming self-sustaining resources. This gives the ability to the stakeholders to invest in Dapp development. This is an exceptional feature of DApps.It is expected that in the coming days, DApps can be used for multiple purposes such as cloud computing, payments, storage, etc. No doubt, this will soon surpass the currently available traditional applications.

Leave a comment