You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently selectGroup(groupSize) in SortitionPool picks groupSize eligible members without regard for how many times an operator is represented in the group. This means that it is possible, although quite unlikely, for an operator to become overleveraged by being represented in the group more times than their staker weight is. If this happens, it violates the guarantee that each group has groupSize * minimumStake KEEP at stake against misbehavior.
This could be prevented by similar methods as would be used to implement BondedSortitionPool.selectGroup, by tracking each member's number of duplicates and skipping those that have reached their limit. However, it would make group selection slightly more expensive, even if a bloom filter is used to short-circuit checks on obviously non-duplicate operators.
The text was updated successfully, but these errors were encountered:
Currently
selectGroup(groupSize)
inSortitionPool
picksgroupSize
eligible members without regard for how many times an operator is represented in the group. This means that it is possible, although quite unlikely, for an operator to become overleveraged by being represented in the group more times than their staker weight is. If this happens, it violates the guarantee that each group hasgroupSize * minimumStake
KEEP at stake against misbehavior.This could be prevented by similar methods as would be used to implement
BondedSortitionPool.selectGroup
, by tracking each member's number of duplicates and skipping those that have reached their limit. However, it would make group selection slightly more expensive, even if a bloom filter is used to short-circuit checks on obviously non-duplicate operators.The text was updated successfully, but these errors were encountered: