Foundation Nomination Program

This page describes the Foundation Nomination Program (FNP): an initiative to support community validators by delegating Aleph Zero Foundation's stake to them.

Starting with era 795 the Foundation Nomination Program is live! Please read on for the rationale behind it, the requirements and rules, inner workings of the program and the exact timeline for validators.

Rationale

The rationale behind the Aleph Zero Foundation Nomination Program (FNP) is to support the community validators, especially the smaller ones. In a way, it is a continuation of our previous efforts to move the stake away from the Foundation nodes and to the community nodes. The high-level idea behind the program is to use the stake of the Aleph Zero Foundation accounts to nominate high-performing community validators.

Requirements

The requirements for the program are very simple:

  • you need to pass KYC and register your validator at validators.alephzero.org (under the Foundation Nomination Program tab);

  • your validator needs to have the minimal commission (5%);

  • your node needs to have high performance (i.e. produce at least 90% of the expected blocks each era).

An additional rule is that if you increase your commission while being a part of the FNP, you will be removed with the next era with no possibility of automatic return.

The Aleph Zero Foundation reserves the right to:

  • remove a validator from the Foundation Nomination Program if they engage in malicious behavior (e.g. equivocation)

  • introduce modifications to the rules, most notably: change the formula used to award the points to the validator (as the number of validators and amount of funds staked change, the formula may need to be adjusted to ensure a fair distribution of nominations).

If you are already enrolled in the Testnet Validator Airdrop, you won't need to pass the KYC again. Simply use the "Fractal ID" button to login using your Fractal credentials and you will be able to access the FNP form.

Algorithm

The algorithm for choosing nomination achieves a fair distribution of nominations over time. Given that there are 5 foundation accounts with different amounts of stake, we developed an algorithm that balances the nominations over time. It works like this:

  • each era, every validator is awarded a certain amount of points based on their performance and the square root of own stake (below we explain why we chose this formula), with the exact calculation being: 10 * max(performance - 0.9, 0) * sqrt(own_stake).

  • the points are then normalised so that 1000 points in total are awarded each era;

  • each era, 5 validators with the highest amount of points are nominated;

  • a 1000 points in total is deducted from the nominated validators (proportionally to the stake the were nominated with), so that the next era different 5 are nominated. This means that your total number of points may fall below zero: that's perfectly ok and doesn't mean you've been penalized in any way.

Note that if your node is underperforming, you will fall behind in the ranking. However, this is not the same as being removed from the program, which will happen if you increase your commission after the start of the program.

You can check when your node is going to be nominated next by visiting the FNP ranking page. Please note that this 'ranking' is only used to determine the order in which nodes are nominated, it is not meant to serve as means of comparing validators. It will be constantly changing as next nodes are nominated.

Timeline

The timeline for the start of the program is a follows:

  • during eras 795-801 the points are accumulated to decide the initial ranking of validators;

  • starting with era 803 the nominations commence, following the algorithm described above.

This means that you have until the end of era 801 to sign up via the Validator Form and set your commission to 5% if you haven't done so already, and want to be eligible for the program. The calculation of points is separate from the commission, so you can set it during any era up to 801.

Rationale behind the formula

To recap, the formula for awarding points is: 10 * max(performance - 0.9, 0) * sqrt(own_stake). Let's break down the components of the formula:

  • including the validator's own stake in the calculation makes sure that splitting your stake into multiple validators is not incentivized. At the same time, using a square root of the stake instead of a linear function makes the calculation more beneficial for smaller validators;

  • the performance is 1 when you produced all expected blocks and 0 when you missed 10% or more. For example, if your node produced 95% of the expected blocks and your own stake is 40000 AZERO, the calculation will be: 10 * max(0.95 - 0.9, 0) * sqrt(40000) = 10 * 0.05 * 200 = 0.5 * 200 = 100;

  • the max in the formula ensures that the multiplier never falls below zero: if your node produced only 80% of the expected blocks, the calculation will be: max(0.8 - 0.9, 0) = max(-0.1, 0) = 0. Any performance below the 90% threshold will result in 0 points being awarded but no negative points are ever given for bad performance.

Last updated