As there are many terms to such a large project like Elastos and the Cyber Republic, we’ve decided to build a growing glossary of terms that can help the less technically acquainted understand better what the tech means and the impact it could have. This week we’re focusing on Decentralized Applications (DApps).
Term: Decentralized Application (DApp)
“DApp is an abbreviated form for decentralized application.
A DApp has its backend code running on a decentralized peer-to-peer network. Contrast this with an app where the backend code is running on centralized servers.
A DApp can have frontend code and user interfaces written in any language (just like an app) that can make calls to its backend. Furthermore, its frontend can be hosted on decentralized storage such as Swarm or IPFS [or Elastos Hive].
If an app=frontend+server, since Ethereum contracts are code that runs on the global Ethereum decentralized peer-to-peer network, then:
DApp = frontend + contracts
Illustration of a DApp that uses a blockchain with smart contracts combined with the pillars of Swarm and Whisper:
A decentralized application is an application like any other application, except that it’s built on a decentralized peer-to-peer network.
Think about how Uber changed the Taxi world. While Uber is still centralized, it was closer to a decentralized structure in that people could drive other people without having to be part of a Taxi service. It became more convenient with a better user interface than taxis, and it was generally cheaper as well. Uber has expanded faster than anyone ever imagined possible.
Now take it one step further, and say that Uber drivers through some application would be booking, building reputation, accepting payment, and driving customers all completely through code that could be verified and did not need permission from any central organization–including Uber.
Assuming that safety concerns had been worked out, this would be a better example of a decentralized application–and you can imagine that just like Uber, this application could change an industry extremely quickly, possibly for the better.
A decentralized application is exactly this: it’s any application that can remove a third party and put parties directly in touch with other parties in a safe and verifiable way where all parties could be trusted, without any central control. There is a huge range to just how decentralized an application is, but in general, any application in the world that relies on a third party for trust could be replaced or improved on by a decentralized application that uses code for trust rather than a party built on reputation.
It’s not to say that all trusted parties behind apps can’t be trusted, and that all dapps are by definition more trustworthy, but by relying more on code and less on human variability, the benefits of dapps crosses all industries.