DApp Development: What You Need to Know?

What is DApp?

DApps are decentralized applications. To help explain this term, a comparison with the usual applications that users download to their smartphones will help. In classic applications, the developer – one person or a large company – has complete control over the application, and the program code is located on the company’s computer or servers. For example, a company can change the rules for using the application and its functionality or close it altogether. Only the application owner can make any changes. The user cannot influence its operation in any way. For example, you installed a regular application and found a bug. All you can do is write to technical support or leave feedback. You cannot open the code and make changes to it. The developer can only do this.

No single center exists in decentralized applications because they work on blockchain technology. Users can openly view the code and suggest any changes. If other users support these changes, they will be made. In other words, the user community has control over the application. For example, if you find a bug in a decentralized application, you can always find the open-source code, make the necessary changes to it to fix the bug, and invite the community to vote for the new version of the code. If it supports you, the application code will be updated, and the error will be fixed for all users.

Criteria that DApps must meet

Not all applications that use blockchain are decentralized. They must meet four criteria:

  1. The application is open source. This will allow users to check it, find and fix errors, and improve the application. Changes can only be made by user consensus. To work with DApps code, you can use services for hosting and collaborative development of IT projects – for example, GitHub or Netlify.
  2. The application uses the blockchain as a decentralized database.
  3. The application has a reward system. Users who provide the computing power of their devices for the operation of the application have the opportunity or should be able to receive a reward in the form of tokens for this.
  4. The application generates tokens. To do this, it has a built-in consensus algorithm according to which tokens will be issued. The consensus algorithm is a cryptographic algorithm according to which user devices decide to add new information to the block. This process requires computational power, so the mechanism was initially based on the issuance of rewards for its implementation. The most common are Proof of Work (PoW) and Proof of Stake (PoS).

How DApps work

Any application has two parts: frontend (frontend) – the part of the application where the user performs actions, and backend (backend) – the application database.

The frontend is that part of the application you download to your computer or smartphone and open in your browser. It contains an interface, renders information to the user, and receives requests from him. For example, when you listen to music in Apple Music, the interface causes the pause, rewind, and song title buttons to the user and accepts music search and download requests. The frontend is also located on the device for decentralized applications and performs the same functions. For example, you installed the Golem application to create computer graphics for videos on other users’ computers in exchange for GNT tokens. The interface shows you the number of GNT tokens on your account, accepts requests from you to select the video resolution, and sets the folder where you want to save the finished file.

You might be also interested of:  How to Stay Relevant in 2022 - Foldable Devices Apps, 5G, and AR

The frontend of decentralized and ordinary applications is practically the same. The DApps interface can be written in any programming language, regardless of the blockchain, and its task is to make the interaction between the application and the user understandable. The only condition for a decentralized application frontend is that it must support smart contracts.

The backend is that part of the application located on the company’s server. It is responsible for the application’s logic; it stores the database. In the case of Apple Music, the song is downloaded from Apple’s servers; they contain your personal data – whether you paid for a subscription, your nickname, or your email. In the case of Golem, the backend contains information about how many GNT tokens you have in your account.

The backend of decentralized applications is not a server but a blockchain. It is a database in which the program code is recorded, and all your actions within the application are recorded. Physically, this database is located on many users’ devices; there is no single storage of information, and there is no server. You can draw an analogy with torrent trackers: they also work at the expense of users who can distribute files from their devices and download them from other users. They do not require a centralized server to function. Blockchain works on a similar principle but adds encryption algorithms to it, which do not allow you to change the information already created and check all the created data for compliance with the previous ones. For example, if you want to sell tokens, the blockchain will check that you have these tokens in your account and deduct them from your account balance.

Tokens are digital assets created on blockchain technology. Each token gives the user the right to perform a specific action in the application, for example, for anonymous storage of data on other users’ devices or for the purchase of a piece of virtual land in the game.

Tokens have their value – they can be traded on exchanges and obtained in exchange for performing some action. For example, in the Golem decentralized application, GNT tokens can be obtained by renting out part of the computing power of your computer.

The collaboration of the blockchain and the application requires computing power to process information about user actions and add it to the blockchain. This is done by miners – users who provide their devices for the remote processing of data in exchange for cryptocurrency or tokens. In the case of DApps, the incentive for miners are tokens that they can sell or spend to use the app. The blockchain generates the tokens that miners receive through its consensus algorithm.

Smart contracts are responsible for the interaction between the interface and the blockchain in DApps. When a user acts as the application – for example, clicks on the button to buy a token and enters his card details – the smart contract reads this action as the fulfillment of the terms of the contract. It automatically performs it, interacting with the blockchain.

You might be also interested of:  Web 3.0 on the Rise - What Will That Bring?

A smart contract is a protocol, a program code that automatically executes a contract when certain conditions are reached without the intervention of intermediaries. For example, the user will receive storage space in exchange for tokens.

