DApps
Decentralised Applications (DApps) are blockchain-based applications that allow users to interact with smart contracts deployed on the blockchain. dApps provide features similar to those provided by traditional consumer apps, but they utilize blockchain technology to give consumers greater power over their data by removing the need for centralized data management, thereby rendering the service “decentralized.” Thanks to decentralized apps, or DApps, you no longer have to go through a company or single authority to connect to people or the goods and services you need. Unlike conventional apps, DApps aren’t owned by a single entity, they never have downtime, and they cannot be shut off. This novel breed of application is quickly changing the app game and the world.
What Are Decentralized Apps (DApps)?
Decentralized Apps (DApps) are open-source software applications designed to run on peer-to-peer (P2P) blockchain networks rather than centralized servers. DApps are similar to web apps, but they’re P2P-supported. Due to the efforts of various smart contracts development platforms, Decentralized finance (DeFi) and DApps are becoming more and more popular. Essentially, DApps are applications just like any other, but instead of running on a single server, they run on decentralized P2P networks. This means there is no single central authority. Since they’re built on decentralized networks supported by distributed blockchain ledgers, DApps can be continually improved and built upon by others once the codebase has been released. This makes their control by a single authority virtually impossible. The use of blockchain allows DApps to process data and execute transactions through distributed networks.
Criteria of DApps
In 2014, a report was released defining DApps. In it, DApps were defined as entities meeting the following four criteria:
Open Source
The first and most crucial criterion for a DApp is that its core source code must be available to everyone. It must be user-controlled and work without any third-party intervention, and no entity can own more than 50 percent of the tokens or coins issued. While it was created several years prior to Ethereum, which is the blockchain network most DApps are built on, Bitcoin is an excellent example of a DApp, as its code is open-source, it has no majority owner, and it’s governed by a proof of work consensus mechanism.
Decentralized Blockchain
As their name suggests, DApps use decentralized blockchains. In fact, to be considered a DApp, all information must be stored in an openly accessible blockchain to keep the app free of centralized authority and invulnerable to any central point of attack.
Incentivization
Since DApps are based on decentralized blockchain networks, everyone who validates their records must be incentivized or rewarded with digital assets, such as cryptographic tokens. These tokens serve as payment to miners and stakers, who are necessary for the DApp’s continued operation and growth.
Protocol
A DApp must run according to a protocol, and the development community must agree on a consensus cryptographic algorithm as a means of showing proof of value.
History of DApps
If you were born post-1995, you may not have heard of some of the earliest decentralized applications. The most famous were Tor, BitTorrent (which was influential in the naming of Bitcoin), LimeWire, and the infamous Napster. However, back then, the term “DApp” didn’t exist. If it did, no one knew it, and it certainly wasn’t a part of everyday nomenclature like it is today. It wasn’t until P2P file sharing, which preceded blockchain, that DApp usage really started taking off. Websites leveraging BitTorrent protocol, for example, are still widely used around the world today.
The Present DApps
Today, however, DApps are mostly talked about in relation to blockchain, as many decentralized software startups utilize the technology’s native properties as foundations for their apps. By leveraging existing networks, there’s less need for development costs. Their key characteristics:
- Works on the underlying technology, Blockchain.
- dApps are open-source, which means code is public, and hence anyone can copy and audit it.
- They are decentralized, meaning they are not governed by any central authorities like Facebook, Airbnb, etc. Thus, no central authority can stop users from using the app or doing what they want.
- Such applications use smart contracts, which automatically execute when the desired conditions are met.
- Most importantly, these apps are global, meaning anyone around the globe can publish or use these dapps.
That said, as mentioned, decentralized applications have continued to evolve with blockchain technology, and presence of a developer-friendly framework and ecosystem. These contracts are immutable and have rules and limitations built right into their code. This allows any party to transact without the need for an intermediary or centralized platform.
How Do DApps Work?
A DApp is executed and stored on a blockchain network utilizing various tokens native to other networks as well. Cryptographic tokens are used to validate the app and are required to access the application. In many ways, DApps are quite similar to conventional apps, as they both render web pages using the same front-end code. If you’re still wondering what DApps are, it’s the back-end code that makes them different, since they run on decentralized P2P networks. While traditional applications are supported by centralized servers, DApps are supported by smart contracts stored on a blockchain. A smart contract mediates transactions and enforces rules written into the code. While important, they only exist on the back end and make up just part of the complete DApp. Creating a DApp based on the use of a smart contract system requires combining a number of smart contracts for the back end. For the front end, third-party systems are used. Smart contracts run on a ledger of data stored in blocks. Rather than being stored on a server in a central location, the blocks are dispersed across distributed locations. Each of the data blocks are linked and governed by cryptographic validation. Using this decentralized blockchain as well as smart contract technology, DApps can be created and used for almost anything, including:
- Web browsing
- Social media
- Gaming
- Crypto wallets
- And much more!
Pros and Cons of DApps
DApps run on distributed systems and aren’t owned by a company or individual, giving them their own unique advantages. Of course, because technology is always changing, DApps are works in progress. Let’s go over their pros and cons.
Pros of DApps
More Secure Than Regular Web Apps As you now know, DApps don’t rely on a central server. Because of this, they’re often regarded as being more secure than traditional centralized applications. Given the rampant security breaches taking place these days, anything you can do to secure your data should definitely be a priority.
Never Lose Data
Since DApps are hosted across expansive decentralized networks, there’s virtually no need to worry about data loss. If one of the blockchain’s nodes goes down, all of the other nodes pick up the slack to ensure your data remains in sync — and that you don’t miss a beat.
Data Is Cryptographically Encrypted
Each node of a blockchain syncs with the others to accurately track every action taking place within the network. This is how new transactions are verified. Would-be attackers must control a majority of the network’s computers for a successful intrusion, but even then, they must bypass cryptographic encryption. While this alone isn’t impossible, it’s extremely difficult within a distributed, decentralized system. That being said, there’s no absolute guarantee of data safety these days, regardless of which type of app you’re using.
No Content Guidelines
Not only must conventional, centralized apps act according to their country’s laws and regulations, but they must also follow the Terms & Conditions they themselves arbitrarily set when deciding which content they should and shouldn’t publish. DApps, on the other hand, have no central authority telling community developers and users what they can and cannot say, which transactions they can or cannot make, or even what blockchain data they can read.
Cost Efficiency
Centralized apps often have higher costs. For instance, applications like YouTube profit by taking a percentage of what their users earn from their video postings. Apps that are decentralized allow users to transact directly through the use of cryptocurrency. They are thus more financially efficient, and have no middlemen to cut into profits.
Less Downtime
With greater flexibility and more robust than centralized apps, due to their lack of connectivity to a single central server, DApps can run with minimal downtime and fewer interruptions for maximum resilience and continuity.
Faster Transactions
Executing global transactions takes place very quickly, as no third parties exist to approve each one. Since transaction approval is based on consensus algorithms within the network, expensive third parties can be eliminated and transactions can be executed much faster.
Cons of DApps
Difficult to Maintain Having no central authority also means slower updates. Even fixing a minor bug requires majority consensus among every peer in the network. With this governance structure, it can take weeks and sometimes months before a problem can be fixed and an update made.
Network Effect
DApps also require a sizable user base in order to operate properly. The more users an app has, the more effective it will be in delivering its services. This is known as the network effect. DApps suffering from low user numbers, make them less interactive and diminishing the overall user experience.
Difficult KYC Process
Since DApp users aren’t required to provide their real identities when interacting with the apps, verifying the identities of customers can be challenging.
Possibility of Data Breaches
For starters, while these apps do away with the possibility of data breaches on centralized servers and data systems, their open-source nature does leave them vulnerable to hacks and scams. Since they’re open-source, hackers have opportunities to probe blockchains and their networks in search of weaknesses. Fortunately, as decentralized app technology continues to expand and user bases grow, the industry is acting to make hacking blockchain networks increasingly difficult. Some of the strategies currently being worked on include smart contract debugging, eliminating copy-and-paste errors, fixing faulty app logic and implementing regular audits. While DApp creators are taking steps to fix these issues, as more and more DeFi projects hastily launch without proper funding and auditing protocols, the hacking problem persists.
Web Apps vs. DApps
The majority of apps today operate on centralized networks owned and maintained by a controlling authority. Streaming services, social media networks and financial institutions all hold your data on servers. When accessing these apps, their servers receive a request and they send the result back to you after validating your credentials. This generates enormous amounts of user data, which results in exposure to hacks, as well as big tech companies profiting from it.
DApps
These shortcomings have led to greater data security awareness and increased interest in blockchain technology. Decentralized by nature, blockchains eliminate the need for third-party intermediaries. Thanks to automated smart contract usage and shared consensus, Ethereum-based blockchains and apps can be completely decentralized, and function without Big Tech getting in the way. For example, if you want to send some crypto to a friend using a DApp, all you have to do is log in to your personal crypto wallet, choose the amount to send, and then confirm the transaction. A smart contract then does the rest and completes the exchange. A permanent record of the transaction is created after being verified by blockchain validators.
Web Apps
Centralized web apps don’t work this way. When sending U.S. dollars to a friend using Venmo or another centralized web app, the process takes place on a centralized network, with a bank or other company handling every component of the transaction. Not only do they decide on the validity of the transaction, but they also own the data. Everyone from Twitter to Trello uses web apps, but every single one consists of both a front end and a back end. For example, when you open up the Twitter app or access it on your web browser, the Twitter web server (back end) goes to work supplying data to the display feed (front end).
Web Apps vs. DApps: Further Considerations
While huge amounts of data are channeled through the internet via centralized servers, blockchains share the transactional burden with scores of machines over a distributed network. Both websites and DApps work similarly on the front end to render available pages viewable on the internet. On the back end, however, a DApp communicates with a large blockchain network via a wallet. Your wallet is responsible for managing your blockchain address, as well as the cryptographic keys needed to verify your identity. If a DApp is Ethereum-based, a smart contract is used (rather than HTTP protocol) to communicate back and forth with the blockchain and carry out transactions.
The Future of DApps
Despite still being in its early stages, DApp technology is really taking off. Already, there are thousands of DApp solutions offering a vast array of services. From playing games to trading NFTs and investing in DeFi, you name it — and there’s a DApp for it.