Decentralised apps: what are dApps?
What does dApp stand for? What are dApps used for? What is a dApp? Many people have no idea, so let's start from the very beginning.
Cryptocurrencies are the most visible and best-known use case for blockchain. But this is far from the only way to use this technology. Decentralised apps (dApps) are an excellent example of how the blockchain is much more than just cryptocurrencies.
Once you put an app on the network, it's there forever along with all its data (unless thousands of blockchain users unanimously agree to remove it). You may even get sued for its content, but the content itself will remain there. — Kate Haskova, Head of Delivery at 8allocate.
What are the decentralised apps?
Decentralised apps, or dApps, are computer apps that run on a distributed network. They don't have a "central authority", and their performance is provided exclusively by their community of users. The developer company creates software that performs a specific function, and users install it on their devices. dApps' performance also depends on users' devices.
The first decentralised apps appeared with the advent of peer-to-peer (P2P) networks. BitTorrent, Popcorn Time and Tor are examples of decentralised apps that run on P2P networks. But it was with the rise of blockchain technology that dApps began to flourish. Strictly speaking, cryptocurrencies, including Bitcoin, are a particular case of decentralised apps. Further on in this article, when we talk about decentralised apps, we will be referring to blockchain-based dApps.
The differences between apps and dApps
The main difference between a decentralised app and a centralised one is that it doesn't have a central decision-making node. The backend code of traditional, centralised apps runs on a centralised server. In contrast, a dApp backend code runs on a decentralised network.
This critical difference has several advantages for dApps:
- Fault tolerance. In the case of standard apps, if the central server fails, it will cause the app to stop working. For dApps, this problem doesn't exist since the failure of one network node won't have a noticeable effect on the entire network.
- The ability to withstand an influx of requests. Generally speaking, the total computing power of a decentralised network is higher than that of a single server. That means that a sudden influx of users won't cause slowdowns and disruptions in the app's performance. Moreover, this applies to both legitimate users and DDoS attacks.
- Scalability. Developers of a standard app with an increased number of users have to increase their server capacity. There's no such need for decentralised apps; the network's capacity grows with the number of its participants.
- Resistance to unwanted changes and censorship. The lack of a single control centre makes it challenging to change something in an app that isn't approved by the participants and to censor its content. dApp users usually have full control and ownership of their data and assets.
- Enhanced security. The centralised processing unit opens up security vulnerabilities and gives hackers a place to attack. It makes dApps much more secure than a regular app.
- No need for an intermediary. Traditional apps rely on intermediaries to complete transactions. Decentralised apps connect users and service providers directly.
- No downtime. The decentralised app continues to work even if individual nodes of the network go offline.
Of course, this difference also has some disadvantages.
- Introducing innovations and improvements is difficult compared to regular apps.
- It's poorly suited for apps with few users.
- dApps are little-known and see slow growth in user numbers. So far, the concept of dApps is young and unknown to many potential users, which slows down these apps' development.
dApps also typically have some other distinctive features:
- Decentralised apps are usually open source. Anyone can view the source code of such an app, which increases trust in it.
- dApps use their own digital currencies (tokens), which allows users to access certain functions.
- All decisions regarding the network, including the validation of transactions, are made based on decentralised consensus.
Types of dApps
One of the most common ways to classify dApps is by the type of blockchain used:
- Apps built on their own blockchain. Bitcoin and Ethereum are the most famous examples of this kind of dApp.
- Аррs that run on blockchains of Type 1 apps but use their own tokens. An example of such a dApp is Augur, which is built on the Ethereum blockchain.
- Apps using Type 2 source codes to function. An example is the SAFE Network, which uses Type 2 app Omni Protocol to issue its tokens.
Another way to classify dApps is by their purpose:
- Financial apps. They give users the tools to manage their finances, both fiat and crypto. They help users manage their savings, wills, etc.
- Partially financial apps. They involve working with money, but that isn't their primary purpose. Examples of these are bonus and point systems within loyalty programmes as well as gambling apps.
- Non-financial apps. Such programmes have nothing to do with money at all. These can be services for personal identification, conducting polls and voting, decentralised file storages and more.
In addition, dApps generally fall into one of two categories:
- Anonymous dApps. Each participant of the dApps networks is essentially anonymous.
- Reputation-based dApps. In these dApps, node operators keep track of nodes to maintain trust.
How do dApps work?
DApps are open source software, which means everybody can see the dApp's code and contribute to it. dApps' front ends use the same technology as traditional internet-based apps. They interact with a back end code that runs on the decentralised blockchain, allowing all the transactions made within it to be recorded. To fuel these transactions, dApps usually use some kind of crypto token. Finally, to reach an agreement and finalise a transaction, dApps use a consensus algorithm, such as Proof-of-Work, Proof-of-Stake or others.
Examples of decentralised apps
Now that we know what dApp stands for and how they work, let's look at examples of decentralised apps.
Although the Bitcoin's blockchain isn't as convenient as Ethereum in terms of creating dApps, the popularity of the world's first cryptocurrency has contributed to the creation of some apps based on its blockchain.
- The Lightning Network was created to solve the Bitcoin's scalability problem by transferring transactions off-chain and increasing the throughput capacity of the Bitcoin network. The Lightning Network works as an additional structure to the Bitcoin blockchain. That structure allows users to create payment channels within itself. Since these channels are established between two users, transactions made by these channels will be very fast and cheap.
- Factom is a decentralised platform based on the Bitcoin blockchain, like an additional top layer. It's designed to store an unlimited amount of data that cannot be tampered with, as well as to confirm its authenticity quickly. It can store contracts, documents, apps, etc. One of Factom's users is the US Department of Homeland Security.
Unlike Bitcoin, Ethereum was made precisely as a platform for creating decentralised apps. It has its own programming language, Solidity, which was developed and designed to create smart contracts, the technology that powers modern dApps. Despite its scalability issues and strong competitors, Ethereum remains a popular choice for dApps development.
- Augur is a decentralised platform built on the Ethereum blockchain. The platform is designed to create event prediction markets. A user can place a bet on the outcome of an event to receive a reward. The least likely results will bring more rewards if they come true.
- Golem is a decentralised platform that provides the infrastructure to create a global market for computing power. Golem lets users buy or sell computing power worldwide. Golem is an open-source, decentralised supercomputer that anyone can access. It uses the computing power of users' computers.
EOS is a blockchain-based platform for developing dApps and one of Ethereum's competitors. Initially built on the Ethereum blockchain, it was later moved to its own. Unlike Ethereum, EOS has zero transaction fees and much faster transactions. At the same time, EOS itself isn't a decentralised platform, since it's controlled by the company Block.one.
- Everipedia is a public universal Internet encyclopaedia with free content implemented on wiki principles. At the beginning of August 2018, Everipedia switched to the EOS blockchain platform. As a result, Everipedia became the world's first decentralised encyclopaedia, which makes it protected from censorship.
TRON is a blockchain project and a decentralised environment for creating and hosting digital entertainment content. The platform is a kind of worldwide entertainment network that operates on the blockchain without a central governing body.
- 888 TRON is one of the most popular TRON gambling platforms. It's essentially a decentralised casino that aims to be the biggest online gambling platform on the TRON blockchain.
The future of dApps
Currently, the number of decentralised apps is growing rapidly. At the time of writing, there are 3,757 dApps on the decentralised app aggregator website stateofthedapps.com. At the same time, the decentralised apps industry is at the very beginning of its development. For now, we can only speculate which industries dApps will have an impact on:
- Real estate
- Elections and voting
- Social media
- Internet of Things
- Identity verification
- And many more.