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, positioning them outside the purview and control of a single authority. DApps live on 'layer-1' blockchains, such as Ethereum, Solana, Cardano and more, and can be developed for a variety of purposes including gaming, finance and social media.
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, on the other hand, 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.
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 them. DApps utilize 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 finance, gaming, social media and online shopping.
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, however, 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 and slower to implement since they require majority consensus of the network.