movementlabsxyz / movement

The Movement Network is a Move-based L2 on Ethereum.
Apache License 2.0
78 stars 64 forks source link

High Sequence Number Gas DOS #597

Closed l-monninger closed 3 weeks ago

l-monninger commented 2 months ago

Summary

Resolves #490 DoS attack by simply checking by two non-exclusive methods:

  1. Prohibits high sequence numbers and prevents redundant sequence numbers from entering the mempool on a single node in #661. This effectively means that attacks can only run TOO_NEW_TOLERANCE transactions.
  2. Charges base gas fees for validation only transactions in #665, i.e., transactions that fail after validation still incur the base gas fee. #665 has been excluded until further verification.

Testing

  1. Adds e2e test to match #490 attack scripts. These are grouped under cicd:suzuka-full-node-malicious.
  2. Adds unit tests to TransactionPipe.

Outstanding issues

None