spacemeshos / pm

Project management. Meta-tasks related to research, dev, and specs for the Spacemesh protocol and infrastructure.
http://spacemesh.io/
Creative Commons Zero v1.0 Universal
2 stars 0 forks source link

Handling duplicate nonces #20

Open lrettig opened 3 years ago

lrettig commented 3 years ago

This is a specific case of a more general problem that the mesh topology gives rise to: a malicious user may submit many transactions that conflict, e.g., with the same sender and same nonce, to many different miners, and many of those transactions may get included in different blocks in the same layer, occupying mesh space but not paying any fees.

What strategies can we come up with to mitigate this?

lrettig commented 2 years ago

@noamnelke is this still an issue under unified content blocks? I think it is, since conflicting transactions can still occupy space in proposals.

lrettig commented 2 years ago

This is addressed through a combination of mempool admittance criteria (a node should not allow conflicting transactions into its mempool, and it would take a very sophisticated attacker with precise control over network timing to "poison" many miners with conflicting transactions), and optimistic filtering during block construction (even if multiple such txs did make it into Hare proposals, they'd be dropped during block construction in the optimistic case).

Leaving this open for now to revisit during adversarial analysis.