Skip to content
This repository has been archived by the owner on Jul 22, 2020. It is now read-only.

How is TdS ranking calculated? #485

Open
cfl0ws opened this issue Oct 2, 2019 · 11 comments
Open

How is TdS ranking calculated? #485

cfl0ws opened this issue Oct 2, 2019 · 11 comments
Assignees

Comments

@cfl0ws
Copy link

cfl0ws commented Oct 2, 2019

What is the formula used to rank validators? I'm assuming this is done on a stage-by-stage basis?

Will we show an overall TdS ranking too? Probably not, if the logic in the Universal Compensation section here holds.

@sunnygleason
Copy link
Contributor

@chris-remus this is an awesome question... I've been expecting you :)

Here is the current draft of the placeholder formula I mocked up:

#328

I was planning on merging the placeholder today-ish so folks could
observe the behavior. If there are changes or suggestions, we can track
them in this issue, or I can hold off on the merge and we can discuss
there!

@sunnygleason
Copy link
Contributor

ok, placeholder implemented in #527, landing soon

feedback/discussion welcome on what it should be

@sunnygleason
Copy link
Contributor

OK, this is implemented & visible at:

http://edge.explorer.solana.com/tour-de-sol?force=true&demo=true&activeStage=1

  • demo : enable TdS bikes racing
  • force : enable TdS on non-TdS networks
  • activeStage : manual override for testing

Formula is roughly:

  • (currentBlock / totalStageBlocks) + (stake-weighted factor)

If we have more specific formulae, I'm happy to code them up and make
them available for testing!

@sunnygleason
Copy link
Contributor

(marking as blocked pending feedback/discussion on what the formula should be... looking forward to it!)

@cfl0ws
Copy link
Author

cfl0ws commented Oct 23, 2019

I feel this should be tied to the Tour de Sol reward program.

Here's the current rewards program. My working assumption is this version becomes final.

There are two reward categories, qualitative and quantitative.

Assuming we tie the ranking to qualitative rewards, the question is what qualitative reward category do we tie the ranking to?

  • Confirmation latency
  • Most rewards collected
  • Highest availability

Since I'm not sure we can combine all three into an aggregate ranking, I see two options -

1 - Show three leader boards, one for each category

2 - Show no leader board at all

@sunnygleason
Copy link
Contributor

sunnygleason commented Oct 31, 2019

@chris-remus we can create 3 boards, provided I can collect the data

  • most rewards collected - we have this based on voting credits earned (other rewards, would need more info)
  • highest availability - OK we have this data (currently, for 64 epochs or less)
  • confirmation latency - (not sure how to get this data)

I'm up for implementing these - probably just need some guidance from @mvines / @CriesofCarrots ...

@cfl0ws
Copy link
Author

cfl0ws commented Nov 6, 2019

@sunnygleason That sounds ideal to me. Would you like my help collecting the relevant information from @mvines and @CriesofCarrots? If not, I'll reassign this back to you 🙂

In the meantime, I'll ask Dom about the rewards structure, i.e. is this the final version?

@sbhargava
Copy link

NE checkin decision: Change 'Top Validator Ranking' language to 'Top Validator Uptime'. Also look into tooltip language change? @chris-remus

@CriesofCarrots
Copy link

As a little more context, eng team feels the LOE required to make these tables accurately reflect realtime TdS standings in the official reward categories is not justified at this time. So we'd like to reword so that participants don't expect this to communicate concrete info about their future potential rewards. We can reflect uptime right now, but need to make sure it's clear that this is not the official "availability" metric.
Or I suppose we could still do Option #2, show no leader board at all.

@cfl0ws
Copy link
Author

cfl0ws commented Nov 14, 2019

I hear where you're coming from @CriesofCarrots 👍In that case, I'd support removing the leader board.

Based on past experience, even if the language is clear on the site, it's bound to cause confusion and probably frustration, especially as the heat of the competition picks-up. I could also imagine a slew of chat questions coming at the team about it.

@CriesofCarrots
Copy link

@chris-remus , wfm!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants