How do decentralized applications work?

DApps are built on a decentralized network that is supported by a distributed blockchain registry. The use of blockchain allows dApps to process data across distributed networks and perform transactions. DApps are also often built using the Ethereum platform.

Decentralized applications have the following three common characteristics and key attributes:

  • Have open source code. All necessary changes are accepted by consensus of the majority of users. This requires that the code base be available for evaluation by all users.
  • Provide decentralized storage. Data is stored in decentralized blocks.
  • Offer cryptographic decentralized blocks of data, verified and validated.

DApps are stored and executed on a blockchain system – usually using Ethereum. The app is verified using cryptocurrency tokens, which are required to access the app.

Decentralized apps are similar to regular apps in that they use the same interface code to display a web page. But the back-end code of a dApp is different because it runs on a decentralized P2P network. This is what makes dApps free from the control of a single entity.

While a traditional app is supported by centralized servers and a database, a dApp is supported by a smart contract stored in a blockchain. Ethereum is the most popular blockchain for running smart contracts. Smart contracts apply rules defined in the code and mediate transactions. Since a smartcontract only consists of a server part and is often only a small part of the entire dApp, creating a decentralized application in a smartcontract system requires combining multiple smartcontracts and using third-party systems for the front-end.

The blockchain on which a smart contract runs is a registry of data records that are stored in blocks rather than in a central location. The data blocks remain dispersed across distributed locations. All data blocks are linked and managed by cryptographic validation.

Not all dApps work in standard web browsers. Some can only work on websites with code configured to open that particular app.

Benefits of decentralized apps

Decentralized apps offer the following benefits:

Fault tolerance. If one node in the network is still running, the decentralized network can remain available, although performance can be severely degraded. Since there is no centralized network, a hacker is unlikely to be able to attack a network of nodes sufficient to shut down a decentralized application.

Data integrity. The data stored in the blockchain is immutable and secure because the blockchain’s consensus algorithms ensure that the data stored in the blockchain is resistant to change.

Flexible platform. Ethereum blockchain is flexible enough to enable rapid development of dApps for various industries.

User privacy. Users don’t need to send their personal information to dApps to use any app-specific features.

Disadvantages of decentralized apps

Decentralized apps also have the following disadvantages:

Maintenance. DApps are difficult to maintain, debug, and update because all fixes require consensus of all peer-to-peer nodes in the blockchain-based network.

Difficult to scale. Decentralized networks are harder to scale than centralized networks.

Network congestion. If a dApp uses too many resources, it will back up the entire network.

User experience. Because dApps don’t work the same way as centralized applications, it can be harder for developers to create a user-friendly interface for end users. Users need a public and private key to log in, not a username and password.

Examples of dApps

Although thousands of dApps are used and developed, three examples of dApps include Chainlink, TraceDonate, and Minds.

Chainlink. This is middleware that provides tamper-proof input and output and computation for Oracle networks. Google is testing it for the BigQuery PaaS data warehouse.

TraceDonate. This is a service that connects charities and donors with beneficiaries to build trust that donations made are reaching those in need. Funds are stored in a digital wallet and allow the donor to track how the donation is spent.

Minds. This is a dApp-based social media platform that is open source and can encrypt all personal data sent by its users.