Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
There is generally a lack of clarity on what a âdAppâ is, especially with the wide array of technologies that have come about in recent years, starting with the Bitcoin blockchain.
Some of the belief is that a dApp is exclusively a smart contract running on a blockchain, such as Ethereum. In particular, with the popularity around ICOâs in 2016â2018, this has been a widely-accepted definition. There has been an assumption that a dApp runs on a blockchain or requires the blockchain to operate, whether it be for smart contracts, payments, or other purposes.
Decentralized Services
A dApp, also known as a âdecentralized applicationâ, is an application that is built upon one or more decentralized services. Blockchains are one of these decentralized services, but there are many others. What is a decentralized service, then?
Simply, it is a network of peers that can intercommunicate to collectively provide some sort of service, in a P2P (peer to peer) fashion, where there are no centralized servers that control the network.
Every participating server in a P2P network is effectively equal in terms of âcontrolâ and importance in the network, much like a flock of sheep or swarm of bees (without a queen). Often, such P2P networks are referred to as swarms.
A dAppâs backend logic could use any combination of the following decentralized services:
- File storage (IPFS, Storj Labs, Sia Tech, etc)
- Edge cloud storage (NOIA, etc)
- Edge data store (Bluzelle, etc)
- Immutable data storage + smart contracts (ethereum, NEO, Zilliqa, etc)
- Computing (Golem Project, SONM, etc)
These are just examples and is not a comprehensive list. A typical dApp will be designed to use the right mix of decentralized services for its back-end.
A dAppâs front-end can run on devices such as phones, browsers, kiosks, etc. It is the back-end that powers the application that determines if it is decentralized or not.
Pre-blockchain dApps
Decentralized applications have been around long before the blockchain was âinventedâ in 2009, with the widespread release of the Bitcoin blockchain. For example, in 2001, the Torrent protocol was created and resulted in the release of P2P clients that enabled the sharing of files. This version of Torrent was not completely decentralized, as it still required trackers, which were centralized servers that tracked who had the files or portions thereof. But in 2005, a trackerless version of Torrent came out, where the system was now completely decentralized. Torrent is the best example of a widely-used application that is decentralized and uses no blockchain technology whatsoever. It is the best example of a very early dApp.
The Centralized Internet
Practically speaking, there are many aspects of the Internet that dApps have to still make use of, that are still centralized. These include DNS (powered by centralized root servers), IP networks (powered by telcoâs), and other infrastructural technologies. In the discussion of dApps, we need to take the practical stance that some of these fundamental technologies that power basic Internet services required for dApps will still be relatively centralized for the time being. We take the approach that it is the services we use on top of the Internet that dictate if our application is decentralized or not.
Partial Decentralization
Furthermore, there will be applications that are only partially decentralized. For example, some games might be available through platforms like Steam or an AppStore on Apple or Android. They might be tied into payment networks like Paypal to take payments, despite the fact that they store all their data on decentralized services. It would be acceptable in many of these cases, to call these partially decentralized applications. The decentralized services stack is not yet complete, and so partial decentralization will be a practical reality for the time being.
Conclusion
In closing, I hope this article clarifies what a dApp is, and what it is not. The definition is much broader than what most people think. A dApp is an application whoâs back-end infrastructure is driven by P2P participants with no centralized form of control.
What is a dApp? was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.