Difference between revisions of "Decentralization in ICP"
Diego.prats (talk | contribs) |
Diego.prats (talk | contribs) |
||
Line 38: | Line 38: | ||
* More resilient to attacks by malicious actors | * More resilient to attacks by malicious actors | ||
* More resistant to collusion by entities within the network to harm the network | * More resistant to collusion by entities within the network to harm the network | ||
− | + | ||
+ | ==Measuring Decentralization== |
Revision as of 22:12, 13 March 2023
Summary
As a blockchain protocol, decentralization is very important to the design and implementation of ICP. This article explains the design intent and the current state of the world when it comes to ICP decentralization.
What is Decentralization
In the context of blockchains, “decentralization” is defined by Wikipedia as:
“Decentralization [in blockchains] refers to the transfer of control and decision-making from a centralized entity (individual, organization, or group thereof) to a distributed network. Decentralized networks strive to reduce the level of trust that participants must place in one another, and deter their ability to exert authority or control over one another in ways that degrade the functionality of the network.”
All blockchains rely on a consensus protocol to come to agreement on the state of the network. The higher the decentralization of a network, the more individual actors that need to coordinate to come to an agreement. In a centralized or low-decentralization system, one or a handful of entities would be sufficient to establish the state of the system.
Vitalik Buterin described decentralization to be composed three independent axis:
1. “Architectural (de)centralization — how many physical computers is a system made up of? How many of those computers can it tolerate breaking down at any single time?
2. Political (de)centralization — how many individuals or organizations ultimately control the computers that the system is made up of?
3. Logical (de)centralization — does the interface and data structures that the system presents and maintains look more like a single monolithic object, or an amorphous swarm? One simple heuristic is: if you cut the system in half, including both providers and users, will both halves continue to fully operate as independent units?”
Buterin described blockchains as being architecturally decentralized (many computers), politically decentralized (many entities), but logically centralized (typically, one consensus protocol).
This article focuses on the architectural and political decentralization of ICP.
Why Decentralization Matters in Web3
Benefits of decentralization
Decentralization is key to make web3 dapps run in a trustless manner. Vitalik Buterin broke it down into three core benefits one gets from decentralized computer networks like blockchains:
1. Fault tolerance — decentralized systems are less likely to fail accidentally because they rely on many separate components that are not likely.
2. 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.
3. 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.
For token holders, smart contract developers, or dapp users this means a more decentralized network would be:
- More resilient to computer or systems faults
- More resilient to attacks by malicious actors
- More resistant to collusion by entities within the network to harm the network