A modern model for creating highly scalable and profit-making applications is making its way to our regular lives these days. Bitcoin has gained popularity with features like peer-to-peer technology and distributed storage ledger. These features provide the building blocks for creating new type of applications which are called as decentralized applications, or DApps.
Being a new concept in the industry, DApps are getting a lot of media coverage. However, with their increasing implementation and emerging use cases, they are likely to be adopted and accepted by the people. DApps are known for being distributed, flexible, transparent along with having a better structure of incentivization than the current software models.
Decentralized Applications Introduction
DApps (decentralized applications) is one of the most intriguing terms used in the blockchain space currently. The term DApp is coined by combining two words- decentralized applications. In simple terms, DApps can be considered as applications, tools or programs that work on the decentralized Ethereum Blockchain.
According to the definition given by Wikipedia, “A decentralized application (Dapp, dApp or DApp) is an application that is run by many users 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.”
In order to understand the meaning of this definition better, let’s first try to understand how traditional web applications function and how are DApps any different? In traditional web apps, two important elements that make the system usable are the front end and the back end. These elements communicate with each other in the form of coding messages through the HTTP protocol.
There are multiple issues involved with such applications when compared with DApps. First of all, such application servers are hosted on a hosting service that uses a centralized architecture which leads to a single point of failure in case of a malicious attack. Moreover, taking down an application through a centralized server only requires the hacker to interrupt with the hosting service. When we rely on centralized servers, the data is more susceptible to attacks.
DApps — Image Source: EngineerBabu
When it comes to DApps, there are again two main elements involved. While the front end remains the same as traditional applications, the backend is formed in the form of an Ethereum blockchain. The communication between the frontend and backend happens in the same form as in the traditional app and the end user won’t be able to distinguish between both. In the case of using a DApp, it is very difficult to bring any application down as it requires to take down all the distributed hosting nodes which are practically not possible.
Taking an example for the same standard popular web applications like Facebook, Twitter and Instagram currently function on a centralized server model. The data of these applications is controlled by singular authorities and can be manipulated or changed according to need. Meaning that though there are millions of front-end users of these applications, the backend is still controlled by the individual organization.
Contrary to this, a DApp is distributed in nature and involves the participation of all the elements of the network in order to modify or take control of any information. DApps can run on both, peer-to-peer as well as blockchain network. When an application like Twitter takes a DApp based approach, no one has the authority to delete anyone’s tweet once it is posted on the network after running through the consensus mechanism.
The nature of DApps can be summed up as distributed, flexible and transparent as they have the potential to transform the technological landscape.
In the current times, we put our trust, data and vital information in hands of centralized applications that function through typical servers, databanks or standalone computers. This approach allows one single authority to have control over everything we do on these applications thus, putting our privacy at risk. On the other hand, the Ethereum network runs on a community-based model which operates in a distributed model.
Decentralized applications are very useful as they can be used to connect different people in marketplaces, sharing resources and storing them, maintaining cryptos as well as executing smart contracts without giving ownership to one central authority. Currently running DApps include tools for storage, security, and servers etc. Other than these, some apps are created in the form of digital wallets that allow people to manage their cryptocurrencies.
Though DApps are recently introduced with these many use cases, they have become popular and are in demand too. Some common features that make decentralized applications noticeable are:
DApp Features — Image Source: EngineerBabu
In closed-source applications, the end users need to trust the developers of the applications in terms of decentralization as they can’t directly access their data via any central source. Thus, closed-source applications are always subjected to risks for users when it comes to adopting them. DApps, on the other hand, is decentralized and open source applications. A DApp creates a new structure for business practices as it allows all the network participants to keep track of the happenings rather than one person. They are governed through autonomy and any changes in the DApp are decided through the consensus (the majority of users) The code base of a DApp should be available for scrutiny.
Before the introduction of Bitcoin, the validity of any transaction would always need some kind of centralization. In order to make a payment, the transaction was pushed ahead through a clearinghouse that monitored it. Decentralized applications work on a peer to peer (P2P) model, meaning that the nodes are able to connect with each other directly. In a DApp, a transaction is processed through a consensus mechanism. When the majority of the nodes approve the transaction, it goes ahead and gets processed. Also, the validators of the network are incentivized by rewarding them in the form of cryptographic tokens.
No Central Point of Failure
Since DApps are distributed and they don’t rely on one single server, there is no central point of failure. DApps allow the data stored in them to be decentralized across all its nodes. These nodes are independent of each other. In case of failure of one node, the other nodes won’t get affected and will run on the network accordingly. Different decentralized database systems like IPFS (Interplanetary File System), BitTorrent, and independent DHTs can be used to create DApps with this feature.
DApps can be classified into three different types according to the Ethereum white paper. Let us understand them one-by-one here:
Financial Blockchain Applications-
As the name suggests, this category will have Dapps that will provide users with methods of managing their finances and money. One example of this category is the Bitcoin which provides users with a distributed and decentralized system of monetization.
Since there is no centralization to the control of the network, no single authority is responsible for controlling all your money. The power and regulation of money lying in the hands of people of the network and the consensus protocol. Users are the owner of their money in these applications. Other than Bitcoin, various Altcoins have been created so far. These altcoins fall into this category.
Semi-financial Blockchain Applications-
This category is a mix of money and information that resides outside the blockchain. An example in this category is the insurance applications that allows money returns for flights in case of delay in arrival. Another example of this category is the ICO (Initial Coin Offerings). An ICO is nothing but a fundraising mechanism similar to the IPO with the only difference being the involvement of cryptocurrencies in place of fiat money.
ICO DApps are easy to structure as they apply technologies like the ERC20 Token Standard. Most of the ICOs function by having investors send funds to a smart contract in the form of bitcoin or ether. This smart contract stores the funds and shares an equivalent value in the form of a new token at a later point in time.
Fully Functioning Decentralized Applications-
This third category of DApps utilizes all the features of the decentralized and distributed systems. These kind of applications are the most popular kind of DApps and they do not need to be financial at any level. 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.
The Essentials Of DApps
In order to consider an application a DApp, the following criterion needs to be met:
- The application should be open-source and should function in an autonomous manner. No centralized single authority should have access to the majority of the application tokens. The DApp must adhere to the rules applied in the consensus mechanism used by it with respect to the proposed future upgrades as well as the market feedbacks. All the changes to be introduced in the app must be decided through consensus of the system users.
- 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 in the system
- The DApp must use a standard cryptographic algorithm in order to generate token and have a fixed consensus mechanism similar to Bitcoin which uses Proof of Work algorithm for rewarding purposes.
Consensus Establishing Mechanisms
DApps use two common mechanisms in order to establish consensus namely, proof-of-work (PoW) and proof-of-Stake (POS). As the name suggests, the proof-of-work mechanism is used as a consensus mechanism in blockchain and the reward distribution in this is done through based on the amount of work that each stakeholder contributes to the network or the DApp. The PoW mechanism is used in the Bitcoin blockchain and the consensus through which people are rewarded is termed as mining.
While on the other hand, the proof-of-stake mechanism allows any decision on the DApp to be made on the basis of the percentage ownership of the application by the stakeholders. For example, if a stakeholder of a decentralized application holds 25% tokens issued by the app, he/she carries 25% weight. The Omni Protocol utilizes the proof-of-stake mechanism.
It is not necessary to use one single algorithm among these two i.e. any application can use both of these mechanisms in parallel. An example of such case it the Peercoin. This kind of combination allows the DApp to consume less energy which is one of the major drawbacks of using proof-of-work alone and it also allows the application to become more resistant to 51% attacks.
Token Distribution Mechanisms
In order to distribute their own tokens in the markets, DApps follow three common mechanisms namely mining, fundraising, and development. The mining mechanism, as we discussed earlier, works on the PoW principle and it allows the maximum number of tokens to be distributed to the people who contribute the most of their work to the operation of the application. For example, Bitcoin allows token distribution in the form of rewards when miners solve a mathematical problem by using their computing power to verify a transaction and maintain the Bitcoin blockchain.
The fundraising mechanism is nothing but a method to raise money for the initial development of the application. This is carried out with the help of ICO, Initial Coin Offering process. People are presented with the app idea through a white paper, website, and proof of concepts and if they seem convinced with it, they can contribute to the application by raising funds for it.
In the fundraising mechanism, the tokens are distributed to the people who contribute to the initial development of the application. Consider the example of the Master Protocol for understanding this. The app tokens, Mastercoins were initially distributed to the people who participated in their ICO and sent their Bitcoins to a given address in exchange for Mastercoins. These Bitcoins were then used to fund the application development.
Third, comes to the development mechanism in which tokens are generated by utilizing a predefined mechanism. These tokens are available only for the development of the DApp. Taking the example of Master Protocol again, the application used a collaboration mechanism along with the fundraising mechanism to fund the future development. Around 10% of the mastercoins that were raised via fundraising were kept aside for development of the protocol. The availability of these tokens was based on a predetermined schedule and they were distributed through a community-driven bounty system.
Example — Image Source: Github
How Does A DApp Function?
In order for a DApp to function, the four essentials covered in the previous section need to to be implemented. This makes the DApp an open-source application which is implemented on decentralized blockchains. These apps are fueled with the tokens that are generated using a protocol.
The open-source nature of a DApp makes it fully decentralized and allows anyone to view and make contributions to the code. This also ensures the quality and quantity factors as it fastens the scalability process of product development.
Once these steps are taken care of, using blockchain to decentralize the application is the next in line. Blockchain technology allows you to create a permanent ledger for storing any kind of records. The next step is to add transactions and records to blockchain ledger with the help of tokens that are mined using different protocols or algorithms i.e PoW, PoS or both in some cases.
Popular Ethereum-based DApps
Golem is a DApp project that aims to create a global market for utilizing idle computing power. The concept of the project is to utilize the power of PCs and data centers to create a rentable supercomputer that can be used by anyone across the world.
Rather than relying on any central server farm, the project distributes the computational load to the “Providers” who are willing to rent their machines for computational work. These providers can share their resources in exchange for GNT tokens. The project holds a lot of potential and scope as it allows to decentralize the rendering process and is much faster and cheaper than the centralized options.
Augur — Image Source
Augur is an interesting DApp project which is based on the concept of combining prediction markets with the power of a decentralized network. It can be thought of as a decentralized market platform or a forecasting tool that allows you to make predictions for potential trading gains. It utilizes the “Wisdom of the Crowd” to make real world event prediction and uses and ERC20 token.
The Augur application has predicted many results that have been proven more accurate than the prediction of many experts in the real world. Augur is considered to be a prediction market prediction platform which will incentivize users when they make correct predictions for world events. Moreover, the market creators the holders of the platform tokens that report on events will also be paid or incentivized.
Status — Image Source
Defining itself as The Mobile Ethereum Client, Status allows mobile devices to act as a light client node. Based on the Ethereum network, it allows you to chat, browse and make your payments safely on the decentralized web. The DApp also enables you to access the entire Ethereum ecosystem from anywhere.
Users can send smart contracts and exchange payments with each other within the DApps messenger system. Since the app is operated on a peer-to-peer protocol, server downtime is not an issue.
Gnosis — Image Source
Similar to Augur, Gnosis is also a prediction market platform built on the Ethereum blockchain. The project aims to allow people to make accurate predictions about real-world events like elections, market prices, etc. Users of the platform are rewarded for making accurate predictions by Gnosis in the form of GNO token or other cryptocurrencies as per the project’s preset rules.
Gnosis allows developers to create their own custom prediction market on Gnosis through the available developer tools on the platform.
Prism is an Ethereum-hosted project by ShapeShift. It provides a trustless and decentralized asset portfolio market. It utilizes EDCCs, executable distributed code contracts, in order to generate custom management tools for market portfolios. With the aid of Prism, anyone can invest ether in different cryptos and specify the holding percentage they want.
Prism eliminates the need for third-parties and the complex process of saving and storing wallets and multiple private keys. Since the project is based on Ethereum Smart Contracts, the requirement of managing passwords and keys of different exchanges is eliminated. Moreover, it shows a person’s investment portfolio with an interactive UI and tracks everything automatically in real time.
Aragon — Image Source
Another ambitious project in the DApp series is Aragon. The Ethereum based platform allows people to create and manage a decentralized organization. Aragon is an open source project and is managed by the Aragon Foundation. The concept of the project is to eliminate the need for human trade and allows people to manage entire businesses and organizations using the blockchain.
The platform is created to build and manage DAOs (decentralized autonomous organizations). Aragon also includes ANT, the platform’s token, which provides voting rights for making decisions about the future development of the product. The DAO concept of Aragon can be used for any organization or a company or even any non-profit or foundation. It is expected to provide transparency and an extra level of effective governance for such entities.
Aragon also assists in curbing unnecessary third parties by replacing them with ethereum-based smart contracts. By eliminating geographical boundaries and paperwork, the platform aims to act as an extremely convenient digital jurisdiction for everyone.
Dapps have evolved with exceptional features which gives them the potential of becoming self-sustaining resources as they provide their stakeholders with the ability to invest in Dapp development. Observing their popularity, it can be established that in the coming days, DApps for multiple purposes such as payments, storage, cloud computing etc. will soon surpass the currently available traditional applications.
The unavoidable advancement of blockchain adoption will make numerous current practices obsolete. It might seem like a far-fetched outcome as of now, but services like banking can definitely adopt blockchain in the coming days and operate with trust-less, self-sustaining, and decentralized networks. Large corporations working in this direction to secure their place in the blockchain ecosystem is proof of that.