Verifying proof does not check the public params binding with proof #857
Replies: 1 comment
-
I already know it, the public witness is put in |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Because the public params is part of proof file, it can share with Verifier. But when verify the verifier does not have any check related to this public params. That mean we can change the public params at we want and the proof is also True.
Example: I want to prove: Run public (fixed) model with private input, result in public output
The proof file will something like that:
Anything on "pretty_public_inputs" is not use to verify the proof, so we can change it to anything and the proof still True (even if we delete it, there is no problem).
Or say in another way is I can generate a true proof for the dummy statement and then change the public output on this proof to the one that I want the cheat the Verifier, and then the Verifier verify this proof is True and trust about my output (although it wrong).
So I want to know how can I prove the statement: Run public (fixed) model with private input, result in public output.
Sorry for the fool question but I very stuck here!
Beta Was this translation helpful? Give feedback.
All reactions