-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow Dispute Kits to unstake ineligible jurors #98
Comments
This issue should be viewed as an optimisation which benefits the bot operators. It does not benefit the end users with either better functionality or performance. For now we are waiting for more clarity on the possibility of making the sortition sum tree more modular #137 + the possibility of simplifying the phases in Kleros Core. |
#137 has been implemented so we can revisit this. Unstake ineligible jurors from court X:
|
Currently we cannot iterate through the dispute kits to implement this logic. Worst case just unstake without checking all the DKs. |
Easier to implement now after #1357 |
Problem
For the 1 Human 1 Vote Dispute Kit, it is possible that some large staked jurors might not be registered on Proof of Humanity. In such a case, they would end up being drawn often from the sortition tree but later filtered out. It is highly inefficient and costly.
Proposed solution
Some team members have suggested that KlerosCore should allow a DisputeKit to unstake such ineligible jurors as follow:
kleros-v2/contracts/src/arbitration/dispute-kits/DisputeKitSybilResistant.sol
Lines 233 to 241 in 51ec1d2
kleros-v2/contracts/src/arbitration/KlerosCore.sol
Lines 481 to 487 in 51ec1d2
Analysis
A) If there are 2 Dispute Kits with different eligibility criteria using the same subcourt
Then one Dispute Kit might decide to unstake a juror while this juror is still eligible in the other Dispute Kit. It would be unfair to the juror as he would miss some opportunities. There is no easy way to prevent that.
B) Should unstaking ineligible jurors take place in the usual Staking phase?
The text was updated successfully, but these errors were encountered: