What’s a DApp? | How Do Bitcoin and Crypto Work? | Get Started with Bitcoin.com

A Decentralized Application (DApp) is an application built on a decentralized network that consists of a smart contract backend and a user interface frontend. DApps are ‘permissionless,’ meaning anyone is free to use them. Indeed, many DApps include smart contracts others have written. They are also transparent and ‘trustless,’ meaning anyone can verify their authenticity and functionality.

Read more: What’s a smart contract?

For a simple example of a DApp, imagine a dice game on Ethereum, though this DApp could exist on any decentralized network with robust smart contract functionality. To play, you send ether (ETH) to a smart contract that keeps your bet if you lose or pays out if you win. Since the contracts that define the game are open source, we can verify, for instance, that the house has (only) a 1% edge. We can also inspect the contract to ensure that the random number generator it references is indeed random. This transparency makes the game ‘provably fair,’ unlike games in traditional casinos which are inevitably plagued by opacity due to the inherent lack of transparency caused by reliance on a ‘trusted’ third party. Additionally, since identities aren’t required to interact on Ethereum, anyone in the world can (in theory) play our decentralized dice game without restriction (although local regulations do still technically apply).

In theory, any type of application could run on the Ethereum network, or network with similar smart contract functionality. For example, a series of smart contracts could be designed to create a decentralized version of a social media platform like Twitter. In theory, it could be built such that it differs from the status-quo (centralized) Twitter in a number of striking ways. Firstly, all participants could be provided with full visibility into the algorithms that define the system (unlike in the centralized version, where participants are mostly left guessing). Secondly, it might integrate an inclusive governance mechanism where participants have a meaningful say in the evolution of the platform. For example, participants may vote on mechanisms for discouraging/eliminating hate speech without infringing on the right to free speech. Another option is to ensure participants retain full ownership over their data. The owner of a popular profile may, for example, be able to sell the ‘keys’ to her account to the highest bidder, while perhaps retaining a percentage of the ‘royalties’ from revenue generated by the account in perpetuity – and all without the need for third-party legal services to broker and enforce the deal.

Although all of the above features are in theory possible, the reality is that, in its current state, computing resources on almost all decentralized networks are far too expensive to enable large-scale ‘trivial’ functions like mass voting on proposals. Not only that, the slowness with which decentralized networks process information makes them impractical for a huge range of use cases. And this is to say nothing of the immense challenge of creating a functioning decentralized system for something as complex as a social network. Particularly when there’s real-world monetary value involved, the incentive for people to game the system is high – and in a decentralized environment, where the cold logic of code-driven outcomes reigns, it’s extremely difficult to predict how an application will function “in the wild.” Note, for example, that even basic versions of decentralized social networks released thus far, where hardly any features are truly decentralized, have nevertheless struggled with problems like spam bot wars and misaligned incentives.

Likely due to these limitations, the majority of successful use cases for DApps – so far at least – involve money itself. Thus we see applications like gambling, trading, ‘decentralized finance’ (DeFi), and non-fungible token (NFTs), dominating the DApp landscape.

Read more: Learn how to connect to DApps in the Bitcoin.com Wallet