Update to staking supply and active set — and the impact on mix node APY
This week there have been some important updates to the reward sharing parameters in the mixnet contracts. Namely, the stake supply and…
This week there have been some important updates to the reward sharing parameters in the mixnet contracts. Namely, the stake supply and the active set, which in turn affects the mix node saturation point. You can see evidence of these changes already in the explorer: the active set number, stake saturation point and the estimated rewards are all affected. These changes have been made in order to ensure a better quality of mixnet and better rewards.
This blog post will give an overview of what exactly has changed and why it matters — especially if you are a mix node operator or someone who has delegated to a mix node.
Before we go into further details, these changes may require some action on your part:
- If you are a mix node operator, your % saturation will look different, as will your estimated rewards. There is now competition to be in the active set, so make sure your node is fully operational!
- If you are a delegator, note that the stake saturation has changed, so you should check if the mix nodes you have delegated to are above saturation and consider redeeming your rewards and delegating to a different set of nodes! (This is now even easier through the new wallet interface).
What has changed?
Stake supply adjusted to 100m
The reported stake supply has been adjusted from an assumed total supply of 750m to 100m, to better reflect the real-world stake supply.
This does NOT mean the supply of NYM tokens has changed (total NYM supply is 1bn), it just means that the max supply that is currently liquid or in the vesting contract available for staking is only approximately 100m.
So the reward-sharing algorithm has been adjusted accordingly and now assumes there are 100m NYM tokens available for staking at this point in time, rather than the full stake supply of 750m (1bn minus the 250m mixmining pool). This change is important and affects stake saturation point and improves the APY, described below.
NOTE: there is a small bug, meaning the stake supply changes have not fully gone through yet. Core dev are fixing it as we speak so you should see evidence of higher rewards as a result of this change by next week.
Active set (k) adjusted to 240
The active set has been changed from 720 to 240 to ensure competition and better performance. When the active set was set to 720, all nodes were selected as the actual number of nodes was less. This meant the mixnet was not performing well as it included low quality nodes. With the adjustment, the overall quality of the network should start to improve.
There is now no standby set because it is not needed at this early stage of the network. This means a mix node is simply either active or inactive at a given epoch, with a higher probability of being in the active set if the node has good performance and high stake saturation.
Stake saturation point is now 416k
A mix node’s stake is the total of how much an operator bonds and how much token holders delegate. Combined, it represents the confidence in that mix node, and affects its probability of being selected to the active set to mix traffic and be rewarded.
The stake saturation point is a softcap, meaning any additional stake that a node receives above that point will no longer be of benefit — it will in fact begin to reduce the overall rewards for all stakers on that node by spreading out the share. The softcap is to ensure stake doesn’t centralise and that people delegate stake to a sufficient number of well-performing nodes.
The stake saturation is found by dividing the total stake supply by the number of nodes in the active set (100m/240). The rewards algorithm is designed such that nodes with 100% stake saturation will get the full share of mixmining rewards pool. The previous stake saturation was 1m, calculated on the basis of a 750m stake supply. This number is far from the actual reality at this early stage of the network, meaning the saturation point was far too high making it impossible for the majority of nodes in the network to get close to saturation. The adjustments from 750m to 100m means the saturation point is now 416k and more nodes will get full share of the rewards making them look more attractive to prospective delegators.
This also means that some nodes are now way oversaturated! So delegators, it is time to redeem your rewards and redelegate to a different set of nodes! And node operators, encourage your delegators to redelegate!
You will be losing out on rewards if you continue to stake on oversaturated nodes. To help distributing stake more evenly across nodes, the next release of the wallet will simply have delegation and compounding disabled for over-saturated nodes.
Go to the explorer, click on “Stake Saturation” to view nodes by saturation and you will see the over saturated ones with a red warning color.
Why were these changes made?
- Improve the quality of the network
The quality of the mixnet is currently not good enough for broad adoption and usage. There are simply too many nodes and gateways dropping packets. What is more, this is affecting the reputation of other mix nodes. There has been some dissatisfaction with the way that a mix node’s uptime is displayed because good performing nodes are at times seeing their uptime drop.
Here is what is happening: a node’s uptime is measured by measurement packets. These report back on whether the packet was successfully routed through the full path, meaning through a gateway, three mix nodes and another gateway. The implication is that a well-performing mix node can have its “uptime” affected by being in a pathway with an underperforming gateway or mix node.
Measurements have to happen like this. However, mix nodes with good performance should start to be less affected by badly performing nodes now that the active set is smaller, because there will be more competition.
The probability of being in the active set will decline for bad nodes. And this means higher performing mix nodes will be less likely to be in the same path as low performing nodes.
- Encourage competition
When the active set was 720, all nodes currently bonded in the mixnet were selected for the active set in every epoch because there were less than 720 nodes. This means there was no competition and no quality control. By reducing the active set number to 240, there will be actual competition to be included in each epoch, encouraging node operators to run functioning nodes, and ensuring that node reputation and delegations actually matter.
- Make delegations count
Before reducing the active set to a more competitive number, delegated staking had no actual effect on whether a node was selected or not because all nodes were selected. With a smaller set, only about half of the current number of nodes are selected for each epoch, which means the delegated stake will begin to make a real difference for a mix node’s probability of being in the active set — in turn affecting the rewards it will receive and the share that delegators receive.
This should make the whole network a lot more dynamic and ensure people will begin to see some real differences in rewards for good versus bad nodes and overall better APY.
- Improve APY
Last but not least, all the above means better rewards for well-performing nodes. The simulations that we ran before making these changes in fact reported an APY of up to 40% (annualised) for mix nodes with 100% uptime and stake saturation for the first months of the network, after which the rewards will begin to tail off to a more stable level.
Any questions - the Nym Discord and Keybase channels are open!
Privacy loves company
Discord // Telegram // Element // Twitter
The internet is global and so is Nym: join the Nym Community wherever you are and help build the private internet today.
English // 中文 // Русский // Türkçe // Tiếng Việt // 日本 // Française // Español // Português // 한국인