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

Double checking of output #14

Open
Antonio95 opened this issue Aug 2, 2024 · 0 comments
Open

Double checking of output #14

Antonio95 opened this issue Aug 2, 2024 · 0 comments

Comments

@Antonio95
Copy link
Contributor

Right now (in the single-output implementation), we are checking two separate things on the output gate:

  1. That it was computed honestly
  2. That the result of applying its operation to its inputs is equal to 1.

In practical terms, 1) doesn't add anything* as far as the verifier is concerned, since the statement that they are verifying is "the output of the circuit is 1" and 2 is enough to guarantee that. Therefore, we can consider removing check 1). However, aside from this needing a more careful security analysis, it would in any case open the door to proofs of correctness of assignments where the prover put a rogue non-one value in the output gate (as long as the Honest value of evaluating that gate on its inputs were indeed one). Let's give this some thought/make a decision.

*In the multi-output setting, this claim obviously doesn't hold if that output gate is also involved in the computation of other outputs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant