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

IC Academy » Network Nervous System » What is the Network Nervous System (NNS)

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).

What is the Network Nervous System (NNS)?

The Network Nervous System (NNS) is a decentralized and permissionless governance system that acts as a controlling mechanism of the Internet Computer.

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.

To learn more about the ICP token and how you can stake your tokens, have a look at the following resources: What is the ICP token?, Staking ICP Tokens, and What are Neurons?

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.

The Network Nervous System (NNS) stores information about nodes but also organizes, tracks, and manages subnets (i.e. a collection of nodes engaging in consensus).

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:

#SubnetManagement

Proposals about topology changes, such as adding a node

#ExchangeRate

Proposals to determine how many ICP tokens can be converted into a cycle

#NodeAdmin

Proposals about the administration of node machines

#NetworkEconomics

Proposals about voting and node rewards

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.

What are Neurons?

A neuron represents a given amount of ICP tokens that cannot be exchanged or transferred during a predetermined lock-up period.

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.

A governance proposal describes a method in a canister. It is called if the votes are in favor of the proposal.

Proposal submission

A user wishing to submit a proposal needs to specify the following:

Neuron ID

Type of proposal

Proposal parameters

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.

Using the NNS dApp

Understand what the Network Nervous System (NNS) is and how it works

More about the NNS

What are Neurons?

Learn more about the neurons of the Network Nervous System and what purpose they serve

More about Neurons