Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

decentralized apps
blockchain
application
comparison

What is the difference between Dapps and simple applications?

Ahsan Amin

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

Decentralized apps

Decentralized apps, or Dapps, are web/mobile applications that run on a blockchain network. They differ from traditional web/mobile applications hosted on a hosting service such as Heroku or Microsoft Azure. Both methods have their advantages and disadvantages.

Features of Dapps and apps

Feature

Dapps

Apps

Censorship

No

Yes

Privacy

Yes

No

Downtime

No

Yes

Application updates

No

Yes

Scalability

No

Yes

Let's review the above features in detail.

Censorship

It's easier to block centralized applications as they are hosted only on a few servers with static IP addresses. Government or institutions may block specific applications that need to block network traffic from a few servers to block these applications.

However, decentralized applications run on blockchains maintained by many nodes worldwide. These nodes constantly enter and exit the network. It makes it difficult to track and block all the IP addresses of the nodes hosting that blockchain.

Privacy

Data stored on a blockchain is more secure as only authorized users can access that data. The data can't be used for any other purposes by unauthorized users. In centralized applications, the data is stored on a company's server. They have complete control of the data and can use it however they like.

Downtime

Centralized applications are hosted on the company's servers; if the servers go down, the application will stop working. However, Decentralized applications are hosted on the blockchain. There're thousands of nodes maintaining the network which can process our requests. Dapp will only go down if all the nodes that are maintaining the blockchain stop working.

Application updates

Centralized applications are controlled and hosted by a central authority. Thus, it is easy for them to change or update their software. However, Decentralized apps are deployed on the blockchain as a smart contract and stored in a block. The data stored in a block is immutable. Thus, it is impossible to make changes to the already deployed contract.

Scalability

If the application becomes popular and the number of users increases, we need more servers to increase the throughput(requests processed per second). We can do this in centralized applications by adding more servers to host the application.

However, increasing the throughput in decentralized applications is problematic because any single entity doesn't control blockchains. Moreover, adding more nodes to the network won't increase the throughput because of some blockchain protocols, which virtually make it impossible to increase the throughput beyond a specific limit.

Conclusion

Both Decentralized applications and centralized applications have their pros and cons, which we can look into before deciding on choosing either one of them. For example, suppose we want more control over our application and expect the application to have a large target audience. In that case, it is a good idea to go for a centralized application. Otherwise, we should go for a decentralized application.

RELATED TAGS

decentralized apps
blockchain
application
comparison

CONTRIBUTOR

Ahsan Amin
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring