Decentralized Apps (dApps) Versus Centralized Apps: A Comparison

The internet has changed tremendously in the past 30 years. Web 1.0, the first iteration of the internet, gave us a hyperlinked library of data. The internet back then consisted of static websites displaying information. 

Web 2.0 brought us a collaborative internet. Users could post content on social media, write comments, and tag their friends. 

Nowadays, you have probably seen the term Web 3.0 popping up everywhere. One of the Ethereum co-founders coined this term for the new read-write-own internet. 

In this iteration of the internet, users can own their content with the help of blockchains, NFTs, and cryptocurrencies. It takes power from the big corporations and brings it back to the people. 

Data is stored in decentralized databases linked to the blockchain instead of centralized servers. 

For Web 3.0 to get traction, companies and developers need to build more decentralized apps or dApps. 

But is there any incentive for companies to use decentralized apps, and how are they different from traditional apps? 

A Look Into Traditional Apps

Traditional apps are centralized and owned by one company. They are centralized as the company owns the servers and the data. 

A company can delete your data without your consent, as you do not own your data. Your account can get suspended or deactivated. 

You’ve probably heard of the terrifying stories of prominent creators losing their accounts on Twitter and Youtube without any reason. 

Most of the common apps are centralized ones. A few examples are Netflix, Meta, Youtube, and Twitter. 

How Is a Decentralized App Different?

A Decentralized app is similar to a traditional app but has one difference. dApps use blockchain technology to store data and perform functions. 

They use smart contracts to define necessary functions and perform tasks. Smart contracts are programs stored on the blockchain that anyone can access. Since smart contracts are open to all, they are transparent. 

To interact(change data) with a smart contract, users must pay gas fees. Viewing information on the blockchain is free. 

Some examples of decentralized apps are OpenSea, dArticle.io, Uniswap, and Aave. 

Are Decentralized Apps Better?

If Web 3.0 is the next iteration of the internet, decentralized apps must be better, right? The answer is — it depends. 

To understand this better, let’s look at Twitter. Due to complex data structures and microservices, Twitter would be very slow if it were built on the blockchain. Users would have to pay gas fees to like or comment on tweets. This doesn’t make sense at all. 

But it works perfectly in other apps that use a hybrid model, such as OpenSea and dArticle. In these cases, the blockchain provides extra necessary features. 

Should You Create a Decentralized App?

If you are in the process of building an app, you might be contemplating integrating it with the blockchain. Here are a few points that will help you with your decision. 

  • Target audiences age — It is hard for older people to adapt to new technologies. You should have a young target audience if you plan to use the blockchain in your app. 
  • Functionality — You shouldn’t use the blockchain for the sake of it. Instead, use it only if it makes your app better. You can use it for better transparency, unlockable content, security, and user participation.
  • Scale — Decentralized apps communicate with the blockchain, which can take time. Since these transactions are slower than centralized API calls, specific use cases will suffer from integrating blockchain technology. 
  • Control — You will give up control on the road toward decentralization. Complete decentralization will result in a decentralized autonomous organization or DAO. A DAO is an entity with no central authority or control. It is governed by a community using the blockchain. 

The factors above are imperative to decide whether you should create a dApp. 

Smart Contract — The Brain of a Decentralized App

Nick Szabo proposed the concept of the smart contract with the belief that they were essentially computerized transaction protocols. 

A smart contract is a code that runs on the blockchain. They are written using Solidity, a programming language. 

Solidity is very similar to other languages. You have basic data structures and functions.

In a smart contract, functions can be used to view data or change it. 

// SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
// SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract Message {
   string private message;
   function viewMessage() public view returns (string memory) {
       return Message;
   }
   function setMessage(string memory _message) public {
       console.log("Changing message from '%s' to '%s'", message, _message);
       message = _message;
   }
}

The above code is a basic example of a smart contract. The string greeting is a variable stored on the smart contract and, therefore, the blockchain. 

The function viewMessage() returns the value of message. setMessage() lets the user change the value of the message. You would have to pay gas fees for setMessage() but not for viewMessage().

You can write smart contracts for different functionality from log-in to complicated user relations(e.g., followers in a social media dApp).

 Tools You Need to Build a Decentralized App

Once you have decided to create a dApp, it is time to code. In this section, I will help you get a basic idea about the tools needed.

  • Frontend — A dApp needs a clean user interface to attract users. You can use a front-end framework such as Reactjs for this. 
  •  A Backend — Contrary to popular belief, most dApps use some backend to communicate with a database. The database entries also get updated based on smart contract function calls. Nodejs is a good choice for your backend.
  • Smart Contracts — The Blockchain is permanent. This includes your smart contracts. You do not want to waste gas fees uploading an error-filled smart contract. It is essential to test the smart contract thoroughly for errors and vulnerabilities. Hardhat is a great tool for writing, testing, and deploying smart contracts. There are plenty of resources online to get started. 

Conclusion

A completely decentralized future is unlikely. Instead, we can expect companies to use the blockchain to certain extents and use cases.

Decentralized apps have different benefits, and you should understand them before creating one for your business. 

Advertise

Are you looking to advertise? We can offer press releases, banners, featured listings and more. Contact us at advertise@blockspot.io for questions, submit a PR now or request our media kit below.
Yellow Blockspot.io Cube

Stay in the loop. Subscribe for updates.

Get crypto news and the latest updates about our platform straight to your inbox.

Advertise

Are you looking to advertise? We can offer press releases, banners, featured listings and more. Contact us at advertise@blockspot.io for questions, submit a PR now or request our media kit below.