go-livepeer icon indicating copy to clipboard operation
go-livepeer copied to clipboard

Modifying price-weighted curve

Open stronk-dev opened this issue 1 year ago • 1 comments

What does this pull request do? Explain your changes. (required)

With the current pricing curve, orchestrators running at 'unsustainable' prices can capture a high amount of streams. Due to the exponential curve, an orchestrator at 2 PPP simply has a much higher chance than someone at 200 PPP.

The current selection algorithm has an expFactor which could make this less OP, but it would also be much more likely to choose orchs at a price which is too high

Specific updates (required) This PR changes the selection curve to an inverted sigmoid. This allows you to:

  • Center the curve around a point where diminishing returns should kick in to make nodes at extremely low values less OP
  • Due to the S curve it still prevents Orchestrators to sit at the high end of the spectrum
  • Still allows for adjusting the slope, which is a bit more forgiving for orchestrators trying to dial in their prices

This link allows you to play around with the params of the proposed curve and the current curve to compare them

How did you test each of these updates (required) TBA, will test first in a dashboard which simulates the selection algorithm

Checklist:

  • [ ] Read the contribution guide
  • [ ] make runs successfully
  • [ ] All tests in ./test.sh pass
  • [ ] README and other documentation updated
  • [ ] Pending changelog updated

stronk-dev avatar Jan 09 '24 17:01 stronk-dev

Note on this draft PR is that it's just to open discussion and allow people to check & test the changes.

The pricing curve is only an issue current due to the large difference in the lowest PPP and market pricing. If market pricing drops to sub-100 levels, then the price curve likely doesn't even need adjustment

stronk-dev avatar Jan 11 '24 12:01 stronk-dev