Dapp
Decentralized applications, also known as dApps, are applications built and run on the blockchain, meaning that they operate on a “peer-to-peer” network. When compared to centralized applications that are built by and report to a certain company, dApps are autonomous and not controlled by any central authority. Namely, there are 3 key characteristics that separate dApps from normal applications:
- They are run on the blockchain network, meaning they’re decentralized.
- They are open-source and not controlled by anyone.
- They are transparent as all of their records are public.
- They reward their users with tokens to keep the network secure.
Even though it is still early days for dApps, they have offered a new way of looking at software to the world. Their unique features allow developers to think outside of the box when creating new applications and have already made a significant impact on financial software. On the Ethereum network, for example, users can use dApps and smart contracts to make fair and legit trades without the need for an intermediary.
Summary of Important Points
- DApps are applications that operate on a peer-to-peer network, and because of this, they have a couple of unique features that traditional apps usually don’t.
- The app logic of dApps is written into smart contracts, and they are run on the Ethereum blockchain.
- dApps are open source, which means that they are easily upgradeable through code modifications and allow for easy integration with cryptos.
- Because dApps are not perfected yet, they still deal with some issues like hacking attacks, somewhat poor interfaces, and low usage at this time.
How Do dApps Work?
DApps can only be built on a network that supports smart contracts such as Ethereum, as the backend code of a dApp is essentially a smart contract itself. DApps have a user interface so users can interact with them, though even the front end of a dApps is hosted on a decentralized server. To understand how dApps work, we have to first understand what smart contracts are and how they work.
Smart contracts are pieces of code that live on the blockchain that can be used to create a program that can later do tasks. One key thing about smart contracts is that they only run according to the set of rules that are built into them. A common use for smart contracts is exchanging cryptos between two traders, without the need for a third party. Because the rules of the trade are written into the code, the smart contract will only be run when both parties fulfill their end of the agreement.
Advantages and Disadvantages of dApps
Because of their decentralized nature and the fact that they are not owned and controlled by anyone, there are a few distinctive qualities that dApps possess:
- Cannot be censored: DApps don’t answer to any government bodies or corporations, which is an immense plus for a financial application. Furthermore, this means that users cannot be banned for their opinions on dApps, which is not the case in some centralized apps.
- Zero downtime: The blockchain is a peer-to-peer network consisting of hundreds of thousands of computers. Unless all of them decide to shut down at the same time, it is hard to imagine any downtime for dApps.
- Easy integration: Since they are made up of smart contracts themselves, integrating a cryptocurrency into a dApp would be a breeze, allowing for better scalability.
- Open-source: Because all dApps are open-source, it encourages developers to continuously build new features and upgrades for the existing ones, as well as create new ones.
However, dApps are not perfect, and there are some disadvantages they have too:
- Hacking attacks: Malicious attackers are always on the prowl for weaknesses in the network through the usage of smart contracts.
- User interface: The interfaces of most dApps are not the most user-friendly, though this is something that is being worked on every day.
- A relatively small user base: dApps are relatively new and not nearly as popular as most traditional apps.
Differences Between Centralized and Decentralized Apps
Unlike dApps, centralized apps are not open-source, which means that we cannot see into their code. In simpler terms, we don’t know the algorithms behind apps like Youtube and Facebook or the algorithms they use to give us recommendations for videos or friends. This is the main difference between dApps and centralized apps - everything is transparent & open-source, so you’ll know exactly what you’re getting into from the start.