dusk-blockchain icon indicating copy to clipboard operation
dusk-blockchain copied to clipboard

AggAgreement may introduce potential attack vector

Open autholykos opened this issue 3 years ago • 1 comments

Describe what you want implemented Prevent adversaries to flood nodes with high priority messages (i.e. AggrAgreement)

Describe "Why" this is needed AggrAgreement are used to shortcircuit the consensus in case a node detects that a block should be accepted. Since those messages should be verified as well, an adversary could exploit the high priority to spam nodes and prevent normal (low priority) Agreement to be processed.

Describe alternatives you've considered Various solutions could be assessed, from processing low-priority messages on a pseudo-random base, to flagging adversaries at Kadcast level and drop their messages.

Additional context The Flush method of the consensus.Queue returns events ordered by priority

autholykos avatar Nov 25 '21 08:11 autholykos

Another potential solution would be to sanity check the AggrAgreement in the AggrAgreementChan in the same fashion of how we sanity check Candidate blocks from the wire before processing them.

autholykos avatar Nov 25 '21 09:11 autholykos