spacemeshos / go-spacemesh

Go Implementation of the Spacemesh protocol full node. 💾⏰💪
https://spacemesh.io
MIT License
747 stars 211 forks source link

atxs, poet: enforce minimal poet proof height #4756

Open dshulyak opened 1 year ago

dshulyak commented 1 year ago

lack of minimal poet proof enables network spam without significant resource investment (all you need is one unit of weight). spamming network with such atxs will not affect consensus and rewards.

we discussed poet-min-proof-ticks option that should be equal to the fastest poet we know about minus 10%. 10% is to account for crashes or other unexpected behavior, that may cause lower performance. one other consideration is that we are running slower poets as a backup, in case if fast one will be spammed/dos'ed. those poet are using cheaper hw and are not expected to run at full speed.

so i suggest to set poet-min-proof-ticks to half of expected, 5000 ticks.

pigmej commented 1 year ago

@dshulyak I Think 5k after normalization is still way too aggressive. Then it will be relatively "easy" to cut off long tail of not the super fast poets just by providing one super fast poet and spamming other fast ones.

Imho 30-40% of the fastest is ok, so let's say 3000/4000

dshulyak commented 1 year ago

this needs to be addressed before adding atx rewards, otherwise this is trivial backdoor to gain rewards without spending any poet time