Nym Permanent Testnet Sandbox

After months of development and ahead of our much anticipated mainnet, today we released Nym’s latest and final testnet, Sandbox.

Author: Nym
10 mins read
0bQ49cDO7SXCwOLLh

Sandbox is a permanent testnet that will run alongside Nym’s mainnet. As it says on the tin, Sandbox is in fact a sandbox for developers, privacy researchers and anyone who wants to try Nym out before integrating their applications to the main Nym network for metadata privacy that it provides.

In this post we will go through the new features and mechanisms of Sandbox, how you can test it and the vision ahead.

Why Sandbox, what’s new and the vision

Sandbox is Nym’s permanent Testnet. Going forward, every new feature in the Nym network will first be implemented and tested in Sandbox before being available in the Nym main network.

Sandbox is not incentivized but it includes NYMT test-tokens designed to replicate the tokenomics of the Nym mainnet. NYMTs have no real world utility but they mimic the economics, reward sharing and other mechanisms of the Nym mainnet such as active, standby and inactive node sets.

Even though Sandbox is not incentivized, It will be beneficial to the mix node operators to try and run nodes initially in Sandbox to get the hang of the reward mechanism that will exist in the mainnet. Same thing for the delegators, if they want to learn how to make the best out of their stakes. Please read on to know how to access Sandbox.

Below we explain some of the new concepts that will be launched and tested with Sandbox for the first time before mainnet launch.

Active, standby and inactive sets:

In the current Nym testnet Milhon, there are about 5000 mix nodes around the world. While this is great and shows the ample supply side for Nym’s privacy network, it’s a large number of nodes to launch the main network with given the current user base and the demand side.

In the early days of the Nym mainnet, the size of the Nym mixnet in terms of number of nodes should be relative to the usage and size of the traffic that goes through it. That is small but with the potential for fast expansion in the event of sudden spikes in usage.

If the mixnet is too big compared to the volume of traffic that goes through it, the per-node traffic becomes too thin and with it the network becomes less private. Conversly when the same traffic is routed through a smaller network, more data/traffic from multiple users is “mixed” together by the same nodes within the same time window than they would be in a bigger network, providing more privacy for each packet of data and the users.

So depending on the demand for usage, there will be a varying number of mix nodes that the network will need to incentivize to actively route traffic per epoch. The number of incentivized nodes should be large enough for the system to be sufficiently decentralized and if the user demand for bandwidth grew, the network should be able to adjust accordingly. This is why per epoch the network will pick a set of nodes and place them as active and standby node sets.

The reward mechanism rewards both sets and so we call them the reward set. Active nodes receive higher rewards for the epoch than the standbys, since they are compensated based on the work performed relaying packets in the mixnet.

In Sandbox, and most probably initially in the mainnet, we will be selecting 720 mix nodes per epoch (every hour) in the reward set. Of those 720 nodes, 300 (or 100 per layer) will be in the active set — actively routing traffic, while the other 420 will be in the standby set ready to be used should the demand for the Nym mixnet increase in a short notice.

The initial 720 nodes, allow for a mixnet with up to 240 mix nodes per layer. With each node being expected to route up to 1 Gbps, this configuration can handle up to 240 Gbps of peak throughput.

The selection of the reward set in each epoch is at random and based on the total bond, with nodes with higher delegators having higher chances of being selected as part of the reward set.

In the future if more mix nodes are needed to meet an increased demand for mixnet bandwidth, the number of mix nodes in the reward set can be increased via governance mechanisms.

In the explorer you will be able to see if a node is part of the reward set based on it’s colour on the node list, where green indicates active nodes, blue standby and white the inactive nodes in the epoch.

Node saturation point:

Mix nodes are rewarded proportionally to their total amount of bond (pledge + delegations) up to the saturation point. Once a node’s bond reaches saturation, rewards max out and any additional stake won’t increase the node’s rewards any further, meaning that any extra stake on an over-saturated node is ‘wasted’ compared to delegating that amount on an under-saturated node.

Conceptually, saturation is the amount of stake that each node could have if (1) ALL available stake in the network was staked, and (2) the stake was equally distributed over K nodes where K is the number of nodes in the reward set (active + standby).

As explained in the previous section, the number of mix nodes that the network wants to incentivize (K), must be large enough for the system to be sufficiently decentralized. Furthermore, if user demand for mixnet bandwidth grows, increasing K allows adding more nodes to the mixnet to increase its capacity.

The Nym mixnet reward mechanism encourages all stakeholders to cluster their stake around the best performing k mix nodes.

The saturation point determines the optimal allocation of stake to nodes and is calculated as S/K where S is the total supply of token available to stake and K is the number of nodes in the reward set.

