Decentralized Applications (dApps)
What Are Decentralized Applications (dApps)?
Decentralized applications (dApps) are digital applications or programs that exist and run on a blockchain or peer-to-peer (P2P) network of computers instead of a single computer. DApps (also called “dapps”) are outside the purview and control of a single authority. DApps—which are often built on the Ethereum platform—can be developed for a variety of purposes including gaming, finance, and social media.
- Decentralized applications—also known as “dApps” or “dapps”—are digital applications that run on a blockchain network of computers instead of relying on a single computer.
- Because dApps are decentralized, they are free from the control and interference of a single authority.
- Benefits of dApps include the safeguarding of user privacy, the lack of censorship, and the flexibility of development.
- Drawbacks include the potential inability to scale, challenges in developing a user interface, and difficulties in making code modifications.
Understanding Decentralized Applications (dApps)
A standard web app, such as Uber or Twitter, runs on a computer system that is owned and operated by an organization, giving it full authority over the app and its workings. There may be multiple users on one side, but the backend is controlled by a single organization.
DApps can run on a P2P network or a blockchain network. For example, BitTorrent, Tor, and Popcorn Time are applications that run on computers that are part of a P2P network, whereby multiple participants are consuming content, feeding or seeding content, or simultaneously performing both functions.
In the context of cryptocurrencies, dApps run on a blockchain network in a public, open-source, decentralized environment and are free from control and interference by any single authority. For example, a developer can create a Twitter-like dApp and put it on a blockchain where any user can publish messages. Once posted, no one—including the app creators—can delete the messages.
Advantages and Disadvantages of dApps
Many of the advantages of dApps center around the program’s ability to safeguard user privacy. With decentralized apps, users do not need to submit their personal information to use the function the app provides. DApps use smart contracts to complete the transaction between two anonymous parties without the need to rely on a central authority.
Proponents interested in free speech point out that dApps can be developed as alternative social media platforms. A decentralized social media platform would be resistant to censorship because no single participant on the blockchain can delete messages or block messages from being posted.
Ethereum is a flexible platform for creating new dApps, providing the infrastructure needed for developers to focus their efforts on finding innovative uses for digital applications. This could enable rapid deployment of dApps in a variety of industries including banking and finance, gaming, social media, and online shopping.
American cryptographer and computer scientist Nick Szabo introduced the term “smart contract” in 1996 as a graduate student at the University of Washington.1
The use of dApps is still in the early stages, and thus it is experimental and prone to certain problems and unknowns. There are questions as to whether the applications will be able to scale effectively, particularly in the event that an app requires significant computations and overloads a network, causing network congestion.
The ability to develop a user-friendly interface is another concern. Most users of apps developed by traditional centralized institutions have an ease-of-use expectation that encourages them to use and interact with the app. Getting people to transition to dApps will require developers to create an end-user experience and level of performance that rivals already popular and established programs.
The challenge of doing code modifications is another limitation of dApps. Once deployed, a dApp will likely need ongoing changes for the purposes of making enhancements or to correct bugs or security risks. According to Ethereum, it can be challenging for developers to make needed updates to dApps because the data and code published to the blockchain are hard to modify.2
- Promotes user privacy
- Resists censorship
- Flexible platform enables dApp development
- Experimental, may not be able to scale
- Challenges in developing a user-friendly interface
- Difficult to make needed code modifications
What Are Ethereum dApps?
These are decentralized applications that are powered and developed using the Ethereum platform. Ethereum dApps use smart contracts for their logic. They are deployed on the Ethereum network and use the platform’s blockchain for data storage.
What Is the Difference Between a Centralized and Decentralized App?
A centralized app is owned by a single company. The application software for a centralized app resides on one or more servers controlled by the company. As a user, you’ll interact with the app by downloading a copy of the app and then sending and receiving data back and forth from the company’s server.
A decentralized app (also known as a dApp or dapp) operates on a blockchain or peer-to-peer network of computers. It enables users to engage in transactions directly with one another as opposed to relying on a central authority. The user of a dApp will pay the developer an amount of cryptocurrency to download and use the program’s source code. The source code is known as a smart contract, which allows users to complete transactions without revealing personal information.
What Are Examples of Centralized and Decentralized Apps?
Well-known examples of centralized apps are Twitter, Facebook, Instagram, and Netflix. Banks and other financial institutions use centralized apps to allow their customers online access to their accounts.
Peepeth, a social network alternative to Twitter, is an example of a decentralized app. Cryptokitties is a dApp game that allows users to buy and sell virtual cats. MakerDAO is a decentralized credit service supporting the stablecoin Dai and allows users to open a collateralized debt position (CDP).