Network Nervous System (NNS)
Overview
The Network Nervous System (NNS) is the fully onchain decentralized autonomous organization (DAO) that governs the Internet Computer Protocol. It is a stake-based, open governance system where everyone can participate by staking some ICP utility tokens.
The need for the NNS
The Internet Computer is run by independent node machines that run the Internet Computer protocol and are organized into different sub-groups, called subnets. To ensure that the Internet Computer can evolve in terms of security, efficiency, and scale, decisions such as the following need to be made:
- Upgrading the protocol and guest operating system software used by the nodes machines, for cases such as added security or better performance.
- Inducting new node machines by new node providers into the network for more robustness.
- Creating new subnets to scale the Internet Computer's capacity.
- Splitting subnets to balance network load.
The NNS ensures that all these decisions can be made in a decentralized and autonomous way.
Neurons
On the Internet Computer, governance participants are called neurons. Neurons are staked ICP tokens, so anyone can become a part of the NNS governance by staking ICP tokens in a neuron. This is incentivized by voting rewards for neurons who participate in decision making.
For a tutorial on how to stake tokens in a neuron, refer to staking a neuron. For more background information on neurons and voting rewards, refer to neurons.
Proposals
Proposals are suggestion on how to evolve the Internet Computer, including decisions on how to update the protocol, organize node machines into subnets, and update the rules of the NNS DAO itself. Any neuron that has tokens staked for at least 6 months can submit and vote on proposals.
On a high level, a proposal goes through the following lifecycle:
- Proposal submission: A neuron submits a proposal with a new suggestion to make a change to the network.
- Establish ballot roll: The governance canister takes a snapshot and creates (empty) ballots for all eligible neurons.
- Voting: All eligible neurons can cast their vote. This can either be done by a manual vote or by following, which is a mechanism for delegating the voting power to another neuron, also called liquid democracy.
- Proposal decision: The proposal is decided based on either:
- Absolute Majority - At any point, even before the voting period ends, if an absolute majority (more than half of the total voting power) has voted "yes," then the proposal is adopted. If an absolute majority has voted "no," then the proposal is rejected.
- Simple Majority - When the voting period ends, if a simple majority (more than half of the cast votes) has voted "yes" and the number of these yes votes constitutes at least 3% of the total voting power, then the proposal is adopted. Otherwise, the proposal is rejected.
- Proposal execution: If a proposal is adopted, the NNS DAO automatically and autonomously executes the proposals. For example, if the proposal decided to update the voting rules, the governance canister would automatically initiate an update of the smart contract that implements the NNS DAO which executes this decision. Compared to other DAOs, this has the advantage that no human action is needed for proposal execution, which removes a source of failure and inefficiency.
For a tutorial on how to vote on a proposal, refer to Voting on proposals and for a tutorial on how to set following, refer to Following. For more detailed information about proposals, including details of the lifecycle, how to submit proposals, and the precise type of proposals, refer to Proposals. For more information about voting, the rules of following, and how to verify proposals, refer to Voting.