Benefits of DApps

  1. Work stability. On servers, typical applications may experience temporary problems or maintenance. For example, you go to Telegram and see only the interface; the messages are temporarily not loaded. DApps servers are located on the user’s devices, so they will work until at least one user is on the network.
  2. You can view the open-source code of the application at any time. If you know the programming language in which it is written, you will recognize all the processes inside it. There are no functions hidden for the user in DApps. For example, a decentralized application cannot collect personal user data without the community knowing. If it collects personal data, the part of the code responsible for this will be in the public domain.
  3. No censorship from the state or the developer. Corporations cannot buy a decentralized application and then change the terms of use and functionality or even close it. The community must confirm any changes. If you are using DApps, it will only adjust according to the preferences of the majority of users.

Classification of DApps

Depending on how decentralized applications interact with the blockchain, they can be divided into three types:

  1. Type 1 – applications that run on their blockchain. For example, the Ethereum platform belongs to this type of DApps.
  2. Type 2 – applications developed and operated based on an already existing blockchain. They are protocols and have their mechanism for issuing tokens. The most popular blockchain platforms for this type of DApps are Ethereum, Tron, and EOS. An example of a Type 2 DApp is the MakerDAO protocol, which allows you to convert ETH cryptocurrency into DAI stablecoins. At the same time, MakerDAO is based on the Ethereum blockchain.
  3. Type 3 – applications based on DApps protocols of type 2. To function, they need not only a blockchain but also an application running on this blockchain. They also have a mechanism for issuing tokens. Example Type 3 DApps is an Augur app that switched from using the Ethereum blockchain to using the MakerDAO protocol in April 2020 to reduce volatility. That is, it went from type 2 to type 3.

Scope of DApps

The dappradar.com website categorizes decentralized applications by scope: games, social applications, gambling, decentralized finance, exchangers, high-risk applications, collection applications, marketplaces, and more. But such a classification does not always give an accurate idea of ​​the purpose of the application. For example, Decentraland belongs to the “Marketplaces” category and is also an online game.

We will show the classification of decentralized applications described by the developers of Ethereum in the white paper, a document with a technical description of the platform:

  1. Financial – these are tools for working with finances. These include decentralized exchanges, exchangers, and other applications designed to interact with cryptocurrencies. For example is the Compound application, with which you can lend cryptocurrency and earn money.
  2. Partially financial – Applications that involve working with finances but whose purpose is not related to them. These include auctions, marketplaces, and games. For example, to play some games, you need to buy a piece of virtual land for tokens. Further, the user is engaged in the gameplay, for example, equips this site. Finances are involved only to start playing.
  3. Non-financial – applications whose work is in no way connected with money. These include applications for sharing disk space or processing power. For example, the SAFE Network uses Safecoin tokens, which are not sold anywhere. They can only be exchanged or received for disk space or computing power. Finances are not directly involved in the operation of the application.
You might be also interested of:  On-Demand Apps - No. 1 Choice for Better Customer Experience

Example DApps

  1. Golem is an application aiming to create a global marketplace for computing resources. Golem is a decentralized supercomputer for complex computing operations such as computer graphics, scientific calculations, and machine learning. Application users can be divided into customers and suppliers. Vendors can rent out some of the computing power of their devices and receive GNT tokens as rent. Customers can buy GNT tokens to pay for computing operations on suppliers’ computers. The application uses the Ethereum blockchain for operation and belongs to type 2 DApps.
  2. SAFE Network is an application that is a network of decentralized servers. Users who install the application enter a network within which they can send messages or store information. Decentralization and encryption algorithms ensure the anonymity and protection of user data. To access the web, Safecoin tokens are required. These tokens can be obtained by renting out some of your disk space or computing power. They can also be exchanged for MaidSafeCoin tokens, sold on cryptocurrency exchanges such as Binance. The SAFE Network is based on the Omni protocol, which runs on the Bitcoin blockchain and is a Type 3 DApp.
  3. Decentraland is a metaverse, a virtual world built on the Ethereum blockchain. The users themselves primarily create the universe of Decentraland. They buy plots of land in a virtual 3D space and develop them as they wish. Users communicate with each other in this space, play games, and explore the metaverse. Decnentraland has its currency – MANA tokens, in exchange for which you can buy a piece of land or clothes for your avatar – a 3D model of the character you play as. Due to its own currency, Decentraland has its own economy. Users can provide services to each other in exchange for MANA tokens. For example, a tutor might teach another user how to play the guitar, or an artist might paint a custom painting. The world of Decentraland, its 3D embodiment, the economy, the market for services and goods – users form everything. Application developers cannot remove or modify user-generated content. The virtual world is entirely decentralized. Decentraland is a Type 2 DApp.

Conclusion

DApps are decentralized applications. They differ from typical applications because the application database is not stored on the developer’s server but on users’ devices inside the blockchain.

For an application to be considered decentralized, it must be open source, be based on the blockchain, use tokens in its work, and have a consensus algorithm for generating these tokens.

DApps are divided into three types:

  1. applications that are blockchain;
  2. blockchain-based applications;
  3. applications based on the blockchain.

The scope of decentralized applications is not limited to finance. There are games, marketplaces, auctions, and space-sharing platforms built on the principle of decentralization.