players reward share is NOT directly proportional to their participation in the prediction process. this creates room for manipulation and cheating which will in turn result in low revenue as per predictionFee for the protocol. hence the protocol is NOT fair as purported.
Based on the design,
Players can receive an amount from the prize fund only if their total number of points is a positive number and if they had paid at least one prediction fee. The prize fund is distributed in proportion to the points collected by all Players with a positive number of points. If all Players have a negative number of points, they will receive back the value of the entry fee.
the above rule couple with the formular used in getPlayerScore function, gives players chance to cheat. since the rule allows for a player to claim reward as far as she gets a positive score irrespective of her predictionCount. She might decide to stop predictions after predicting and winning the first match. she will wait to claim reward at the end of the 9th match with just ONE predictionFee paid.
The worst cheat is, she will be the sole owner of the reward shares if by chance all other players have negative scores even if they predicted and paid MORE predictionFee in all the 9 matches than her.
cheat_player only predicted twice. 7 other players predicted 6 matches each but couldn't win. winner_2 also predicted 6 matches and won 1 point in total, yet the way the system was designed made cheat_player who paid less predictionfee to get 80% of the reward pool. Hence the system is rather not fair as it should be because some players can manipulate it.
poor revenue for the protocol in terms of predictionFee
players lose funds in predictionFee to a cheating player
Foundry test
manual review
Documentation
To calculate a perfect Shares for the* WINNERS*, we must factor in the predictionCount of that winner . i.e score * predictionCount. Below is a reviewed version of the getPlayerScore function.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.