Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throttle single signer transactions #322

Open
cam-schultz opened this issue Jun 6, 2024 · 0 comments
Open

Throttle single signer transactions #322

cam-schultz opened this issue Jun 6, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@cam-schultz
Copy link
Collaborator

Context and scope
As a DOS protection mechanism, Avalanche nodes are commonly configured to drop transactions from the mempool with a nonce greater than the latest accepted nonce by some amount (by default this is 25). If, say 26 transactions from the same account are submitted at once, then this limit will be exceeded, and the 26th transaction will be dropped from the mempool. This would cause the corresponding Warp message to fail to be delivered. #321 ensures that this is recoverable, but we should implement a throttling or queueing strategy to prevent this scenario altogether. #256 also mitigates this scenario by distributing the load across many keys.

Open questions
The relayer would need to monitor block production on the destination so that it can distribute transactions over multiple blocks. A time based approach may suffice, but relies on assumptions of the destination's consensus parameters. A more robust approach would be to listen for new blocks and meter transactions at the same rate that blocks are produced.

@cam-schultz cam-schultz added the enhancement New feature or request label Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Backlog 🗄️
Development

No branches or pull requests

1 participant