Replies: 3 comments 7 replies
-
Current version of the IIP: https://github.com/ZenMaster420/idena-docs/blob/main/docs/iip/iip-3.md [removed - PR merged] |
Beta Was this translation helpful? Give feedback.
-
teajunction on discord proposed having newly validated identities discriminated as well to remove the possibility of farms re-inviting their identities (using their own invites) to take part in a voting. Discord conversation for reference: https://discord.com/channels/634481767352369162/941971918704218152/942538019532046367 |
Beta Was this translation helpful? Give feedback.
-
@ZenMaster420 thanks for the proposal. There is some feedback on that.
|
Beta Was this translation helpful? Give feedback.
-
Currently, pool identities can undelegate from a pool (if they did not delegate during the same epoch) and instantly receive their voting powers back. This means that large pools can incline the voting outcome of an oracle voting or even a hard fork voting.
An example of this happening was the last hard fork, on 17th November, when the voting number was stagnating right below the threshold for the hard fork to be activated. Two pools with a significant number of delegators performed an operation where a significant number of identities undelegated, turned on mining (voted on the hard fork), and after the hard fork was activated they redelegated to their pools.
Reference blocks where some of the related transactions were confirmed:
3636579
,3636615
,3636660
and3636661
(undelegation);3636606
,3636653
,3636654
,3636706
(mining status turned on);3636769
(hard fork activation);3636871
,3636872
and3636873
(redelegation)This was a happy example where the voting was only inclined by a small amount and was done so the upcoming validation at that time would have the bug fixed and people would receive their rewards correctly. But with the same mechanics, a potentially larger pool could do exactly the same thing in the future at a larger scale in order to manipulate the outcome of governance votes or simple oracle votings. This also has a negative effect on oracle locks, because a large pool could change the outcome of an oracle voting and make the funds locked in oracle locks go to a different address than intended. Currently, pools with a large number of delegators that did not delegate during the same epoch have the same voting power as everyone else in the network since they can just undelegate and cast their votes.
Having voting powers removed completely from delegated identities even if they remove themselves from pools would incentivize killing your identity and starting a new one to regain your voting powers.
What I propose is having identities discriminated against after they undelegate from a pool for at least one month (or 2 epochs if those represent more) in order to prevent vote manipulation of forks and oracles. Do you consider this is enough time? Or too much of a timeout? What other solutions do you consider?
Beta Was this translation helpful? Give feedback.
All reactions