What are decentralized applications or DApps?
Decentralized applications or DApps (acronym for Decentralized Applications) are a type of applications built on decentralized technologies, whose objective is not to depend on centralized servers so that control of data and information is always in the hands of the user.
The concept has gained great interest since the advent of blockchain technology. Above all, with the irruption of smarts contracts in Ethereum, whose potential made it possible to build such applications. The theory started to become reality when the first decentralized applications on Ethereum began to be designed, in the form of decentralized exchanges (DEXs) such as Venice Swap. That is, decentralized P2P exchange platforms. The boom of DApps coincided with that of ICOs. DApps allow users to access different services securely, using the different devices in their possession (PCs, smartphones, etc.).
DApps or popular decentralized applications
What is DeFi? All you need to know about decentralized finance
What are decentralized applications (DApps) and how do they work?
You are probably wondering what elements make it possible for a DApp to work. The simplest explanation can be offered by dividing DApps into different parts:
DApps and traditional apps share many elements in common. For example, both need a computational infrastructure and programming languages to create the logic necessary for their operation. The most marked difference between DApps and traditional Apps starts here:
- In a DApp, the computational power comes from a network of decentralized nodes that is usually organized through a blockchain or other decentralized infrastructure. While in an App, the computational power generally comes from our computer (client-side apps). Or from the server (server-side apps), which denotes a high centralization.
- Both use programming languages for their logic, but each language is different, depending on the target where the application is deployed. For example, a DApp on Ethereum uses Solidity for on-chain smart contracts, but may also use other general languages (Python, JavaScript) to create interfaces and other additional functions that may or may not be fully centralized. Whereas a traditional application uses languages of a general nature. That is, not related to blockchain, to generate this logic.
At this point, let’s look at the example of Uniswap and learn a bit about how this DApp works. Uniswap relies on many smart contracts on Ethereum. Some smart contracts that are the ones that watch over the pools and all the operation of exchanges and tokenomics of this DEX. This part is decentralized in its entirety and is written entirely in Solidity.
However, the web, its user interface and related services are another story. When you connect to its web, you are connecting to a centralized server, which relies on libraries and functions written in non-blockchain languages. Like JavaScript, for example. And it has a number of centralized services that allow it to function as a web service (e.g. CloudFlare).
So, we have two very clear layers:
1. Backend: the layer that refers to the logic of the decentralized application and that is generally fully developed in smart contracts.
Frontend: the interface that users use to interact with the application.
This leaves us with a clear message: Uniswap as it is currently built is partially decentralized. If its centralized (web) services go down, most people will not be able to access Uniswap in the usual way.
Smart contracts and personal data
Not fully decentralized
The above is a small part of how a DApp works. Let’s imagine that the decentralized application has a need to store data. Generally, in a centralized application this is not a problem. The storage is given locally or on the server. But a decentralized application can use decentralized alternatives such as IPFS, Filecoin or Sia, for that purpose. While there are still parts that can be centralized, most of the DApp is decentralized as much as possible. In this case, the named options are perfect for decentralized data storage.
Another point is communication with the decentralized network that underpins the application. In the case of Ethereum, developers generally rely on a reputable third party such as Infura, which is part of the ConsenSys group. In this way they can reduce costs, access the full power of Infura and speed up the development of their applications. However, this point leads to centralization. Therefore, options such as Ankr were born, which offers almost the same services, but in a decentralized network. The need for these services is clear: the DApp must communicate the user with the blockchain to perform operations. Otherwise, the DApp does not work.
For example, when we connect our MetaMask wallet to Uniswap, such a connection generally enables Uniswap to know what tokens and balances we have. At the same time, it enables any operation, past, present, or future, to be performed. In this aspect, Infura services, both on the Uniswap and MetaMask side, are the ones that make the interaction possible.
Decentralized Finance (Defi) Applications and Use Cases
Security, decentralization, and privacy
Finally, DApps offer us access to great advantages. These include security, decentralization, and privacy. DApps are especially secure due to their decentralized operation. This applies especially to blockchain-based applications, where the use of cryptography and the very nature of the blockchain make them very secure.
On the other hand, the fact that the applications are decentralized ensures that censorship can be kept at bay in the use and enjoyment of such applications. Finally, the privacy offered by such applications is superior. Undoubtedly, privacy is the fundamental element for wanting to switch to a decentralized application model.
Would you like to know more about DApps and decentralized exchanges? Visit Venice Swap.