Decentralization in ICP: Protocol Governance
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.
Current State of Decentralization ICP
To see the latest measures of NNS decentralization, see: https://medium.com/@dfinity/nns-and-decentralization-5f4963e83df7