Decentralized Applications
The general definition associated with decentralized applications (DApps) is an application that functions through a peer-to-peer network as opposed to a single source or computer. The existence of such an app in cyberspace does not depend on a single authority. It can operate under a blockchain network or any other form of the peer-to-peer system (read more about blockchain here). Moreover, it is important to understand that the definition of these applications can differ with respect to the institution. The notion of blockchain originates from the concept adapted by bitcoin which uses cryptographically-stored records. There are limited tokens in the system as a means of checking the value of the currency. Different DApps exist for different purposes but the key property of the application is the independence from a traditional single server database.
Differences between Decentralized, Centralized, and Distributed Network Systems
These networks differ regarding the type of control system utilized to send and receive instructions. First of all, the term ‘decentralized’ refers to a network where there is no single primary center which serves as an origin of data and instructions. Each node in the system is independent and the general status of the entire network is an aggregate outcome of all nodes. Secondly, the centralized system is the exact opposite of the one described above. It has a central node which controls the functions of every other node in the system and dictates the general status of the system. Examples of popular centralized apps are Amazon and Facebook. On the other hand, the distributed network is a sort of hybrid of these two networks. The processing of duties, data, and instructions occurs through numerous nodes even though some responsibilities may be given to specific nodes. A distributed network implies that the processing of instructions occurs through the use of multiple nodes with no particular center of control.
The image below from the Etherum founder Vitalik Buterin’s Medium article elaborates the general structures of these networks:
The Criteria for Being a Decentralized Application
- Open-source – The term ‘open-source’ asserts that the application in question should be autonomous in nature. This means that there is no single power which regulates its usage. There may be changes pertaining to its function but they must originate from a majority of the users.
- Crypto-graphically stored records – This condition refers to the nature of the blockchain. It means that the information about the app is crypto-graphical and exists within the public domain. The developer of such an app does this in order to lower the weaknesses associated with single databases.
- Usage of a cryptographic token – The user needs to have a token in order to utilize the application. The general idea is that they should use a token native to the network. A good illustration would be the popular exchange of bitcoins.
- It must generate tokens – There should be a proof of work in form of tokens. In effect, the nodes present in the system produce tokens as “the standard cryptographic algorithm that acts as a proof of the value”.
Benefits of Decentralized Applications
- The concept of decentralized applications takes full advantage of the economic resources available in cyberspace. These applications improve the pricing of different resources for the benefit of all users owing to its competitive nature. No single entity can manipulate the system to derail any group of users.
- The proof-of-work mechanisms are an authentic means of establishing the input of any user. The process of gaining value (mining) correlates to the percentage of ownership. As a result, no single user can claim ownership of the program.
- These apps increase the flexibility of the cyberspace to users. A quick comparison of these applications with the traditional centralized network shows that the former reduces bureaucracy and promotes virtual movements without hindrance or legality of some kind. In fact, the apps ease the process of making transactions online or sharing files.
Classification of Decentralized Applications
First created by David Johnston of Dapp Fund and adopted by the blockchain community, DApps tend to have varying categories depending on the nomenclature used. The most common criterion on the market is through analysis of the blockchain used. This suggests that some application use an individualized blockchain while some utilize those found in other applications. In so doing, the DApps have the following categories:
- Type I
The type I DApps utilize an individualized blockchain and not from any other application. This category is highly popular in the modern world and includes applications such as Litecoin.
- Type II
These applications tend to utilize the blockchain from a type I application. The most distinguishing feature in this group is the fact that they are protocol and require tokens for basic function. A good example of such an application is the Master Protocol.
- Type III
DApps from this group relies on the “protocol of a type II application”. Similar to those of type II, the applications here have protocols and need tokens to function. Johnston and his colleagues assert that “A hypothetical cloud protocol that uses the Master Protocol to issue ‘cloud coins’ that can be used to acquire cloud computing services would be an example of type III decentralized application”.
Johnston and his colleagues denote that the simplest way of understanding the type I of DApps is comparing it to a computer operating system such as Linux. Then, programs such as MS Word are the type II while customized software mounted onto Word like a grammar correction application is the type III. Therefore, there is a line of succession in which the next level of application requires the previous application to operate. Keep in mind that this is just an analogy to increase comprehension and the same thinking should be used in network systems.
Examples of Decentralized Applications
Bitcoin: The whole idea of bitcoin became popular after Satoshi Nakamoto, an internet user, developed it. He termed the system as “a Peer-to-Peer Electronic Cash System”. The inventor sought to alleviate problems of bureaucracy and corruption linked to centralized currency systems. Moreover, he wanted a currency which transcended national boundaries and united the world. The application is a DApp because of three main reasons. The bitcoin system is an open source and no specific authority has control over it. In fact, all data concerning the system are accessible to anyone using the internet. Seemingly, the system is sovereign because it produces its own tokens (bitcoins) through miners. The miners secure the network and as a result, receive bitcoins as a means of compensation. In essence, every user becomes part of the management. Lastly, all the amendments associated with the system arise as a consensus of those involved.
Augur: The application functions as a virtual market for prediction of outcomes. Augur is classified as a DApp because of its autonomous nature of rewarding specific users. The outcome of any event is obtained from the aggregate votes of all clients in the network. As a result, those who come up with the correct prediction receive rewards while those who do not are penalized. Another interpretation of the app is saying it is a virtual betting site with no particular owner and utilizes the principles associated with Ethereum. Interestingly, the operations are free from government or any other outside interference. Therefore, the process is fair and transparent to all the participants. The tokens in this app are ‘reputations’ (REP).
Factom: It uses the cryptographic technology to relieve daily problems by developing a permanent database for businesses. This implies that the information placed within the Factom is unchangeable and this promotes authenticity. It can be considered a type II DApp because it relies on the bitcoin blockchain. Additionally, it utilizes cryptographic isolation to protect the records from interference. Internet users can use the application to store private information from the public eye. People can classify it as either decentralized or distributed protocol owing to its autonomy and ability of one user to access the information if needed. This app improves the versatility of bitcoin blockchain by transcending the financial aspects of the original design. The tokens within the systems are ‘factoids’ and provide access to users.
Conclusion
In this article we looked at different rules, types, and elements that constitutes DApps and some examples of them.
Today, most of the DApps are in research or in development stage, however, the community is thriving with many new developers who are active in developing and utilizing many different networks such as NEO and EOS (Testnet). DApps are not an ultimate solution to problems that can be solved with technology but it definitely has its place in today’s centralized internet. Soon I hope to see a massive adoption of blockchain technology kindled by development and usage of DApps.