Maximizing Voting and NNS Rewards
This article shows common best practices for user who wants to maximize both their participation in IC governance and NNS rewards.
The NNS is a community-controlled brain of the Internet Computer. It is an on-chain governance system where proposals are submitted and voted on by community members. The voting power of the community members is proportional to the amount of ICP, how long they stake it for, how long it has been staked, etc… Community members who vote are rewarded via ICP tokens (called “NNS rewards”).
This article lays out best practices for a community member who wishes to maximize their participation (and staking) in the network.
How To: Stake ICP and Vote
The best way to maximize participation (and NNS Rewards) is to vote, therefore it is key to know how one can vote.
To know how to vote, please see options ICP voting options.
For the part-time participant
The NNS is a liquid democracy which means that neurons can delegate their voting power to other neurons. This helps stakers in two ways: 1. Many people participate part-time and cannot follow every discussion, topic, forum, or proposal there are few best practices 2. Even those who participate full-time may not have the expertise they wish for every topic.
Thus users can take advantage of “liquid democracy” to follow neurons you trust to represent their interests. For example, if Alice’s neuron follows Bob’s neuron, then when Bob votes “ACCEPT” on a proposal, Alice’s neuron will vote as well. This has two consequences:
- Alice will receive rewards for voting (even if she did not manually vote)
- Effectively gives Bob’s neuron Alice’s voting power (which can always be revoked).
For a step-by-step instructions on how to set one's neuron to follow see How-To: Set your neuron to follow another neuron.
There are three important things to note about following:
1. Users choose which topics their neurons should follow
When a user chooses one or more neurons to follow, they have to choose which topics to follow them under. For example, Alice could follow Bob’s neuron for “network economics” topics and Alice can follow Charlie for “node admin” topics. If a user trusts a neuron across ALL possible topics, a user can use the NNS Frontend dapp to follow a neuron across two settings:
- “All topics except governance”
Please note that following does not guarantee full participation. It is possible that the followee neurons may not always vote, so users need to be aware of this risk when selecting neurons to folllow.
2. Governance is treated as a special topic
As noted in #1 above, Governance is treated as a special topic so users need to deliberately select it as a topic to follow. This is important because voting for NNS proposals for Governance proposals count much more for NNS rewards than any other topic. To maximize rewards, it is important to vote for Governance either manually or via following.
3. Users can select multiple neurons to follow
If a neuron has multiple followees, the vote that is cast on behalf of the neuron is the consensus of the followees. The rules for following are listed in Following multiple neurons.
Neurons to follow
A user can select any neuron to follow. All users have to do is input the neuron id. For convenience, there a few neurons which are listed in the NNS frontend dapp.
- DFINITY Foundation
- Internet Computer Association
- neuron id:
- neuron id:
Please note that neurons can be added or removed from the NNS Frontend dapp via community engagement. For example, ICPMN was added via recent proposal: https://dashboard.internetcomputer.org/proposal/38982
Following multiple neurons
When following multiple neurons for a topic, a neuron votes REJECT if half of those followed vote REJECT, and votes ACCEPT if more than half vote ACCEPT. If enough of the followed neurons abstain -- so neither half vote REJECT nor more than half vote ACCEPT -- the neuron will abstain as well.
For example, suppose Alice follows four neurons: neuron1, neuron2, neuron3, neuron4.
|Simple majority ACCEPT||ACCEPT||ACCEPT||ACCEPT||REJECT||ACCEPT||Most votes were ACCEPT|
|Simple majority REJECT||ACCEPT||REJECT||REJECT||REJECT||REJECT||Most votes were REJECT|
|Tie||ACCEPT||ACCEPT||REJECT||REJECT||REJECT||Default outcome is REJECT, so need more than half ACCEPT.|
|Simple majority ABSTAIN||ABSTAIN||ABSTAIN||ABSTAIN||ACCEPT||ABSTAIN||Need at least half of neurons to vote|
|Simple majority ABSTAIN||ABSTAIN||ABSTAIN||ABSTAIN||REJECT||ABSTAIN||Need at least half of neurons to vote|
Choosing a dissolve delay
For those neurons that vote, NNS rewards are distributed daily proportional to the age dissolve delay of the neurons. Age comes naturally with time, but dissolve delay is something that can be configured.
The longer the dissolve delay, the higher proportion of rewards. To get an estimate of the APY based on dissolve delay, see the calculator here: Estimate Rewards.