decred / dcrd

Decred daemon in Go (golang).
https://decred.org
ISC License
731 stars 288 forks source link

mixpool: Only ban full nodes for bad UTXO sigs #3345

Closed jrick closed 3 months ago

jrick commented 3 months ago

If an invalid UTXO signature in a pair request message is received from any node besides a full node, reject the message but do not ban for the error. However, full nodes are required to check this before relaying. Ban any self-reporting full node that still sends these invalid messages.

Because the banning logic is currently isolated to the mixpool package and mixpool is unaware of the capabilities of the peer that provided the message, give IsBannable an additional service flags argument. This changes the semantics of the bannable errors to only be bannable when all of the required service flags are described.