Classification of Blockchain-based DApps
According to the Ethereum white paper, DApps can be classified into three different types. Let’s talk about them one-by-one:
1. Financial Blockchain Applications
This category of DApps provides users with ways of managing their finances and money. For example, Bitcoin provides its users with a distributed and decentralized system of monetization.
There is no centralization to the control of the network, and therefore, no single authority is responsible for controlling all the money. The power and regulation are with the people of the network and the consensus protocol. Users are the owner of their money in these applications. In addition to Bitcoin, there are various Altcoins that have been created so far and they fall into this category.
2. Semi-Financial Blockchain Applications
This category includes both money and information that resides outside the blockchain. For example, insurance applications that allow a refund for flights in case of delay in arrival.
Initial Coin Offerings (ICO) is another example of this category. An ICO is basically a fundraising mechanism similar to an IPO with the only difference being the involvement of cryptocurrencies in place of fiat money.
It is easy to structure ICO DApps because they apply standards such as the ERC20 Token Standard. Most of the ICOs operate by having investors send funds to a smart contract in the form of Bitcoin (in case of bitcoin blockchain) or Ether (in case of ethereum blockchain). This smart contract stores the funds and shares an equivalent value in the form of a new token at a later point in time.
3. Fully-Functioning Decentralized Applications
This third category of DApps uses all the features of both decentralized and distributed systems. They are the most popular type of Blockchain-Based DApps and are not financial at any level. For example, applications for online voting or decentralized governance. Countries such as Dubai have already begun building the first blockchain-run government.
Advantages of Using DApps
Following are the advantages of using DApps:
DApps don’t have a single point of failure because no single node controls the data transaction or data records in this P2P decentralized network. Its distributed nature supports this very strongly.
2. Prevents Internet Censorship
As there is no central controlling authority owning a DApps network, it controls and prevents the Internet Censorship violation. It is practically impossible to manipulate with data sets in an individual’s favor. This means that not even government authorities can try to block a DApp because, being decentralized in nature, DApps don’t depend on any particular I.P address.
3. Increased Trust on the System
Again, because DApps are not owned by a single entity, users have more confidence and trust that their data will not be stolen or manipulated with.
Disadvantages of Using DApps
DApps are not perfect and come with their own set of disadvantages. Following is the list of these disadvantages:
1. Updates and Bug Fixes are Not Easy
It’s difficult to fix any issues in DApps because fixes require every peer in the network to update all the copies in the network, which can be a daunting task.
2. KYC is Not Easy
Most of the current centralized apps depend on user verification, which is quite easy given that a single authority controls and verifies it. But DApps don’t have a single entity responsible for doing KYC verification, and this makes it challenging to build DApps.
3. Complex to Scale
There are complex networks and protocols to be implemented in DApps to achieve consensus for data validation. For this, the entire DApp needs to be planned and built considering the scale from the very beginning. This is not the case with centralized apps, where you can first build an MVP and then later on balance the system according to requirements.
4. Fewer Evolved Third-Party DApps
In the current centralized app mechanism, we often have to depend on third-party APIs for fetching certain third-party information. However, with DApps, we don’t have this leverage because currently there is no such large third-party DApps ecosystem in place.
DApps have to interact with other DApps for their API needs, which is a disadvantage because they cannot access APIs through a centralized application.