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

Fuzz test CheckTx vs PrepareProposal #4279

Open
rootulp opened this issue Jan 30, 2025 · 0 comments
Open

Fuzz test CheckTx vs PrepareProposal #4279

rootulp opened this issue Jan 30, 2025 · 0 comments
Labels
testing items that are strictly related to adding or extending test coverage WS: Maintenance 🔧 includes bugs, refactors, flakes, and tech debt etc

Comments

@rootulp
Copy link
Collaborator

rootulp commented Jan 30, 2025

Context

Related to #4275 except we want to generalize this to all types of transactions. If the tx passes CheckTx then it should pass PrepareProposal.

cc: @evan-forbes

Problem

There may be edge case transactions that pass CheckTx but always fail PrepareProposal. These edge cases are a DoS attack.

Proposal

We could use a fuzz test that txs verifies that if the tx passes CheckTx then it also must be able to be included in an empty block (i.e. a block where it is the only tx).

If we use txsim for creating the transactions, then we may need to modify txsim to create multiple transactions from the same account in one block to uncover more edge case transactions.

@evan-forbes evan-forbes added WS: Maintenance 🔧 includes bugs, refactors, flakes, and tech debt etc testing items that are strictly related to adding or extending test coverage and removed needs:triage labels Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing items that are strictly related to adding or extending test coverage WS: Maintenance 🔧 includes bugs, refactors, flakes, and tech debt etc
Projects
None yet
Development

No branches or pull requests

2 participants