Incentive design for surviving periods of non-finality in Ethereum 2.0

I posed this in the Eth R&D discord, thought I’d copy it here too.

So, the recent medalla finality issues have pointed out something interesting. If there’s a period of finality problems, and you keep producing blocks/attestations during it, as does >50% of the network, and then eventually some of the offline nodes come back online, and finality catches back up to the head, it’s my understanding under the current spec that the combined effect of so many slots being missed with 33%<x<50% of validators being offline will have caused honest validators to lose money during that period even if they remained fully online. So, from an incentive point of view, are we just throwing away the fact that finality eventually caught up and endorsed those online validators? Is it game theoretically safe to reward these validators for being online during finality issues (rather than just penalizing them less than the offline ones, which is what the current spec does)? The naive answer is no, since there are two vulnerabilities introduced with adding rewards for eventual finalization: one is in the case of a sub-50% attack on finality, followed up by a successful long-range attack; while the second is in the majority censorship scenario, where we have accidentally reintroduced an incentive for majority censorship attacks. But a less naive answer might be to establish a social norm of hard forking to reward the “online heroes” from periods like this. Then in situations where the non-finality was caused by purely technical issues and there is not social divide in the community over this fact we could still reward the “heroes” who managed to keep the chain advancing during the outage. Thoughts on this?

Alternatively, if we want a purely technical adjustment, it seems like it might be safe to just further reduce the losses of “online heroes” who eventually get finalised again after the period of interruption. Since they would still lose a little money it doesn’t incentivise majority censorship attacks, but it also doesn’t completely throw away the signal of eventual finalisation

Another alternative for the social norm of a full on hard fork is simply to have deployed a standard, thoroughly audited contract to which people can donate during periods of non-finality which directly rewards “online heroes” proportionate to the blocks they produced and attestations they made during the finality outage. Since this is already present as a bribery vulnerability in the majority censorship attack it would serve purely as a measure of economic endorsement of the honesty of the “online heroes”. And of course this technique could be combined with the “further reduction of losses” alternative as well.

Note that the presence of such a contract makes a hard fork technically trivial since the only value which must be updated during such a fork is the balance of the “online heroes” contract.