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

Evict transactions from the mempool based on the ZIP-317 fee rules #5335

Closed
Tracked by #5234
teor2345 opened this issue Oct 4, 2022 · 3 comments · Fixed by #5703
Closed
Tracked by #5234

Evict transactions from the mempool based on the ZIP-317 fee rules #5335

teor2345 opened this issue Oct 4, 2022 · 3 comments · Fixed by #5703
Assignees
Labels
A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement C-security Category: Security issues I-heavy Problems with excessive memory, disk, or CPU usage I-remote-node-overload Zebra can overload other nodes on the network

Comments

@teor2345
Copy link
Contributor

teor2345 commented Oct 4, 2022

Motivation

We can deploy the new mempool rules in ZIP-317 before wallets have updated to the new conventional fee, because dropping transactions is randomised.

This can be changed in Zebra at any time. It must not be behind the getblocktemplate-rpcs feature, because it is required as soon as possible to mitigate denial of service:
https://zips.z.cash/zip-0317#deployment

Specification

The conventional fee part of:
https://zips.z.cash/zip-0317

@teor2345 teor2345 changed the title Evict transactions from the mempool based on the ZIP-317 fee Evict transactions from the mempool based on the ZIP-317 fee rules Oct 4, 2022
@dconnolly
Copy link
Contributor

dconnolly commented Oct 5, 2022

We can deploy the new mempool rules in ZIP-317 before wallets have updated to the new conventional fee, because dropping transactions is randomised.

This can be changed in Zebra at any time.

Correct, yes. Some more context on why this is true:

'The eviction weight is already proportional to the size of the transaction in bytes', so we should be able to deploy these changes before wallets do without negative effect (per daira). What will happen in practice is regardless of whether an attacker chooses big transactions or lots of smaller transactions, the total size of their transactions will be large compared to the legitimate ones, it will always be more likely that the adv. 's transactions will be dropped vs legitimate ones. // @daira

@teor2345 teor2345 added A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement P-High 🔥 C-security Category: Security issues I-heavy Problems with excessive memory, disk, or CPU usage I-remote-node-overload Zebra can overload other nodes on the network and removed P-High 🔥 labels Oct 13, 2022
@teor2345
Copy link
Contributor Author

@mpguerra this ZIP is now approved. Can we schedule this change in the next sprint, or at the end of this sprint if we have time?

It is an important change to mitigate the ongoing transaction spam on the network.

@mpguerra
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement C-security Category: Security issues I-heavy Problems with excessive memory, disk, or CPU usage I-remote-node-overload Zebra can overload other nodes on the network
Projects
None yet
3 participants