Decentralization in ICP: Infrastructure Governance
Summary
As a blockchain protocol, decentralization is very important to the design and implementation of ICP. This article is one of a subset explaining the design intent and the current state of the world when it comes to ICP decentralization. Its main focus is analyzing ICP as a sovereign network with a DAO controlling infrastructure governance.
To see the whole picture, it is recommended to see the following articles:
- Decentralization in ICP
- Decentralization in ICP: Critical Dapps on the IC
- Decentralization in ICP: Protocol Governance
Background: Sovereign Network using Deterministic Decentralization
The infrastructure layer of ICP is best summarized as:
- ICP is a sovereign network composed of subnets that follow Deterministic Decentralization
- Each subnet is composed of nodes (owned and controlled by node providers), which are remunerated in ICP by the network minting ICP
- Each node lives in an independent data center (not cloud providers), which the node provider pays to upkeep and maintain. An example of data centers include Equinix in Spain.
Current State of Infrastructure Decentralization
To best understand current state of ICP topology and node diversification, the following forum posts lay the most information:
1. IC node diversification (Part 1)
2. IC node diversification (Part 2)
Example: Adding a node to the network
For a concrete example, adding a node to the network takes the following steps:
1. Node provider submits a proposal to a node provider
2. NNS DAO decides if they want to add this node provider
3. If accepted by the NNS DAO, submit proposal to add node to subnet or data center
- Node provider submits a proposal to add a node in a specific subnet in a specific data center in a specific location
4. NNS DAO evaluates whether to accept the proposal based on questions like
- Does ICP need more nodes?
- Does this node provider have too many nodes already?
- Does this subnet need more nodes?
- Does this data center have too many nodes?
- Does this location have too many nodes?