Assuming K=720 and S=720M NYMT of available token supply that can potentially be staked, nodes’ saturation point will be 1M NYMTs. Meaning any extra stake delegated to a node beyond 1M will not generate any additional rewards.

Profit Margin:

Operating a mix node requires not only a pledge in tokens, but also an investment of time, effort, and upfront money to purchase or rent hardware and network resources. Mix node operators receive higher rates of rewards than delegators as compensation for their investment. A significant fraction of stakeholders, however, may lack the time, expertise or motivation to set up and operate a mix node, preferring instead to delegate their stake to mixnodes operated by others.

Profit margin of a node is the cut of the delegators’ reward that the operator takes before rewards are distributed to the delegates. The profit margin is set at the node registration by the operator and can be changed later in the node settings of the wallet.

The profit margin is defined as a percentage where 0 means no commission is taken by the operator, and 100 means all node rewards are taken by the operator. If the operator does not set the profit margin, the system gives it a default value of 10%.

Rewards:

There is a fixed supply of 1B tokens in Sandbox and similarly the Nym mainnet. 250M of which is put in a pool called “mixmining”. The pool periodically releases rewards that are distributed to mix nodes in the reward set. More precisely, every month 2% of the funds in the pool are released for distribution as rewards to the set of mix nodes. The rewards are allocated to individual mix nodes according to the Nym mix reward algorithm, taking into account node’s performance, uptime, bond and stake saturation level.

Mixmining pool funds the bootstrapping of the mixnet and its initial operations (first few years). This ensures mixnet availability and quality of service from early on, while the user base and services on Nym develop and grow — until they eventually sustain the mixnet with service fees, replacing the mixmining pool as the main source of rewards for mix nodes.

To see how rewards are calculated, you can check the formulas here

Delegation:

When delegators delegate stake to a node, they receive a proportional fraction of its rewards. The amount of rewards they receive is however dependent on their choice of mix node and its parameters. The Nym reward system is designed so that delegators receive higher rewards when they delegate their stake to nodes with high uptime, throughput and cost-effectiveness.

When choosing to delegate to a mix node these are the parameters to consider:

The performance of the mix node that reflects the fraction of correctly processed packets from all the packets routed via the node. Mix nodes miss out on rewards for being offline or for dropping packets due to congestion. The Nym explorer provides information on the measured performance of the node. The best choice of mix node is one with maximum performance of 100%. Any decrease in performance linearly decreases the rewards.

The level of stake saturation of the node as explained above. A node has a stake saturation level of 100% when its ratio of bonded stake is 1/k, meaning that 1/k of all available token supply is staked on the mix node (k being the number of nodes in the reward set). A stake saturation level of, e.g. 40% means that the node’s stake is 40% of the saturation point. If the saturation point is 1 million NYMT, a node staked at 40% of saturation has 400k NYMT of stake. Nodes close to stake saturation receive maximum rewards.

The size of the node operator pledge. The Nym mixnet reward distribution scheme gives a premium to mix nodes with higher pledges. Thus, the larger the pledge of a node, the higher its potential rewards. A node with maximum pledge (at near saturation point of one million NYM) can receive up to 30% more rewards than a node with minimum pledge (of one hundred NYM) that is saturated via stake delegation.

The node cost and profit margin. The rewards received by a node are distributed among the operator and delegates taking into account the node cost, which is refunded to the operator before distributing any rewards to delegates, and the node’s profit margin, which determines the fraction of rewards corresponding to delegated stake that are taken as fee by the node operator. Mix nodes with lower declared costs and profit margins distribute a larger share of received rewards to their delegates.

You will be able to see all these parameters and a few more in the upcoming version of the Network Explorer.

How to test Sandbox?

Soon Sandbox will have a slow faucet to drop NYMTs for whoever wants to test the network.

For now we have transferred all the funds from the previous Milhon network to Sandbox. That is all the funds in the wallet addresses, bonded or delegated to nodes. So if you were running a node or delegatig to one in Milhon, in order to access your funds download and install the new wallet, then use your existing mnemonic to access your funds.

Once you access your NYMT funds, you can run a node. Follow the instructions in the docs to build a new node, or download the nym-mixnode from our GitHub releases page for v0.12.0. Once your node is running, bond your funds in the wallet and you are done. If you wish to delegate your funds to a mix node, you need to do so from the new wallet too. You can check the status of your node and the network in the Sandbox explorer.

The wider community can start running nodes in Sandbox and testing things out when we open the NYMT faucet.

In the meantime, you can download the new wallet and get yourself familiar with its different features for when the faucet opens or for mainnet!

As always thank you for being a supporter of privacy.

Share
VPN-screen.svg

INTRODUCING NYMVPN

Advanced privacy built for the age of AI

Artboard 1.svg