With the rise and growing adoption of blockchain technology, focus is turning to a particular segment with immense potential - Decentralized Applications (dApps).
In 2021, daily unique active wallets connected to dApps increased seven times, reaching an all-time high of 2.7 million at the end of last year. Trading volumes were also higher than ever.
This helps underscore the kind of interest dApps are experiencing - and why you should take note of it.
Today we’re taking a look at what is a dApp and all you need to know about the Decentralized Applications.
What Are Decentralized Applications (dApps)?
dApp is an abbreviation for decentralized apps. Simply put, a dApp is an application that runs on the blockchain or a peer-to-peer (P2P) network of computers instead of a single computer (or centralized servers).
dApps (also called "dapps") are essentially just like any other app or game you might have on your mobile device, for example, with the major difference being that dApps are built and run on decentralized networks like Ethereum.
Thanks to decentralization, dApps don’t have a single authority or controlling entity, and so they rely on a community for verification and validation purposes.
Currently, dApps are being developed for a wide variety of purposes, from finance and gaming to social media, marketplaces and entertainment.
CryptoKitties is an example of a popular dApp.
Now that we know what a dApp is, let’s take a closer look at how exactly they work.
Characteristics of dApps
Most of the apps available today are centralized, meaning that they are controlled by a centralized entity. They provide all the data and systems that are necessary to run operations.
Think of Uber, Instagram or Twitter. All these traditional centralized apps run on computer networks entirely owned and operated by an organization. Here, users have no say or authority over how the app functions.
With dApps, however, operations are run through smart contracts, which are easily accessible to anyone as they are based on open source code. This means that dApps operate autonomously, without a particular authority in control.
But wait - what are smart contracts?
Smart Contracts Explained
A smart contract is an essential component of the blockchain and can be defined as a self-executing digital contract with the terms of conditions of an agreement between two sides being automatically verified and executed via a computer network. Once smart contracts are deployed on a decentralized network, they can't be changed.
As mentioned before, dApps can run on a P2P (peer-to-peer) network or a blockchain network. BitTorrent is an example of a P2P network where a community of participants receive, send and share data without a third-party intermediary.
So far we have established that decentralized apps:
Are decentralized: apps operate on open public decentralized platforms where no one person or group has full control. Decentralized storage is also another key feature.
Are open source: All required changes are decided upon by a consensus of the majority of users. This requires the codebase to be available to all users for evaluation.
Offer cryptographic security: Decentralized blocks of data are validated and proven true.
However, there are a few more important aspects to keep in mind.
dApps are both built and run on a blockchain system - commonly using the Ethereum network. The app is validated with the use of cryptographic tokens, which are needed to access the application. In the case of Bitcoin, the largest example of a decentralized app, the mining process provides new coins to those who lend their computer's capacity to process transactions, ensure security, and maintain synchronization of the whole network.
Benefits of decentralized applications
There are a number of features that make decentralized applications a great asset. They provide the following benefits:
The program's ability to safeguard user privacy is one of the biggest advantages of a decentralized app as it’s not required that users give out their personal information to access an app’s functionalities. dApps use smart contracts to complete the transaction between two anonymous parties.
Once a dapp is set up, it runs independently by a community of users, without external tampering or third-party involvement. This means that decentralized applications (as suggested by the name) also do not depend on centralized, hierarchical entities to make decisions or implement changes.
Data stored on a blockchain is nearly impossible to be tampered with or otherwise changed as a blockchain’s consensus algorithms ensure data stored is protected and resistant to change. Also, thanks to a fault tolerance feature, whereby even if a single node in the network is functioning, the decentralized platform would still be available, it would also be unlikely that a hacker could target enough nodes to neutralize a dApp.
Once a smart contract is deployed on the blockchain, the network is always able to serve parties looking to interact with the contract. As such, hackers cannot launch denial-of-service attacks targeted towards individual dapps. Flexibility: The Ethereum blockchain is a flexible platform, enough to enable the quick development of dApps for different industries, providing an infrastructure that developers can use to focus their efforts on creating innovative digital applications.
Drawbacks of Decentralized Applications
Decentralized applications are still in the early stages and as with any emerging technology, they are subject to unknowns. Investing in a decentralized environment has the following weaknesses and disadvantages:
There are some question marks as to whether these types of applications are able to scale effectively compared to centralized networks. This can be a challenge if running an app requires a big amount of computational resources, leading to severe network congestion.
DApps are, for now, challenging to maintain and update as any changes need to meet the majority consensus of users in a blockchain network.
Conventional apps are usually easy to use for common digital audiences, who are accustomed to a certain type of user interface. dApps must match these expectations and experiences, which can be challenging when end users have to adapt to new processes such as using private and public login keys instead of the usual usernames and passwords.
Performing code modifications is another limitation posed by dApps as the data and code published to the blockchain are hard to modify making it hard for developers to implement enhancements, fix bugs and address security risks.
Examples of dApps
The most popular case of a decentralized application is Bitcoin. But there many are other examples to illustrate a more concrete idea of this type of blockchain application, including the following Ethereum dApps:
Golem: This is a decentralized marketplace for computing power. It consists of a network of nodes that implement the Golem network protocol. Through the system, anyone who has idle computing power can give it to the Golem network, in exchange for tokens. It’s used for a vaerity of puporses, includin ug sed by artists to render animations made with computer graphics.
Peepeth: A blockchain-powered social media platform alternative to Twitter powered by the Ethereum blockchain. The network aims to “promote mindful engagement, both online and offline”, while giving users control over their digital legacy thanks to how their data is stored in the blockchain.
TraceDonate: is a donation platform powered by blockchain technology that offers end-to-end transparency. It connects charities to donors, facilitating transparency. Users can donate to individuals and appeals connected to the platform by international NGOs and humanitarian organizations. All funds can be tracked via a digital wallet.
Cryptokitties: As a play to earn game, CryptoKitties has become one of the most successful dApps on the Ethereum blockchain out there. Players can breed and collect virtual kitties in return for native tokens that can also be traded for real-world money.
How do dApps work?
Not to get too geeky, but there is a simplified version of how dApps work:
- dApps rely on backend code, typically a smart contract.
- This digital contract helps setting the actions needed to run the dApp according to the terms and conditions written (coded) into the smart contract.
- If the requirements of the contract are met then an action or transaction is executed inside the P2P network. All details are properly recorded and stored in the blockchain.
- If conditions are not met, dApps actions are neutralized and the system returns to its initial state.
Of course, dApps are a whole lot more complicated than what we just tried to explain. In case you’re interested in knowing more and learning how to develop your own dApp, we suggest you check out tutorials like this one and resources like Ethereum’s own introduction to dApps.
Like conventional apps, dApps can be a gateway into a wide array of digital experiences. They’re already being used by social networks and financial institutions, but soon they might become a usual sight in gaming, productivity and marketplace apps.
The benefits that come from decentralization are certainly drawing the attention of companies and investors who are looking to seize the next great evolution in apps to create applications that can bring more value to users, while also being more secure and protective of private data.
As such, we can expect that dApps will become an alternative to traditional applications as blockchain technology continues expanding and proving its many benefits for society.