What Is a DApp?
At this point in the rapid development of blockchain and its related technologies, there should be no surprise at hearing just about anything being prefixed by the word ‘decentralised’. After Googling What is DeFi and What is a DAO for the tenth time, you can probably hazard a guess at what this latest trending contraction in the digital world means.
That’s right, dApps are Decentralised Applications — essentially, the blockchain version of your standard (now referred to as Centralised) mobile or web applications. The key difference between the two is ownership. Standard, or centralised, apps are fully owned and managed by a central company — Meta owns Facebook, Microsoft owns Office 365 and Riot Games owns League of Legends. This means that the underlying code (often proprietary) belongs solely to the parent company, all returns made from sale of the apps go to them and any assets within the application are also their express property. In contrast, a decentralised application aims to move ownership over to the users. The code is usually <ahref=”https://kpjackson.medium.com/how-open-source-technology-can-solve-world-problems-d7aeba98b17a” rel=”noopener”>open-source, meaning that anyone can see the inner workings and make enhancements or additions to it. DApps are hosted on blockchain networks, which means that on top of the source code being visible and collaborative, each user also has access to the entire ledger of changes and is essentially tasked with managing the security of the application. Any assets created within the app belong to the user who created it and can be sold or traded accordingly. Revenue brought in by the app in general is often distributed among all users, based on the logic of the smart contract that it operates on.
The Case for the DApp
Why do we even need dApps, you ask? As many would say, if it ain’t broke, don’t fix it. The standard apps we use today continue to work just fine, and as we’ll understand later, are in many cases even easier to use and manage than their decentralised counterparts. So the question remains — Why build dApps at all? Like with most things in the world of blockchain, an application hosted on a decentralised ledger promises a level of privacy that is not guaranteed (and which has actually become something of a joke) with centralised apps. Since all transactions on the blockchain are made with encrypted code and users are pseudonymous, one can be pretty confident that their information is safe. There’s no need to trust a single organisation with the security of your sensitive data on a database along with millions of others under their control.
These apps would also naturally resist censorship, which is often a sore spot for users of traditional apps. Imagine a decentralised social media app where anyone can publish messages or comments but once it is posted, not even the creator can erase it from the system. This would be monumental for free-speech proponents as well as simply for promoting online accountability. Downtime would not be expected to be an issue since these applications are all run on a broad peer-to-peer network of computers and not a centralised server that experiences power outages and failures. In addition to these benefits, the open source nature of dApps encourages faster, more collaborative development than might be achievable with a standard app.
The Struggles We Face
Now, even with all the positive potential of dApps, there are crowds of naysayers and quite a few difficulties developers face in getting even the best of them to go mainstream. App users (especially those who have no knowledge of software development) have grown accustomed to the ease of use and practical nature of today’s centralised applications. Mimicking these user-friendly interfaces with blockchain-based coding is still a challenge, which means that we would have to put up with outdated or deconstructed-looking UX’s for some time.
The big topic in most circles as relates to cons of the blockchain is the issue of scalability. This is just as much a problem for decentralised apps as for any other system operating on the ledger. Because of how work is stored on p2p ledgers in proof of work (PoW) mode — by each participating node verifying every new record — the more transactions pushed through the blockchain, the longer it will take for them all to be processed. This is the phenomenon known as latency — typically perceived as a lag. While developers are coming up with ways around this particular issue, it severely limits the extent to which dApps can be built out before usability is all but diminished due to high latency.
On top of these problems, one of the very properties of decentralisation that makes the blockchain so useful, creates a huge setback for dApp maintenance. When a new transaction is verified by the users on the blockchain network, it becomes an irreversible record of truth. Placed in the context of app development, this would mean that once a dApp is created and released, there will be no easy way to fix bugs or make changes or upgrades to the code. As we’ve all come to appreciate and expect constant updates in the apps we use today, a static dApp will likely not become or remain as popular as ever-current, centralized apps do.
In a more short-term capacity (because it’s already being addressed by a number of organisations), mainstream acceptance of dApps is also being hindered by the lack of a strong, working, decentralised marketplace for all dApps. Magic Spaces is one of the first dApp marketplaces on the scene, and Trust Wallet is joining the fray with its Trust DApp Browser gaining traction. Still, where the App Store and Google Play currently host just about every app you can think of in the land of centralised activity, there is yet to be a go-to home for them on the blockchain.
What This Means for the Future of the DApp
In reality, the odds are currently stacked pretty high against full implementation of decentralised applications into mainstream use. They will certainly be needed however, to round out the whole decentralised ecosystem so we can expect developers to keep working to find loopholes and create efficiencies in their creation.
For right now, many dApp developers are making do by centralising certain aspects of their code or <ahttps://medium.com/unpluggd-digital” rel=”noopener”>side-stepping the main blockchain as needed to make certain things work. While this is an affront to the blockchain purists, the approach has led many to believe that hApps — hybrid applications — and not dApps, will eventually be the way forward. Time will tell how this unfolds and what level of decentralisation is ultimately achievable. Either way, the integrity and true limits of the blockchain will be rigorously tested along the way and the process is certain to leave us with some interesting and useful new capabilities when all is said and done.