Often, people think that “decentralized” means “uses blockchain", but that is not a correct understanding of that term.
As stated by Vitalik Buterin in the article above, when we say “decentralization” we mean these different terms:
Political decentralization — system is not controlled by a single individual or organization;
Architectural decentralization — system can tolerate if some parts (computers, nodes, etc) are broken;
Logical decentralization— system does not behave like a single entity; system's interface and data structures are not monolithic.
Let's introduce heuristics that we are going to use as a predicates:
Politically decentralized - TODO;
Architecturally decentralized - TODO;
Logically decentralized - if you cut the system in half, including both providers and users, will both halves continue to fully operate as independent units?
Example: a Blockchain (as a system) features 1 and 2, but not 3 because whole blockchain behaves like a single system.
(one CEO only)
(one head office, but many almost independent divisions)
(McDonald's USA and McDonald's Europe can not work as independent units, because they need coordination: menu, design, ads, etc should stay consistent)
(single TheDAO acts as a single system, even though it can have child DAOs or forks)
2-of-3 multisig wallet
+ (runs on top of blockchain, that consists of many mining node)
"Bitcoin, BTC" (system, not a protocol)
(has a single state that is shared by all users)
Any Ethereum DApp
or a smart contract
(behaves like a single system)
TokenCuratedRegistry (system, not a protocol)
(single TCR can not be split in 2 parts)
Bittorrent (system, not a protocol)
(not controlled by a single entity)
(even if some computers will be switched off, you will be able to download a file)
+ (more than 200+ trackers each has it's own list of files, i.e. "view of the world")
In it's simplest form, Ethereum DApp can be controlled only by a single owner (who deployed smart contract) so it is a politically centralized system.
Even though DApp runs on top of blockchain, blockchain "operator" (miners, developers, etc) DOES NOT have a FULL control of the DApp. So in this case, even though blockchain as a system IS politically decentralized, DApp on top of it IS NOT.
Three reasons for Decentralization:
Fault tolerance— decentralized systems are less likely to fail accidentally because they rely on many separate components that are not likely;
Attack resistance— decentralized systems are more expensive to attack and destroy or manipulate because they lack sensitive central points that can be attacked at much lower cost than the economic size of the surrounding system;
Collusion resistance — it is much harder for participants in decentralized systems to collude to act in ways that benefit them at the expense of other participants, whereas the leaderships of corporations and governments collude in ways that benefit themselves but harm less well-coordinated citizens, customers, employees and the general public all the time.