If Bitcoin’s decentralised ledger is the first generation of blockchain technology in action, the second generation is exemplified by smart (automatically executed) contracts and the third generation is decentralised applications, or dApps (also frequently written as dapps, Dapps or DApps).
“[T]he ultimate blockchain application should be a dApp that is completely hosted by [a] P2P blockchain system,” writes a team of Chinese and Canadian researchers in a 2018 paper, ‘Decentralized Applications: The Blockchain-Empowered Software System’. “Ideally, a deployed dApp will need no maintenance and governance from the original developers. In other words, an ideal blockchain application or service should be operable without any human intervention...”
Because it’s still so early in the development of dApps, you can find a variety of definitions for such applications. Many researchers and developers, however, point to the description offered by software engineer Siraj Raval in his 2016 book, ‘Decentralized Applications: Harnessing Bitcoin’s Blockchain Technology‘ (O’Reilly Media).
“There are millions of software applications currently in use, and the vast majority of web software applications follow a centralized server-client model...,” Raval writes. “Centralized systems directly control the operation of the individual units and flow of information from a single center.”
Centralised software, for example, includes Amazon, Facebook and Google. CryptoKitties, on the other hand, is an example of a decentralised app, or dApp.
“The dapp space is currently an emerging field with a lot of smart people still experimenting with new models,” Raval continues. “Different developers have different opinions on what exactly a dapp is. Some developers think that having no central point of failure is all it takes and some think that there are other requirements.”
To be successful and profitable, however, a dApp needs four key features, Raval says: 1) it needs to be open source so users can trust the app and how it handles data, 2) it needs an internal currency that enables the dApp to be monetised so its creators can be paid, 3) it requires a decentralised consensus mechanism and 4) it should have no central point of failure.
So what advantages do dApps offer over conventional, centralised apps? The key benefit is that they give control over the app to its users, rather than to a single creator, owner, publisher or distributor. Once a dApp goes live, no single user or authority can take it down or impose changes without consensus from other users.
In gaming, for example, the Chinese/Canadian study notes, this “fulﬁlls the ultimate dream of many game players: the items owned by their virtual characters in the gaming world are non-fungible and can be traded and inherited into a new game.”
Such a system, Digital Trends editor Matthew S. Smith wrote earlier this year, would make possible “true ownership” in gaming. “Developers become [shepherds] instead of gods. They can attempt to nudge the game in whatever direction they want it to go, but they can’t change the rules, or alter in-game items once awarded.”
Other areas in which dApps have great potential are in user-generated content, to ensure the original creators are credited and/or paid for their efforts; IoT automation; supply chain management; and the sharing economy, in which things like shared computing power or shared mesh network services can be tracked and paid for fairly and automatically.
“Dapps have the potential to become self-sustaining because they empower their stakeholders to invest in the development of the Dapp,” Yeoman’s Capital founder/managing director David Johnston and his co-authors write on GitHub. “Because of that, it is conceivable that Dapps for payments, data storage, bandwidth and cloud computing may one day surpass the valuation of multinational corporations like Visa, Dropbox, Comcast, and Amazon that are currently active in the space.”