Decentralized applications, or dApps, are software programs that have their backend code running on a distributed computer network. This is in sharp contrast to standard apps which typically run on centralized servers. This, combined with other blockchain-driven innovations, gives dApps some distinct characteristics and advantages over their centralized counterparts. However, at this relatively early stage of their development, dApps also have their fair share of drawbacks.
In this article we will be taking a closer look at what makes dApps special, what benefits they bring and what challenges they need to overcome to become a genuine challenger of the centralized model. So,
What are dApps?
Now that we have a general definition of decentralized apps, we can delve deeper into the nature of this fast-growing space. But first, it has to be noted that decentralized applications existed long before the advent of distributed ledger technologies and there certainly have been platforms – the original Napster and BitTorrent come to mind – that have utilized peer-to-peer networks to a great effect. However, it was blockchain technology, more specifically Ethereum’s rise to prominence, that popularized both the concept and the ‘dApp’ moniker.
So why Ethereum? After all, blockchain technology is a fair bit older than Vitalik Buterin’s creation, with more than a few blockchain protocols having already been around for years when Ethereum burst on the scene. Well, the short answer is smart contracts.
As we’ve already discussed on these pages, Ethereum was designed to be a general-purpose blockchain capable of building and supporting all kinds of applications. To achieve that, Ethereum came with a Turing-complete language called Solidity and utilized an old concept inspired by the design of vending machines. It was Ethereum that popularized the use of smart contracts for blockchain applications. Even after the emergence of several prominent challengers Ethereum has remained the leading platform for smart contracts and, consequently, dApps.
Smart contracts are the lifeblood of decentralized applications. These self-executing programs are used to define the logic of decentralized applications. A smart contract is essentially a dApp, as it already brings some backend functionality to its native blockchain system. Couple that with a user interface capable of making calls to the backend and you get something that resembles a conventional app, but runs on a blockchain. Of course, you can write multiple smart contracts to add more functionalities and build more complex applications.
What is the difference: Centralized vs decentralized apps?
Given the ubiquity of centralized apps and our familiarity with them, the question arises whether we even need dApps in the first place. After all, the centralized model is working fine and in some respects is arguably better than the decentralized approach. And indeed, at their current state dApps have plenty of kinks that need to be ironed out. However, they also have some pretty significant advantages that hint at their great potential even at this early stage of dApp’s evolution. So let’s see what dApps bring to the table and how they fare against their centralized counterparts.
This is one of the areas where decentralized apps shine. Because of their DLT nature, dApps are inherently very secure. Decentralized systems based on blockchain or other distributed ledger technologies avoid the single point of failure problem inherent to systems that rely on centralized servers. Furthermore, blockchain and DLTs feature robust consensus mechanisms that make them very resistant to malicious attacks. Another big advantage of DLT systems is that they are immutable, meaning that information stored on such systems cannot be changed or otherwise manipulated.
This is one of the problem areas for the current generation of blockchain platforms and decentralized applications. It all stems from the limited scalability of blockchain technology, meaning that most blockchain networks today struggle to process large volumes of transaction data at once. This often creates network congestion, especially when there is high dApp activity. One high profile example was digital collectables game CryptoKitties, which became so popular shortly after its 2017 release that it clogged up the Ethereum network.
The scalability problem also translates to higher costs for using a blockchain network. Since processing transactions requires paying miner fees, network congestions cause significant cost increases, as users need to pay more if they want their transactions to be processed faster. Ethereum, in particular, has a long history of rising gas prices due to high network usage.
Solving the scalability problem has been one of the priorities for the blockchain community. Ethereum already has a number of Layer 2 scaling solutions that are showing promising results. The platform is also undergoing a major transformation, as it is moving from a proof-of-work to proof-of-stake and is introducing sharding. Both of these upgrades come as part of the Ethereum 2.0 project and are aimed at making Ethereum more scalable, lowering transaction fees and power consumption.
One of dApps’ biggest advantages is that they, unlike centralized apps, are open and permissionless. Since public decentralized systems like Ethereum are not controlled by anyone, there’s no way to restrict access to a particular dApp. This also means that there is no censorship in decentralized apps. However, the open nature of dApps has even greater significance when we consider its impact on the development side of the sector.
The fact that all dApps are essentially open source allows for developers to build on top of each other’s work, to combine and recombine different elements from various projects to create new types of applications and services. This encourages innovation and allows the space to grow and evolve in interesting and often unexpected ways.
What are some use cases of DApps today?
Thanks to its capacity for attracting development talent and stoking innovation, the blockchain space has already become home to various kinds of decentralized apps and developers are constantly exploring new ways for utilizing the technology. There are already several areas where dApps are showing great potential such as: DeFi, Enterprise Solutions, Gaming, Digital Collectibles, and more.
Decentralized finance (DeFi)
Unquestionably the strongest use case for dApps at the moment, DeFi applications are attracting significant investor interest, fueling a market that is currently worth over $40 billion. The rapidly growing DeFi space is looking to challenge traditional finance by introducing new ways to borrow and lend money, as well as enabling the creation of innovative financial services such as liquidity mining.
Blockchain-powered solutions have the potential to disrupt a range of industries and help businesses achieve better growth and operational efficiency. We’ve already seen enterprise-grade dApps making an impact in a number of industries, including supply chain management, healthcare and pharma.
Gaming and digital collectibles
As already mentioned, the first dApp to achieve significant popularity was a game. Following CryptoKitties’ launch, a number of similar projects have tried to replicate that dApp’s initial success. And while none of these have been able to reach quite the same popularity, games like Decentraland and Gods Unchained prove that there is still significant demand for gaming dApps. Furthermore, the recent boom of non-fungible tokens has illustrated the viability of blockchain-powered digital collectibles.
While blockchain technology still has some growing up to do, there is already a strong case for decentralized apps. And as the technology continues to mature, dApp development will only get bigger, enabling more sophisticated applications to be created and new categories of dApps to emerge. It remains to be seen whether decentralized apps will be able to overtake conventional apps, but it certainly seems that they have a significant role to play in our digital future.