Hello Livepeer community,
The distribution of encoding tasks among the 100 orchestrators is defined by a broadcaster-side algorithm.
Until recently, this algorithm (livepeer.inc) only took into account the weight of the stake.
However, due to the significant disparity in the size of the stakes (3 orchestrators currently hold 40% of the total LPT staked on their node), 30% of jobs were randomly distributed to reduce the dominance of these mega nodes.
Unfortunately, this introduced a perverse effect where some orchestrators multiplied small nodes to optimize their revenue through these 30%.
Then the 30% was removed in favor of the entry of the price per pixel competition in the algorithm. Unfortunately, this has mainly pulled the prices enormously towards, with most nodes trying to compensate for the linear difference in stake by the price, and this has not eliminated the domination of mega nodes, since for example one mega node has currently set a price of 450, even 250 PPP, in order, legitimately, to optimize its revenue, and will lower it further if necessary, leaving very little room for maneuver for other nodes that are stuck somewhere between prices ranging from 300 to 0 wei.
Proposed solutions:
I submit to your opinion different proposals, and await yours.
1 - Reduction of the weight of the stake in the algorithm calculation when the gap is very high, using a logarithmic function. This will reduce the weight of very high stakes compared to others, but having discussed it with Doug, he fears that this will encourage large orchestrators to divide their stakes to optimize their gains.
2 - Set a minimum price in the algorithm. We could decide on a minimum price below which we would consider transcoding to be no longer profitable (we are only talking here about transcoding revenues, not LPT inflation). This price could be defined by vote, for example by the orchestrators, and would automatically be added to their PPP, without being able to exceed the maximum price set by the broadcaster. For example, for a minimum price set at 300 and a orhestrator’s price of :
50 : 50+300=350
300 : 300+300=600
1000 : 1000+300->1200 max.
Of course, a mega node could always set a low ceiling, but unless it decides to set the lowest price, which would not be of interest, this guarantees a minimum fair price for everyone while allowing real competition as desired.
3 - Set a price for the entire network. We could vote for a fixed price for the entire livepeer network. However, this is not desired in the spirit of livepeer, which is seen as a large open transcoding market. Moreover, it would not solve the problem of mega nodes’ domination.
It is important to find a solution quickly to ensure the maintenance of their infrastructure by the orchestrators (since it is the gains in ETH that motivate the orchestrators to deploy and constantly improve them), even if we can hope that in the future, a massive influx of demand will naturally reduce the problem.