What are Decentralized Application?
With the wave of the Internet, we have been seeing many applications for more than a decade. Moreover, with the launch of app stores such as Apple App Store and Google Play Store, there has been an explosion in the number of apps that we have seen.
However, now all these apps may as well become a thing of the past? Why? Because we have a whole new stack emerging for developers and a new type of application called a Decentralized Application or Dapp, for short.
Though the Dapps are often associated with blockchain, they do not need to be on the blockchain necessarily. Dapps are applications that run on a peer-to-peer network of nodes as opposed to a single computer. We have seen examples of P2P networks before the blockchain as well such as BitTorrent and Tor.
Blockchain is a specific type of a decentralized, P2P network which became extremely popular since Satoshi Nakamoto used it for Bitcoin.
The main difference between traditional applications and decentralized applications on the blockchain is in their architecture.
The traditional applications work on a client-server model which is centralized. These applications have a front-end or a UI which is visible to the user. The front end then uses some API in order to get the information from the database and display it to the user.
A decentralized application also has a front end to display information to the user but it uses the smart contract in the background which in turn gets the data stored in the blockchain.
The logic of a dApp is given by the smart contracts which in case of Ethereum are written in Solidity(most popular and stable), Serpent or LLL. Often there are several smart contracts in the backend that communicate with each other to facilitate the functioning of the application.
For decentralized storage, developers can use InterPlanetary File System (IPFS). It is a protocol and network designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system (Source).
There are three types of dApps:
Type 1 dApps – Type 1 dApps are applications that have their own blockchain. Eg:- Bitcoin, Ethereum, EOS etc
Type 2 dApps – Type 2 dApps are applications that use the blockchain of type 1 dApps. Tokens are necessary for the functioning of such dApps. Eg:- Omni Protocol
Type 3 dApps – Type 3 dApps are applications that function by using the protocol of type 2 dApps. Eg:- The SAFE network uses the Omni Protocol to issue safecoins.
Further, there are criteria for an application to e considered as a dApp. These are as follows:
- All the protocols and the data related to the dApp should be stored on the blockchain.
- They should be open source and autonomous. This implies that there is no central governing body authorizing operations and all the transactions are executed through the consensus of the network.
- Tokens should be generated using a consensus algorithm that incentivizes users to generate such tokens
- Finally, the tokens generated should be used to reward the participants as well as ensure the functioning of the network
- Vevue project – Vevue allows users to take a 30-second video of their neighborhood and other places, on the request of other users, to earn bitcoin or Vevue tokens
- BitShares – It is the original decentralized exchange that is built on the blockchain and functions as a DAO
- Weifund – It provides a crowdfunding solution through a blockchain. You can understand it by basically viewing it as a decentralized Kickstarter.
- Provenance – It is using blockchain to make supply chains more transparent
These are just some examples of decentralized applications to make you realize the potential of this technology. Almost every concept of every tech company can be replicated through these apps and thus, there’ll soon be need of new business models to operate in this new decentralized economy.