Decentralization in ICP: Protocol Governance

From Internet Computer Wiki
Jump to: navigation, search

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 protocol governance. To see the whole picture, it is recommended to see the following articles:

Background

The Network Nervous System (NNS) is an open algorithmic governance system that oversees the ICP network and the token economics. This governance system, the NNS, is controlled by a DAO of users all voting. The example below illustrates what this means in practice.

Design Intent and how users join the NNS DAO

The NNS is designed to hold the following properties:

  • Anyone can participate in the NNS DAO by staking ICP into neurons and voting in proposals. Each neuron has a voting power corresponding to the amount of ICP staked, how long it is staked for and how long the neuron has existed.
  • NNS DAO controls everything in the network including software and hardware changes.
  • NNS allows liquid democracy so stakers can have their neurons follow the votes of other neurons.
  • Create a structured way for the network to quickly update itself (in comparison to other blockchains where upgrades can take a lot of time and manual effort).


Example: Upgrading the network’s code

ICP is a network of nodes running “replica code” that is identical for each node. At the time of this writing, they were all running replica code version 935b417d. As usual, this particular replica version has a lot of bug fixes, features, and optimizations. But more importantly, this code was accepted as the new version after a few steps:

1. Developers code up a new replica version

2. Developers submit the new replica version as a proposal to the NNS DAO

3. NNS DAO votes on the proposal

4. If NNS DAO passes the proposal, the replica code is “blessed” (read: approved) and subsequent proposals update each of the subnets.

The NNS is the system (or “steering wheel” for the network) which is controlled by the DAO, so in the case of the Internet ComputerProtocol governance, what matters most is to evaluate decentralization of the NNS and DAO.

Nns proposal example.png

Current State of Decentralization ICP

To see the latest measures of NNS decentralization, see: https://medium.com/@dfinity/nns-and-decentralization-5f4963e83df7

See Also