Performance Extrapolation for Unassigned and Partially Assigned Nodes
Another topic presented during the Nov. meeting was the methodology for calculating rewards for nodes that are entirely unassigned and those that are partially unassigned during a given reward period. The current proposed algorithm for partially assigned nodes extrapolates their performance during active periods to estimate their performance during unassigned periods. For fully unassigned nodes, the algorithm instead extrapolates the performance of assigned nodes (fully and partially assigned) to estimate the performance of those that are entirely unassigned. One artifact of this methodology is the example node provided at the following link: Node Example by @tina23 .
In this case, the node was assigned to a subnet for two consecutive days before being removed on the third day due to a high failure rate. This resulted in a low reward multiplier, as the failure rate during the assigned period was extrapolated to the unassigned period under the current methodology. Consequently, the node’s low performance during the assigned period adversely impacted its rewards.
One concern raised about this methodology is that it may unfairly penalize nodes that didn’t have sufficient time to recover. For instance, a node might have been healthy during the unassigned period, yet its extrapolated performance suggests otherwise, resulting in a low failure rate assignment.
To address this issue, one proposed solution was to establish a minimum number of assigned days required for a node to be eligible for evaluation. For example, if a threshold of five assigned days was implemented, nodes assigned for less than five days would not be evaluated individually. Instead, their performance would be extrapolated using the performance data of other nodes from the same node provider that met the threshold. While this approach appears more equitable, it introduces potential risks. A node provider could focus on maintaining only a small subset of nodes in optimal condition while neglecting others. Poorly maintained nodes could then be promptly unassigned, allowing their rewards to be calculated based on the well-performing subset.
This strategy could undermine the broader goal of incentivizing overall node health and ensuring the blockchain’s stability, where all nodes are expected to operate at a high standard.
Extrapolate based on all nodes performances
A compromise is to avoid extrapolating the performance of a node during its “assigned period” to its “unassigned period.” Instead, the node’s unassigned period performance could be calculated using the average performance of all active nodes during that period.
Applying this to the example above:
The node provider had 16 nodes assigned during the relevant period, 15 of which exhibited very good performance, while the node in question performed poorly. The average failure rate across these nodes can be calculated as:
Avg. FR = ((15 × ~ 0) + 0.41) / 16 = 0.025
Using this average, the node’s overall failure rate for the rewarding period would be:
FR(ognrk) = ((0.41 × 3) + (0.025 × 28)) / 31 = 6.2%
With a failure rate of 6.2%, the node would have achieved a 100% reward multiplier.