We are hearing this term a lot lately but, what are Decentralized Apps?
We tell you all the characteristics that a dApp must fulfill, its advantages and disadvantages.
First of all, we must clarify (although for many it already seems obvious), what “dApp” means. This acronym comes from the union of the words Decentralized App. That is to say that they are digital applications that run on a network of blockchain computers, avoiding dependence on a single computer. Being decentralized, dApps are free from the control and interference of a single authority that acts as a mediator.
What are the benefits and innovations of dApps?
A dApp can provide the benefits of a centralized app based on the storage of information in a cloud, but without the need for data centers in the cloud, which means a very big problem for users in terms of security and privacy of their data and movements.
To solve this, dApps offer an alternative that uses the same technology used in the already well-known cryptocurrencies, NFTs or ICOs.
How centralized apps work
These days, the most used digital apps on a daily basis, such as Social Networks, file saving systems in the cloud (as we said above), etc., have a basic structure consisting of a “client” app or web app running on your device or browser, which are communicated with a server somewhere specific.
Whether the browsing data is processed on the local “client” device, or downloaded to the server’s data center, the local client applications synchronize information and movements with a central system. This means that everything the user does is controlled and visualized by that centralized entity that runs that system behind the app the user is using.
One way to try to prevent our information from being so “visible” to the provider of that platform is to use end-to-end encryption as a privacy measure.
But then, how do dApps work?
For dApps to work, you need (as in a centralized app), computers that fulfill the functions of traditional servers, but with the difference that these do not all belong to a particular company/organization/group.
In the case of dApps, the computers that function as servers at the service of the operation of the application belong to different users in a decentralized manner, who make their computer systems available, so that there is no monopoly of information.
We have to know that, when we refer to a dApp, we are talking specifically about applications that depend on the computing power of the blockchain to function.
In general, dApps usually run on the Ethereum network.
But what is Ethereum? In short, Ethereum is a cryptocurrency, just like Bitcoin, but with much more potential in its functionality. The Ethereum blockchain can run and “hold” more complex things, such as Smart Contracts and other dApps. The possibilities are endless. And it is to this day that developers continue to surprise us with the most creative and interesting solutions and applications.
Now, what must a dApp have to be classified as such?
- Transparency: Its data and records must be public.
- Open Source: Following the line of the previous point, anyone should be able to use its code.
- Decentralized: It should not be under the control of one group, company, individual, etc. The dApp must have several distributed “nodes” that guarantee that there is no exclusive control of the information.
- The dApp must be secured with a cryptographic token: To guarantee the security and privacy of the data.
Well, given that there is talk of non-centralization in this type of system, there is no entity that enforces the following points/items. Nor is it something mandatory when building a dApp, they are only suggestions to review as users, and issues to consider to achieve a dApp built correctly if you are a developer, or looking to create a decentralized application. It is up to you to decide which of these features are important to you.
What are the advantages and disadvantages of dApps?
First let’s talk about how dApps were “born”. Well, that’s no mystery. And it is that many people were (and are) really tired of technology companies having so much control over our data, movements and transactions on the web.
But this brings up another important problem: What happens if the whole system is hacked? Who guards the servers that contain my information and how?
This is a problem of centralized systems. They generally rely on a server with poor security measures (for these times), which are easily breached by hackers hungry for the bounty in exchange for a loot as big as a database.
In other words, when a data center is hacked, all the information is in one place. And, if a government, for example, decides to censor a service, it has a single, centralized location to target.
So what is the big advantage or solution that dApps bring? By not having a centralized place or entity to address or “poke” at, the service cannot be shut down or corrupted. If a dApp is open source, there is no way to hide backdoors in the code.
Another big advantage is the connection that dApps have with cryptocurrencies because both systems use the Blockchain to function. In the case of dApps as we said, most of them are developed on the Ethereum blockchain.
In this way, the dApp facilitates transactions with cryptocurrencies within the application, which is very useful for example, for the payment of services, paperwork, fees, etc.
There are many ways to link the owner’s identity to his crypto wallet. But you can see more about wallets in this article.
Another great advantage that decentralized applications present is their ability to use the so-called “sidechain” or L2. These networks run in parallel to the main blockchain, but have their own independent operation (with some change or improvement for usability) and connect to the main blockchain through a “bridge”.
Now, let’s review some of the reasons why dApps have not yet achieved the success that could be expected from this concept.
First, we must review the business models of traditional centralized applications vs. dApps.
In decentralized applications, this is generally non-existent. This is because dApps are usually developed and driven by community agents, and unlike centralized apps, they lack the kind of usability resources and promotion strategies that traditional apps have. In addition, if the dApp does not have many users to support it and contribute (as we said) their resources, the user experience can be slow. This is the crux of the conflict, since a good group of users is necessary for it to work smoothly. But at the same time, not many users are willing to use something that doesn’t work well yet. So an endless flow is generated, in which dApps often find it difficult to advance and gain recognition and usability.
Finally, a big disadvantage of dApps is that because they run on open source and rely on the principle of transparency, this gives hackers a unique opportunity to find and exploit vulnerabilities that would normally be hidden. But the advantage in this case is that the security and privacy tools of decentralized systems are stronger and more secure than those contained in centralized systems. Besides, as we said before, it is guarded and distributed in several nodes, so it is not so easy to weaken their security.
How is the cost of using dApps calculated?
In most cases of dApps, you do not pay a subscription or download fee, etc. In these cases, this usage cost is paid based on the computational power it demands, or the storage it requires.
For example, in the Ethereum network, in the form of a gas fee or transaction fee, which is a variable fee depending on the demand for operations demanded at that time. The currency to be used is the one designated by the network where the dApp is developed. The payment is made in exchange for completing transactions on the blockchain that the dApp needs to perform in order to do its work. For example, in the case of Ethereum, the gas fee is paid in ether.
But we are going to look at this in more detail in an article fully dedicated to the Ethereum network.