Any validator can lower other validators reward at no cost #2525
Description
In the current model a validator gets a fee reward regardless of whether they signed that block or not. However the proposers block reward is proportional to the amount of staking signing the block. Thus a validator can just withhold x%
of their signatures to lower the relative reward of other block proposers, with no loss of profit to themselves. This allows them to drive up their proportion of stake. Worse, this enables a targeted attack, which will likely harm that proposers reputation (i.e. has externalities due to real world economics). I.e. validator A withholds all signatures to the validator with the greatest delegation to self-bond ratio. Those delegators get unhappy with lower rewards and redelegate to others. The only risk validator A takes is slightly lower time to respond if they go offline (i.e. due to liveness slashes), which should be relatively negligible if the validator has confidence in their setup. I think this is a real problem.
This is a complex problem. Suppose we only reward validators who actually voted on the block. Now when proposing a high value block, I perform the same attack in reverse, i ignore certain other validators signatures. In addition to increasing your relative proportion of stake, you again can do a targeted attack on other validators, which can cause lots of harm to their reputation. (i.e their delegators get sub-normal rewards, and redelegate) I think the best we can hope for is that ignoring out of protocol advantages, we construct a system such that the proposer's reward is lower if they withhold your signature, accounting for the relative distribution of stake if only those who should be rewarded get rewarded. Alternatively we could run the incentives in a scenario where everyone performs such an attack (either at the same highly-delegated validators, or randomly) what are the net rewards for doing so. (I imagine it would be a prisoners dilemma situation unfortunately)
From a conversation between me and @cwgoes
Activity