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

Add Public Input Fuzzing Test #158

Closed
bhgomes opened this issue Jul 5, 2022 · 0 comments · Fixed by #237
Closed

Add Public Input Fuzzing Test #158

bhgomes opened this issue Jul 5, 2022 · 0 comments · Fixed by #237
Assignees
Labels
A-testing Area: Testing-related Issues and PRs P-medium Priority: Medium

Comments

@bhgomes
Copy link
Contributor

bhgomes commented Jul 5, 2022

To ensure that public inputs are utilized correctly inside the circuit, we should test that passing random public inputs (unequal to the correct ones) always fails to produce valid proofs.

For a given $\pi : \textsf{Proof}$ only the exactly correct public inputs should verify. The $\textsf{verify} : \textsf{PublicInput} \times \textsf{Proof} \to \textsf{Bool}$ function should always fail on the wrong public inputs.

Fuzzing Strategy:

  1. Public inputs are field elements, so try to change them randomly (modifying a bit in a random position for a random element)
  2. Completely random public input

The test should first be written in manta-pay. Then you can generalize it to any OpenZL system.

@bhgomes bhgomes added this to the v1.0.0 milestone Jul 5, 2022
@bhgomes bhgomes added A-testing Area: Testing-related Issues and PRs P-medium Priority: Medium labels Jul 6, 2022
@SupremoUGH SupremoUGH mentioned this issue Sep 2, 2022
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testing Area: Testing-related Issues and PRs P-medium Priority: Medium
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants