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