go-spacemesh
go-spacemesh copied to clipboard
hare 3: do not reward proposals from dishonest miners
Description
miners that create dishonest proposals/ballots should not be rewards
goals
- prevent adversary to generate ballots for every layer and force every one to save it, when they may only be eligible for 1
- punish dishonest miners
proposal
for syntactic check we use total weight of all atxs in proposal active set and check the miner's eligible slots. for rewards, the weight needs to be more than the minimal weight one expects any honest node would see (total weight of highest graded atxs)
assuming a 5 graded active set, if honest miners only choose grade 4, and 5 atxs for ref ballot active set, then in hare preround, count total weight from grade 3.4.5 atxs in proposal active set:
- if it doesn't justifies the number of eligible slots, don't vote for it
- if it includes grade 0-2 atxs, don't vote for it
depends on the improvements in atx propagation