Other attributes
A system or institution is considered centralized if there is a single individual or entity that controls it. In database terms, centralization means that data is stored in a single location.
Decentralization describes a process in which planning and decision-making authority are not controlled by a single individual or entity, but rather are dispersed to many. In database terms, decentralization means that data is replicated and distributed across multiple locations.
The idea of decentralization has been around for centuries. For example, America's founding fathers established some decentralization in the structure of the US government by separating it into the legislative, judicial, and executive branches and using checks and balances to ensure that no single branch took complete control of the system. In comparison, a dictatorship or monarchy has a highly centralized structure.
Bitcoin and blockchain technology have brought discussion and awareness of 'decentralization' more into the mainstream in recent years. Vitalik Buterin, creator of the cryptocurrency Ethereum, breaks the concept of decentralization for software systems down into three parts:
- Architectural decentralization - the degree of physical decentralization a system has, which is a function of the number of individual computers in the network and the amount of those computers which the network can tolerate breaking down at any one time.
- Political decentralization - the number of individuals and/or organizations that have control over the decision making and planning of the system.
- Logical decentralization - do the data structures operate as one monolithic object (i.e. centralized), or as an amorphous swarm which could be broken apart and continue to function fully as independent units (i.e. decentralized).
It is possible to be highly decentralized in one or two of these ways, while also being centralized in one or two others. For example, blockchains are designed to achieve a high degree of decentralization in 2 out of 3 categories. Blockchains can be physically distributed across numerous computers (i.e. nodes) for architectural decentralization, and they can be politically decentralized if no single entity controls them. However, all of the participants in a blockchain network work towards a consensus on a single state of the system and the system behaves as if it is a single computer, so it is logically centralized.
There are several examples of systems that achieve at least one kind of decentralization other than blockchains, such as email and BitTorrent. The email protocol (SMTP) is used by countless independent service providers, and you can pick which one to use at your own discretion. BitTorrent allows for peer-to-peer file downloads and the files themselves are not stored in a single location.