Replies: 1 comment 1 reply
-
Wow, thank you for this great work. I noticed that the Voting Weight Score Formula above is not producing the results you put underneath, for example:
And I have a question: how to measure latency of votes without considering the internet connection latency between the node and you, the observer? Shouldn't all representative nodes measure the performance metrics of each other? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Motivation
To help the average Nano holder select a representative, optimizing for Network performance, reliability, self-sovereignty, and censorship resistance.
Design Principles
Specification
Observations will be aggregated from multiple non-voting nodes.
Defining & measuring performance
A performant representative helps blocks reach quorum (confirmation) quickly and consistently. I propose the following metrics to capture speed and consistency
These metrics will serve as the basis for calculating composite metrics that will then be used to calculate a representative's score. Further research and observation will be required to develop the composite metrics. Potential composite metrics:
Defining bad, abusive, and misconfigured behavior, along with censorship
The following events will be considered bad behavior. Reps observed committing these behaviors should be immutably added to the bad behavior list along with the messages observed
Reps observed to be engaging in censorship should be added to the censorship list, along with information about which blocks they are censoring, until the behavior ceases.
The following events will be considered abuse or misconfiguration. Reps observed committing these behaviors should be added to the misconfigured reps list until the behavior ceases.
Defining & measuring uptime
Uptime will be measured over 1-minute and 5-minute resolutions with a representative being considered online if it generates a single vote (normal or final) for a block first observed in the period being monitored.
Defining & measuring reputation, commitment, and trustworthiness
Developing objective measures of reputation and trustworthiness are challenging, thus I have chosen to focus on commitment and attentiveness. A committed and attentive representative has been running for longer and applies non-contentious updates promptly.
Defining & measuring censorship, liveliness, and conflict resolution risks of voting weight concentration
Voting weight concentration increases the risk of censorship, liveliness, and conflict resolution issues. The key thresholds for voting weight concentration are 34% (censorship & liveliness) and 67% (conflict resolution) of the online weight or trended weight, whichever is greater. Being that 34% is less than 67% and liveliness is a more prominent risk that threshold should be the focus when considering how to develop a score for voting weight concentration. With that in mind, a potential voting weight score function could be a sigmoid curve scaled from 100 to 0 for voting weight values from 0 to 5%.
Voting Weight Score Formula
0.1% = 98 (x = 0.1)
0.5% = 96 (x = 0.5)
1.0% = 87 (x = 1.0)
1.5% = 66 (x = 1.5)
2.5% = 14 (x = 2.5)
4.0% = 0.3 (x = 4.0)
Defining the "Outdated" List
Representatives that are running an older version than the current version that has quorum will be added to the "Outdated" list. Representatives will remain on this list until they update to a version that has quorum.
Tasks
Beta Was this translation helpful? Give feedback.
All reactions