Do you want to stake your ICP tokens on the Internet Computer? Follow our detailed step-by-step guide and learn how to earn rewards by voting in the Network Nervous System.
The Internet Computer blockchain has evolved rapidly since its Genesis launch in June 2021. Unsurprisingly, the network continues to enjoy steady growth, all thanks to a dedicated development team.
The Internet Computer is governed by holders of ICP, the network’s main utility token with a wide range of functions. The ICP utility token, developed by the DFINITY Foundation, powers the tokenomics on the Internet Computer protocol.
This article focuses mainly on the NNS and how to stake your ICP utility tokens to earn voting rewards. This guide is a step-by-step beginner’s guide, so you don’t need to have prior knowledge of the (inner) workings of the Internet Computer.
You’ll learn how the NNS works and how to stake your ICP tokens in neurons through the NNS. Without wasting any more time, let’s start by looking at what the Network Nervous System is and how it works.
What Is the Network Nervous System (NNS)?
The Network Nervous System (NNS) is the autonomous governance software that sits at the core of the Internet Computer network. The NNS controls the entire Internet Computer and manages various network processes, from upgrading the protocol to increasing the network’s capacity.
Through the Network Nervous System (NNS), anyone can participate in the stewardship of the network. The only criterion is holding some ICP utility tokens, which will be staked in an account known as a “neuron.”
Dubbed the ‘brain’ of the Internet Computer, the NNS enables you to make democratic community-based decisions for the Internet Computer. In the same vein, you can think of neurons as voting units for participating in on-chain governance.
The neuron acts as a special delegate for holders, allowing you to accrue rewards by voting on proposals submitted to the NNS. Thankfully, you can start neuron staking with as small as 1 ICP token to familiarize yourself before you fully commit.
Neuron owners can vote manually on each proposal, or you can automatically follow other neurons’ votes. And the best part? You’ll still receive your share of voting rewards in full.
Side note: This form of governance is known as “liquid democracy.” You can refer to this article for more details.
You can either vote to adopt or reject a pending proposal, and you can also submit a proposal through your neuron(s). This enables you to have a say in how the Internet Computer operates. As such, anyone can contribute to building an open, secure, and decentralized internet.
Now, let’s look at how the NNS works, including its key functions.
How Does the Network Nervous System Work?
Picture an on-chain decentralized governance system; how would such a system work? Well, for one, participants in the system would need to have a say in the operation of the system because “decentralized.”
In other words, they’d need to have voting power and also be able to suggest changes. In practice, these systems are easy to achieve; indeed, we’ve seen them all around us. You probably know them as decentralized autonomous organizations — or DAOs.
However, I bet you’ve never seen a DAO governing a blockchain before. Besides the Internet Computer’s Network Nervous System, at least. Blockchains are typically governed by gatekept groups of core developers and technical contributors, and the token holders are often excluded.
The DFINITY Foundation created the NNS to change this narrative, and that’s the core of how the NNS works. Today, thousands of neurons decide how the Internet Computer is governed (a first of its kind!)
More specifically, the NNS can upgrade the protocol and software running on node machines, onboard new node providers, create new subnet blockchains to scale, and add node machines into the blockchain network.
The NNS controls several parts of the Internet Computer blockchain, including:
- Which data center providers participate in the network;
- The number, location, and ownership of the nodes accepted from a data center provider;
- Which nodes get assigned to subnet blockchains;
- Whether to create new subnets to balance the network load;
- Whether upgrades to canisters or a new protocol version are allowed.
The DFINITY Foundation, Internet Computer Association, and neuron holders submit the above and other important upgrades as proposals, which are put to the vote. ICP utility token holders who have locked up their tokens can gain rewards for adopting or rejecting these proposals.
In addition, the NNS creates new subnets by merging node machines from various independent data centers. These subnets are then used to host canisters, a special type of smart contract. The NNS securely combines the computing power of a diverse network of node machines to form the government of the Internet Computer blockchain.
Furthermore, the NNS continuously creates subnets based on the resource needs of canister smart contracts and the number of available connections to other subnets. This vast processing power and on-demand subnet creation enable the Internet Computer to achieve infinite scalability and 'web speed.'
Key Concepts You Should Know about NNS Staking
Here are some concepts you might encounter when navigating the NNS. I’ll briefly go over them, so you don’t get confused.
The maturity of a neuron determines its ability to spawn a new neuron and the amount of newly minted ICP locked in the new neuron. When you create a neuron, the starting maturity is zero. As you vote with the neuron, the NNS increases its maturity to increase your rewards.
Earlier, I mentioned a term you’re probably unfamiliar with: “liquid democracy.” Liquid democracy is a novel governance concept introduced by the Internet Computer. This allows you to set your neuron to follow other neurons’ votes fluidly. You can automate voting by following specific neurons and proposal topics (more on this later).
Although each proposal submitted to the NNS is unique, they’re organized into topics. For instance, you might be interested in voting only on proposals related to node machines, governance, or managing subnets.
“Disburse” is one of the commands you can perform on a neuron. In this context, it means to unlock a locked neuron and withdraw its ICP balance. When the neuron’s dissolve delay hits zero, the owner can disburse the neuron’s stake and transfer its locked ICP balance to a specified new ledger account. Once this is done, the neuron’s ID and ledger account disappear from the governance canister.
Note: It takes seven days to dissolve and disburse a newly spawned neuron, which you can initiate by clicking “Start Dissolve.”
You will enjoy maximum voting rewards if your neuron attains its maximum possible voting power. At the same time, the network will enjoy long-term sustainability if neuron owners remain committed to voting with a long-term view toward increasing the network’s value.
The dissolve delay is how long a neuron is locked up. It’s one of the key factors that will determine your voting rewards. As such, the NNS incentivizes neuron owners to set their dissolve delay as high as possible by disbursing more rewards to neurons with longer dissolve delays, which you can configure for up to eight years.
You can estimate your locked neuron’s voting power based on several factors, including the stake, dissolve delay, and age. Primarily, a locked stake of 1 ICP equals one voting power. The minimum dissolve delay is six months, up to eight years maximum, granting a 1.06x and 2x voting power bonus, respectively. All other durations in between the minimum and maximum scale linearly.
Finally, the age of a neuron (i.e., the length of time locked up without dissolving) also grants a multiplier bonus. An age of four years grants a 1.25x bonus multiplicative with any other bonuses, while ages between zero seconds and four years scale linearly.
This implies that locking up your neuron for eight years and leaving it locked for at least four years gives you the maximum voting power of 2.5 votes per staked ICP.
How to Stake ICP Tokens on the Network Nervous System
Pro tip: If you’re a visual learner, follow this video guide on staking ICP tokens in your Network Nervous System account.
There are currently three ways to access the NNS, but the NNS front-end dapp offers the best UX. The interface is intuitive and the experience memorable, allowing you to stake and vote on proposals without hassles.
To that end, this guide will show you how to navigate the front-end dapp.
How to Log into the NNS via Internet Identity
On a smartphone or computer with network access, follow these steps:
Step 1 — Login to the NNS dapp
To access the NNS dapp, you need an Internet Identity. If you already have an II anchor set up, skip to the third step. If you don’t have one yet, go to the Internet Identity dapp in your browser and click Create Identity Anchor.
To create an Identity Anchor, provide a device name and click Register. Complete the CAPTCHA and click Next. You’ll be greeted with a success page holding your anchor ID (be sure to write this down). Verify your identity by choosing between USB Security or your Device Security.
Step 2 — Set up account recovery
After confirming the account, you should set up a recovery method for the identity. There are two supported methods: recovery phrase and hardware security key. You can back up your seed phrase by writing it down in a safe place or adding a USB hardware security key.
To be safe, add one more device to your Internet Identity. Doing this would safeguard your II Anchor and its associated neuron(s) or ICP tokens from loss. It also helps you maintain access to your Identity Anchor from multiple devices.
Once you’ve set up a recovery option, you’ll see a screen like the one below. Now you have successfully created an Internet Identity account.
Step 3 — Authenticate using Internet IdentityNext, head to the NNS front-end dapp and authenticate using the Internet Identity dapp. After authorizing, you have successfully logged into the Network Nervous System (NNS), and this is what you will see:
How to Transfer ICP Tokens to the NNS
You can buy ICP on major crypto exchanges like Binance, Coinbase, or any other exchange where ICP is available. To do this, simply follow these steps:
- Log in to your crypto exchange account and navigate to the Wallets tab.
- Select the Internet Computer token (ICP) in the list of tokens and buy using your credit/debit card or any other available method.
- Navigate to the Withdraw screen and paste the wallet address you copied from the NNS dapp.
- Complete the security verification and wait for some minutes. You’ll now see the ICP tokens deposited in your NNS wallet.
How to Stake ICP in a Neuron via the NNS Dapp
By staking, I mean locking up your ICP tokens in a neuron with a set dissolve delay. A locked neuron has several attributes, some of which I’ve explained earlier (maturity, dissolve delay, and voting power).
Another important attribute is the dissolve state. This state determines whether it is currently dissolving towards accruing liquidity. Again, the minimum stake is 1 ICP with at least six months dissolve delay.
Here’s how to stake ICP into a neuron:
Step 1: Open a browser and navigate to the NNS dapp. Authenticate using your Internet Identity.
Step 2: Go to the My Neuron Staking tab and click Stake Neurons.
Step 3: Select the source account from which the tokens will be withdrawn. Step 4: Enter the amount of ICP tokens you want to stake, and click Create. Remember, the transaction fee is 0.0001 ICP.
Step 4: Enter the amount of ICP tokens you want to stake, and click Create. Remember, the transaction fee is 0.0001 ICP.
Step 5: Set the preferred duration of the dissolve delay, and click Set Delay, confirming it on the next screen that appears. You have the option to skip this step but I wouldn’t recommend doing that.
Step 6: On the next screen, follow neurons by selecting your topics of interest for the proposals you can vote for. Choose the neuron to follow by clicking Add Followee and entering the neuron ID.
Don’t worry if you can’t think of any neuron IDs; the screen has a list of popular neurons. For newbies, I recommend following the DFINITY Foundation and Internet Computer Association neurons; of course, you can always modify your followees later.
Close the neuron screen and you are now done staking your neurons in the NNS, like so:
How to Vote on Open Proposals in the NNS
Once you create a neuron with a dissolve delay of at least six months, the neuron is eligible to submit and vote on proposals in the NNS.
Again, you can vote manually on each proposal or configure your neuron to “follow” other neurons or topics. Following other neurons causes your neuron to automatically cast similar votes to most followed neurons.
Say your neuron follows 20 neurons under the Governance topic. If 11 of those neurons vote to adopt a governance proposal, your neuron will automatically vote to adopt the same proposal.
Vote Manually on Specific Proposals
Here's how you vote manually on proposals, even if you're following neurons:
- Navigate to the NNS dapp in your browser and authenticate using Internet Identity.
- In the Vote on Proposals tab, click any Open proposal to see its details and the voting power for the neurons associated with your identity.
- Select the neuron IDs with voting power you want to use to cast your vote.
- Click Adopt or Reject to cast your vote.
Besides manual voting, you can also define the followee rules to vote automatically on proposals. This helps maintain a democratic governance system with control evenly distributed among participants.
Even more, many of the proposals submitted to the NNS are rather technical. Liquid democracy can prove particularly useful when you don't have the time or technical expertise to vote on all proposals.
Vote Automatically by Following Other Neurons
Here’s how to configure your neuron to follow other neurons automatically:
- Select your neuron in My Neuron Staking.
Navigate to your selected neuron in the NNS dapp.
- Click Follow Neurons.
- Select a topic. Once you select a topic, you can add the neuron ID that you want your neuron to follow for voting on that topic.
- You can update your neuron followee selections at any time.
How the NNS Calculates Voting Rewards for Staking
The NNS mints a fixed number of voting rewards based on a daily schedule. This fixed neuron reward is divided among all eligible neurons based on several factors which make up their relative claim.
Like the voting power, your neuron’s relative claim is calculated from the neuron’s stake and its dissolve delay. The age of the neuron marginally increases the rewards.
Another point to note: by voting actively on proposals, your neuron generates more voting rewards. In other words, if you have voted on every proposal, you’ll receive the maximum voting reward apportioned to your neuron. And that’s even if you follow other neurons’ votes.
As you vote on proposals and receive rewards with your neuron, its maturity increases. When the maturity of a neuron has risen above a threshold, it can be instructed to “spawn” a new neuron. Spawning creates a new neuron that locks a balance of the parent neuron’s ICP on the ledger.
More specifically, the new neuron’s balance equals a proportion of the locked ICP token balance, where the parent neuron’s maturity determines the proportion. The new neuron can remain controlled by the same parent principal or be assigned to a new principal.
When a neuron spawns another neuron, its maturity resets. The spawning process can take up to a day and is slightly non-deterministic. This means the actual quantity of ICP tokens obtained in the newly spawned neuron may be slightly above or below the expected amount, according to an inverse relationship with the spawning volume taking place at that moment.
Neurons configured with the maximum dissolve delay of eight years receive up to 20.8% in annualized voting rewards (figures as of April 26, 2022).
To calculate estimated returns on your staked ICP, follow this link.
- Disclaimer: The views and opinions expressed on this website are solely those of the original author and other contributors. These views and opinions do not necessarily represent those of the CoinHustle staff and/or any/all contributors to this site.