Using the IC
What is the Network Nervous System (NNS)
Understand what the Network Nervous System (NNS) is and how the Internet Computer’s controlling mechanism works
Introduction to the NNS
Learn more about the governance system of the Internet Computer
One of the key features of the Internet Computer is the Network Nervous System (NNS).
The NNS runs fully on-chain and is capable of making decisions, such as configuring parameters of the Internet Computer protocol, updating node machines, and creating new subnet blockchains. As the IC’s open algorithmic governance system, the NNS oversees the network of the Internet Computer and its token economics.
Participating in the Governance of the Internet Computer via the NNS
Community members, investors, developers, and other stakeholder groups can participate in the governance of the Internet Computer with the help of the NNS. To do so, governance participants need to acquire ICP tokens and lock their tokens in a neuron.
Token holders who have locked their tokens in neurons can submit proposals for voting and can vote on governance proposals via the NNS.
Governance participants who actively participate in the governance process by voting receive voting rewards (i.e. staking rewards). The process of voting on governance proposals can be automated.
Function of the Network Nervous System (NNS)
The Internet Computer is a fully decentralized blockchain that is run by a network of independent node machines. On top of the protocol, canisters (i.e. a new form of smart contracts) are hosted. The state of all canisters running on the IC is replicated across all nodes of the network. At the same time, these nodes achieve consensus on the state of the Internet Computer.
Because of the decentralized architecture of the Internet Computer, there needs to be a decentralized controlling mechanism that meets decisions about the protocol and ecosystem. This is where the Network Nervous System (NNS) comes into play.
Canisters for Making Decisions via the NNS
Two key canisters oversee the realization of decision-making on the NNS:
Outline of the Decision-Making Process Via the NNS
The following details the process of how an idea is proposed, voted upon via governance, and implemented.
Governance Proposal Topics
The NNS supports a wide variety of proposal topics. Here are examples that are supported:
Governance-Based Token Management Via the NNS
The ledger canister is a smart contract on the NNS that manages ICP utility tokens. It stores data about accounts and transactions, such as how many tokens an ID owns and the tokens transferred from one account to another.
Introduction to Neurons
Neurons are a critical component of the NNS as they facilitate participation in the governance process.
The Data a Neuron Stores
Aside from facilitating governance participation, Neurons store different kinds of information, such as:
Submitting Proposals Via the NNS
As we’ve learned, community members that have staked ICP tokens can submit proposals to the NNS.
Proposal submission
A user wishing to submit a proposal needs to specify the following:
Proposal verification
Once submitted, the governance canister of the NNS verifies if the user submitting the proposal controls the submitting neuron. It also checks that the neuron is eligible to vote. If all these requirements are fulfilled, the NNS adds the proposal to the governance canister.
Proposal voting
In the next stage, neuron holders are allowed to vote on the proposal. In order to vote, users send their neuron ID and their vote (“yes” or “no”) to the governance canister. It will then be verified if the neuron is controlled by the correct user and is eligible to vote.
The voting power of a governance participant is dependent on many variables, such as the number of locked tokens as well as the chosen dissolve delay.
Proposal execution
If the majority of voting power approves the proposal, it will be executed. This means that the method described in the proposal will be called by the NNS.
Collecting Voting Rewards
Another piece of information that is stored in a neuron is the number of rewards accumulated through governance participation. Once the rewards have reached the threshold of 1 ICP, users can collect their rewards by spawning a new neuron. This creates a new neuron containing the voting rewards. The new neuron has a short dissolve delay so that its ICP tokens can be unlocked.
Delegating Governance Votes
While it is necessary to vote on governance proposals to receive voting rewards, users do not have to vote manually on each proposal if they don’t want to.
Delegating votes may be especially interesting for those users who are unfamiliar with technical details of the network or those who are not interested in voting on a given category of proposals. In such cases, the IC’s liquid democracy may be an interesting option. Delegating votes allows the holder of a neuron to follow the votes of other neurons.