Rating

Introduction

Rating influences a validator's likelihood of being selected for consensus in each round. A high-performing validator is preferred in the consensus process over a validator that sometimes fails to contribute or is not consistently online. Each validator possesses a rating score, which reflects its overall reliability, performance, and responsiveness. This value is crucial, and node operators should always be aware of their validators' ratings.

INFO

Only validator nodes, not observer nodes, have a rating score.

When validators join the network immediately after staking, they start with an initial score of 50 points.

For details on the calculations:

Rating Metashard Validators and Shard Validators

Validators gain or lose rating points in a round depending on their role in that round (consensus proposer vs. consensus validator) and on their behavior within that role. Rating penalties are currently set to be 4 times as large as the corresponding gains. This means that a validator needs to perform an action correctly 4 times in order to compensate for performing it once incorrectly. Moreover, consecutive losses are compounding, which means that the rating penalty increases with each transgression. See

INFO

Rating gains and losses on the MetaShard differ from those on the regular shards.

To locate a specific validator, utilize the "Search" box, then click on the desired validator in the resulting list. This action will take you to the "Node Details" page, which offers status information about the validator. You can find the historical and current ratings of individual validators in the OneFinity Network Explorer at the following URL: https://explorer.onefinity.network/nodes.

The "Node Details" page shows a graph of the validator's rating over previous epochs.

The jail

Validators are jailed for having a rating under 10, meaning they're removed from the shard and excluded from consensus and rewards. However, if jailing a validator would drop a shard's size below a critical threshold, the validator won't be jailed to maintain network health.

Reinstating Jailed Validators

To bring a jailed validator back into the network, an unjail transaction must be sent to the Staking SmartContract. Upon unjailing, the validator enters a passive state for the duration of the current epoch and is then assigned back to the shard in the next epoch. It must synchronize with the shard before becoming active again.

INFO

Validators are jailed at the end of an epoch if their rating drops below 10 and fails to recover by the epoch's end. Jailed validators have a chance to return to the network by meeting the unjailing criteria and undergoing the reinstatement process.

To improve the rating of a validator, ensure it is updated regularly, maintains strong connections, and operates on hardware that meets the system requirements.

Multiple Validators on the same machine

Running multiple validators on a single machine can affect your rating and, as a result, your rewards. This happens if your machine does not meet the minimum requirements multiplied by the number of validators running on it.

Consensus probabilities

Without a rating system, each validator would have an equal chance of being chosen for consensus. However, introducing rating modifiers shifts these odds by adjusting the selection probability according to a validator's performance rating. This approach prioritizes high-performing validators, increasing their likelihood of being selected, while decreasing the chances for lower-performing ones. Essentially, rating modifiers refine the selection process, ensuring a more efficient and reliable network operation.

The following table shows how the rating of a validator influences its probability of being chosen for consensus:

Rating intervalModifier

[0-10]

-100%

(10-20]

-20%

(20-30]

-15%

(30-40]

-10%

(40-50]

-5%

(50-60]

0%

(60-70]

+5%

(70-80]

+10%

(80-90]

+15%

(90-100]

+20%

The consensus algorithm prioritizes validators based on their adjusted selection probabilities, considering these probabilities in relative terms to one another.

Calibration

For a 24-hour epoch, the rating system is designed to:

  • A new validator can achieve its maximum rating within approximately 72 hours, ensuring continuous productivity without any downtime.

  • The rewards earned for acting as a block validator should be proportionate to the rewards for serving as a block proposer. This equilibrium needs to reflect the reality that the chance of being chosen as a proposer is significantly lower than the chance of being selected as a validator in the consensus process.

Rating validators

Rating the block proposer

The node chosen to propose the block for a specific round will:

  • Earn 0.23148 points when your proposal succeeds by:

    1. Properly constructing the block

    2. Gaining acceptance from consensus validators

    3. Signing and broadcasting the block to the network

  • Lose 0.92592 points for an unsuccessful proposal.

The loss incurred is four times greater than the gain. Consequently, a proposer needs to succeed four times in order to recoup the points lost from a single missed block.

For proposers, the rating system is more rigorous, implementing a compounding penalty rule. This rule accelerates the decline in a node's rating following unsuccessful proposals.

The amount of 0.92592 points is deducted from the rating of the proposer on the first unsuccesful proposal, but the second unsuccessful proposal will be penalized by 0.92592 × 1.1. The third, by 0.92592 × 1.1 × 1.1. The general formula is:

0.92592×1.1cfp10.92592×1.1cfp10.92592 × 1.1^{cfp-1}0.92592×1.1^cfp^−1

The penalty system exponentially increases imprisonment for proposers who consecutively fail to pass proposals. The variable cfp tracks the count of such failures.

Rating the block validator

The nodes participating in a consensus round, aside from the proposer, will:

  • Earning Points through Validation

    Validators can earn 0.00367 points through successful validation, which involves two key actions:

    1. Block Proposal - The proposer develops and proposes a block.

    2. Block Signature - The validator acts as a signer on the proposed block. Being a signer signifies that the validator has approved the block and was among the first to be included in the 2/3 majority of signatures received by the proposer.

  • Lose 0.01469 points for an unsuccessful proposal.

To receive gains, a validator must have been a "signer" in at least 1% of recent blocks. Lack of past performance means no gains until improvement is noted. Also, should the proposer fail to propose a block in a given round, all validators will see a reduction in their rating.

Rating metashard validators

The rating mechanism for the metashard is identical with the rating mechanism of the normal shards, but the gain / loss values themselves are configured differently.

Rating the metashard block proposer

The metachain proposer will:

  • Gain 0.23148 points for a successful proposal;

  • Lose 0.92592 points for an unsuccessful proposal.

The compounding penalty rule also applies to block proposers of the metachain.

Rating the metashard block validator

A validator taking part in consensus on the metachain will:

  • Gain 0.00057 points for a successful validation;

  • Lose 0.00231 points for an unsuccesful validation.

The rules from Rating the shard block validator apply for the metashard validators as well.

Last updated