Since the advent of the web, Internet users have had little or no control over the data available on the platform. However, decentralized technology seeks to change that. Better known as blockchain technology, a blockchain network is like a “decentralized appstore” where a developer can publish decentralized applications (dApps). Unlike traditional applications like Spotify or Instagram, decentralized applications work without an intermediary. For instance, if Instagram were a dApp, it would never need Facebook to function! To understand the concept better, let us delve deeper into the details of blockchain technology.
Writing in their 2016 book, “Blockchain Revolution,” Alex and Don Tapscott define a blockchain as an incorruptible digital ledger. They say, “The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.”
Imagine a spreadsheet replicated several thousand or even millions of times over a network of connected computers. Then the platform’s design regularly updates the “spreadsheet” every time a new transaction happens and stores the transaction in a manner that is unalterable. This, in a few words, defines the blockchain network.
A revolutionary characteristic about blockchain is literally anyone with the appropriate skill set can modify blockchain’s source code. This kind of open source permission enables users to build on the original code and improve the application.
Users can also fix broken links from their end without having to obtain permission from the original developer, or owner of the application. Take for instance an application like Facebook. Facebook is not an open source application. Facebook stores all the records of transactions and data that users share over the network on a “centralized” server located near the Facebook main offices in Menlo Park, Ca. In case of a problem on the network, only Facebook engineers/software developers with the permission to access the servers can correct the problem on the network. Any other individual that tries to gain access the network through the “backdoor” or without permission is an intruder, or a hacker to be precise.
Clearly, the blockchain network does not have a centralized control. This network is the most correct illustration of the age old proverb that says, “It takes a village to raise a child.” In simple terms, the platform works better on collaboration and developments by different minds. Although the goal might not be the same, the end result of different efforts is the same. Instead of a single computer (think Facebook), the blockchain runs on a point-to-point network of more than one computer, hence decentralized. The development of dApps occurs on this decentralized feature of the blockchain.
Like earlier discussed, a decentralized application does not rely on a central command post. At this point, it is important to note two types of dApps exist, those created before blockchain and those developed afterwards. Basically, a decentralized application is one that runs on a P2P network of computers. The applications remain outside the purview of concentrated control from a single computer. Before the blockchain, P2P networks existed on which such applications as BitTorrent BitMessage and others run.
The idea behind a P2P network brings participants together with a single goal. For instance, BitTorrent brings together users who want to download files and at the same time store them or seed so that other users can also access them at a different time. In this scenario, there is no central command post that determines what files to share and what not to. So long as the file is seeded, users can have access to it. The traditional P2P networks, however, supports few users at a time.
Interestingly, this is where dApps based on the blockchain network differ from the traditional P2P networks. The blockchain network can have a countless number of users at the same time. This means that users can access the decentralized applications in as many numbers as possible without crashing the network.
For an application to qualify as a dApp in the blockchain sense, it has to exhibit the following features:
1. Open Source
As earlier discussed, unlike closed source applications, this kind of application “changes the structure of its business practices so that the Internet is common denominator.” It lets the users tweak it and play with it to make it suit their preferences. An open source application does not deny access to any information stored on the system.
2. Internal Currency
Every blockchain system has a way of compensation to the miners. The application has a native token that gives users access to the platform. A user’s contribution of value in turn receives a reward in form of the token that is native to the network. In simpler terms, this is similar to monetizing the application. Contrary to centralized apps where monetization can only be achieved through transaction fees, advertising revenues and referral commissions, users of dApps get rewarded in the native tokens or appcoins. For instance, on the Bitcoin (BTC) network, users with computing power get rewards in bitcoins from the system itself. Users can receive bonus coins when they signup or can sell their local storage space in exchange for bitcoins.
3. Decntralized Consensus
Unlike centralized applications that need an intermediary to function, dApps operate over a peer-to-peer network. In technical terms, the nodes in dApps “talk to each other directly.” The network stores data in a highly unalterable form. This eliminates trust issues between peers on a blockchain network. This property excluded the need for a centralized point of validity, or unlike the traditional P2P networks that force not nodes to trust each other.
4. No Central Point of Failure
Most interestingly, the decentralized nature of the application makes it virtually impossible to bring down. The dApps run on a blockchain network stored on many servers. Therefore, the lack of a single server to crash guarantees application continuity. Each point or node on the network remains independent and relies on its own local storage. If one node fails, other nodes on the network continue running like nothing happened.
Hopefully, this gives you a rough idea of what a decentralized app is and how they work. Now, get out there and create your own!
This article should not be taken as, and is not intended to provide, investment advice. Users are ultimately responsible for the investment decisions he/she/it makes based on this information. It is your responsibility to review, analyze and verify any content/information before relying on them. Trading is a highly risky activity. Do consult your financial adviser before making any decision. Please conduct your thorough research before investing in any cryptocurrency and read our full disclaimer.