The crypto industry has not only come to bring us deflationary assets like BTC, but also as a gateway to decentralization. In a decentralized network there can be decentralized applications, which we call Dapp (decentralized application). In today’s article we will look at what a DApp is and if it is so different from an app.
What are DApps?
A Dapp (decentralized application) is an application created on a decentralized network that combines a smart contract (smart contract) and a user interface (frontend).
The backend code of a Dapp runs on a decentralized P2P network. This is a point where it differs from a “normal” application, since in a “normal” application the backend code is executed on centralized servers.
Just like a “normal” app, a Dapp can have the frontend code written in any language. But your frontend can be hosted on decentralized storage.
Properties of a DApp
Although DApps can be different and designed for multiple purposes, they all share the same nature. The most distinctive feature DApps have are:
- Decentralized (As its name indicates). It operates on an open public decentralized platform where no one person or group is in control.
- Deterministic. It performs the same function regardless of the environment in which it is run.
- Turing complete. You can perform any action with the necessary resources
- Isolated. It runs in a virtual environment so that if the smart contract has a bug, it won’t hamper the normal operation of the blockchain network.
How do DApps work?
Once both parties agree to the conditions in the contract, it is put into operation, remaining autonomous and immutable. The contracts specify what actions must be executed depending on the fulfillment or not of the conditions.
It is not easy to modify a smart contract and that is good. However, for the modification of a contract, the consent of all the servers in which it is distributed is necessary. This means that if there is a change in the code, when it is replicated in the other servers and compared, the modification of the contract will be evident.
Electoral systems could be an excellent example for the implementation of DApps. If the system is decentralized, no government or group in particular will be able to modify the results or the conditions without it ceasing to coincide with the rest of the servers that make up the decentralized network.