Decentralized Applications (DApps) Guide
An application will truly be Decentralized Application if it meets all of the following criteria:
1. Must be Open Source
2. Must have a Decentralized Consensus mechanism
3. Must use a Decentralized Ledger, eg. a Blockchain
4. No single or central point of failure.
The source code of Decentralized Applications (DApps) is transparent and available for the public to view. It is as termed, “Open Source”. There will be no hidden functions eg. spyware to collect your data, malicious codes or functions that are centralized in objective not known to the public. Hence, an application that is not open source can never be considered “Decentralized Application”.
Decentralized Consensus Mechanism
With source code available to all and changes decided through the consensus of the users on the blockchain, you get exactly what you see while using a Decentralized Application. As compared to downloading other software from the net, no one (except the software creator) knows what else is loaded or hidden in an application that is not open source, and no one has control over the application development except the software creator and owner.
DApps have crypto tokens that can be generated as fuels to run the DApps operations and they connect the users and the DApps directly. Although some users argue that Decentralized Applications don’t have to be running on top of a blockchain, a blockchain allows transactions to take place securely and accurately. Once a content has been uploaded to the DApp blockchain, it cannot be removed or erased, not even by its creators. [ Read Blockchain Guide ]
On the other hand, P2P Applications without blockchain cannot ensure its data in its client software will not be tampered by either side of its P2P users and if they will add malicious components in. Applications with a ledger that can be easily manipulated by individual or group of hackers should not be classified as Decentralized Applications. Hence, Decentralized Applications mentioned in this guide means applications using decentralized ledger, eg. Blockchain.
Decentralized Applications or DApps are applications that can work independently without the need of a middleman or any single authority to function or manage data, and it runs on a distributed computer system instead of on one single computer. When one computer system goes down, every other computer systems can take over. There is no downtime for DApp and it cannot be shutdown since there will always be some user computers running live 24 hours a day. [ View List of Decentralized Applications in the Market with Guide ]
For Centralized Applications, hackers need to only disrupt the hosting service to paralyze the entire system. It is much easier to disrupt centralized system hardware located in data center or a less secured cloud hosting, than bringing down all nodes using the DApps in the entire world. Organizations for centralized applications may be capable of adding in 2-3 more redundancies (eg. add secondary server, data center or site) but they cannot reach the system uptime reliability or high availability capability of a decentralized application on a blockchain, not even close.
Centralized systems are highly susceptible to data corruption, and their owners' tendencies to synchronize their data with different data storage, data centers and sites (usually for performance or disaster recovery purposes) cause data corruption impacts (if it is compromised) to be especially devastating since corrupted data will be synchronized and replicated elsewhere as well.
On the other hand, Decentralized Application is distributed by process, it involves participation of all elements from the decentralized network to change or modify any data, partial corruption will be rejected and auto-corrected quickly by the majority consensus mechanism. For attackers to corrupt data successfully, they will need to compromise majority of nodes and data operating on a global scale decentralized blockchain simultaneously, which is seemingly impossible to be achieved since the massive costs required to do so are likely too enormous for attackers, cartels or even governments to afford.