Difference between revisions of "Decentralization in ICP: Infrastructure Governance"

From Internet Computer Wiki
Jump to: navigation, search
Line 48: Line 48:
 
===1. Node provider submits a proposal to [https://dashboard.internetcomputer.org/proposal/107568|become a node provider]===
 
===1. Node provider submits a proposal to [https://dashboard.internetcomputer.org/proposal/107568|become a node provider]===
  
[[File:Node provider submits a proposal to become a node provider.png |500px]]
+
[[File:Node provider submits a proposal to become a node provider.png |500px ]]
  
 
===2. NNS DAO decides if they want to add this node provider===
 
===2. NNS DAO decides if they want to add this node provider===

Revision as of 19:53, 5 April 2023

Background

The infrastructure layer of ICP is best summarized as:

  • ICP is composed of subnets
  • 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.

Design Intent

Design intent of the infrastructure layer follows from the following observations

a. An empirical pattern from studying other blockchains: infrastructure layers tend towards high-concentration (2-4 entities) controlling 51% of the infrastructure and 1-2 jurisdictions (e.g. US, China) controlling 51% of the infrastructure. In practice, permissionless (even without a DAO) infrastructure layers tend to a concentration where the “anyone can run a node from home” tends to be a figleaf for concentration of a few big players.

b. Networks like BTC or ETH have protocol-level limitations where the protocol will have the same throughput of transactions whether it has 10 nodes or 10,000 nodes. These do not scale by adding more nodes.

c. Many networks have inconsistent node uptime/availability as miners switch off/on their nodes due to unpredictable crypto markets, sometimes making nodes unprofitable to run.

d. A lot of the node’s computation in other blockchains is used up in puzzles (e.g. Proof of Work) rather than useful computation.

ICP is designed to have the following properties

a. The IC's method of "manicured" subnets, even though less decentralized in theory, actually gives you better decentralization in practice.

b. ICP compute capacity grows by adding more nodes

c. To balance ICP minting rate and developer demand for compute, the NNS DAO decides how many more nodes to add

d. To maximize decentralization, NNS DAO measures and maximizes decentralization, rather than leave it to chance

e. To incentivize ICP to have maximum availability, the node reward has predictable rewards for each node

f. To incentivize general availability, ICP rewards nodes for being part of the system and removes them if they start to deviate consistently.

g. To maximize reliability and health of the network, NNS DAO can remove nodes that consistently deviate (maybe they are faulty or are malicious).


Deterministic Decentralization: How nodes join the network

Therefore, this “Deterministic Decentralization” is the idea that ICP should measure and maximize the the diversity and decentralization of each subnet, rather than optimistically hope for decentralization by allowing any node to join network (not to mention the

  1. of unique node providers
  2. of unique data centers
  3. of unique jurisdictions

Example: Adding a node to the network

Adding a node to the network takes the following steps:

1. Node provider submits a proposal to a node provider

Node provider submits a proposal to become a node provider.png

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

Proposal to add data center.png

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?

Current State of Decentralization

Each subnet has a table of Nakamoto Coefficient for each of the following subsystems (e.g. independent node providers, independent data centers, geographies).

See Also