Operators
Nym Mixnet Rewards

Nym Operators Rewards

ℹ️

The data on this page were last time updated on

Wednesday, November 20th 2024, 15:53:00 UTC

.

We are working on the final architecture of Fair Mixnet tokenomics implementation and its detailed documentation. The current design is called Naive rewarding. It is an intermediate step, allowing operators to migrate to nym-node in Mixnet smart contract and for the first time recieve delegations and earn rewards for any nym-node functionality, in opposite to the past system, where only Mixnodes were able to recieve delegations and rewards.

Please read the roadmap section below to see the planned development.

Overview

This is a quick summary, to understand the full picture, please see detailed Rewards Logic & Calculation chapter below.

  • The operators of nym-node get rewarded from Mixmining pool, which emits around 6000 NYM per hour.
  • A rewarded set of nym-nodes selected for Nym network routing and mixing can be is currently 240 nodes in total and it's selected for each new epoch (60 min). The number can be adjusted - look here for the current value: validator.nymtech.net/api/v1/epoch/reward_params (opens in a new tab)
  • nym-nodes can run in mode entry-gateway, exit-gateway and mixnode, which are positioned into layers
  • NymVPN users can chose to route through Nym Network in two ways:
    • Mixnet: 5 layers routing and mixing - full privacy
    • Wireguard: 2 layers routing, skipping 3 mixing layers - fast mode
  • The current reward system is Native rewarding - an intermediate step - where each layer get's rewarded the same
  • In the final model, nodes will get rewarded based on their layer position and the work they do (collected user tickets), where and the reward distribution per layer will be according to a decision made by the operators (opens in a new tab) as follows:
    • 5-hop: 16%-16%-16%-16%-36%
    • 2-hop: 33%-67%
  • Currently Gateways earn rewards only from taking a part in the rewarded set. The operators can sign up to a grant program as a substitution for 2-hop routing.
  • To read more about the final design and future implementation, see Roadmap chapter for more details.

Rewards Logic & Calculation

Note that in the current intermediate model we use one active set to reward all nodes and they are asign same (naive) work factor of 1 / 240, whether they work as Mixnode or Gateway of any kind, in both 2-hop and 5-hop mode. In reality it means that all nodes are rewarded within 5-hop reward scheme only.

However NymVPN client can chose any nym-node --mode entry-gateway and --mode exit-gateway in the network to route through the mixnet and as well as any of those which passed wireguard probing test (opens in a new tab) to route as dVPN nodes.

Nym Network rewarded set distribution

Active Set Selection

Performance matters!

For a node to be rewarded, the node must be part of a Rewarded set (opens in a new tab) (which currently = active set) in the first place. The active set is selected in the beginning of each epoch (every 60min) where total of 240 Nym nodes - represented by 120 mixnodes and 120 gateways, are randomly allocated across the layers.

The algorithm choosing nodes into the active set takes into account node's performance and stake saturation, both values being between 0 and 1 and config score which is either 0 or 1.

Config score is introduced: The nodes selection to the active set has a new parameter - config_score. Config score currently looks if the node binary is nym-node (not legacy nym-mixnode or nym-gateway) AND if Terms & Conditions are accepted. Config score has binary values of either 0 or 1, with a following logic:

Run nym-node binaryT&C's acceptedconfig_score
TrueFalse0
FalseTrue0
FalseFalse0
TrueTrue1

The entire active set selection probablity:

📌

active_set_selection_probability = config_score * stake_saturation * node_performance ^ 20

For a comparison we made an example with 5 nodes, where first number is node performance and second stake saturation (assuming all of them config_score = 1 and not 0):


node_1 = 1.00 ^ 20 * 1.0 = 1
node_2 = 1.00 ^ 20 * 0.5 = 0.5
node_3 = 0.99 ^ 20 * 1.0 = 0.818
node_4 = 0.95 ^ 20 * 1.0 = 0.358
node_5 = 0.90 ^ 20 * 1.0 = 0.122

As you can see the performance (also known as Routing score) is much more important during the active set selection. A node with 100% performance but only 50% stake saturation has much bigger chance to be chosen than a node with 95% performance but full stake saturation and incomparably bigger chance than 90% performing node with 100% stake saturation.

Layer Distribution

Once the rewarded set (currently 120 Mixnodes and 120 Gateways) is selected, the nodes can start to route and mix packets in the Nym Network. Each hour a total of 6000 NYM is distributed between the layers from Mixmining pool. Currently in our Naive rewarding intermediate design, all layers get a same portion, therefore each node is naively assigned same working factor and therefore earns 1/240 of the rewards per epoch.

We are working on the final design with the ratio implementing a decision made by the operators (opens in a new tab) as follows:

📌

5-hop mixnet mode:
16%; 16%; 16%; 16%; 36%


2-hop dVPN mode:
33%; 67%

Roadmap

We are working on the final architecture of Fair Mixnet tokenomics implementation. The current design is called Naive rewarding. This is an intermediate step, allowing operators to migrate to nym-node in Mixnet smart contract and for the first time recieve delegations and earn rewards for any nym-node functionality, in opposite to the past system, where only Mixnodes were able to recieve delegations and rewards.

On November 5th, we presented a release roadmap in live Operators Townhall (opens in a new tab) where we explained in detail the steps of Nym node and tokenomics development and the effect it will have on node operators and put it into a rough timeline.

Naive Rewarding

Naive rewarding is the current tokenomics design. The table below lists features and logic of this design.

Fair Mixnet

Fair Mixnet is the final architecture model that we work towards. The table below lists features and logic of the design once implemented.