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

Implement mock verification circuit for IVC #435

Open
str4d opened this issue Dec 22, 2021 · 2 comments · May be fixed by #666
Open

Implement mock verification circuit for IVC #435

str4d opened this issue Dec 22, 2021 · 2 comments · May be fixed by #666
Assignees

Comments

@str4d
Copy link
Contributor

str4d commented Dec 22, 2021

This will contain all of the necessary proof structures (e.g. deferreds), but none of the logic; everything will be unconstrained.

@str4d
Copy link
Contributor Author

str4d commented Aug 24, 2022

In a pairing with @ebfull, we discussed what this should look like. We want to build a gadget that verifies a proof, that takes in:

  • An accumulator. (This can be added later when we finish modifying the plonk verifier API to support this)
  • A TranscriptReader for extracting the proof (values).
  • The public inputs for the proof being verified.
  • A verification key, containing:
    • The constraint system corresponding to the proof being verified.
      • This is the post-optimisation circuit (i.e. including floor planning and selector optimisations). The structure for this needs to be well-defined, which means this blocks on Create separate VerifyingKey structures for pre- and post-optimisation circuits #643.
      • We need a way to extract all the details that affect the constraint system (e.g. gate information, constraints) from this, which may need to be part of the public API depending on how the traits and crates get arranged.
    • Any other circuit-specific data needed to verify.

The output of the gadget is:

  • An accumulator. (This can be added later when we finish modifying the plonk verifier API to support this)
  • A proof_is_valid bit.

Once this gadget exists, we should be able to complete #247 relatively quickly, to have an end-to-end mock IVC.

@str4d str4d added this to the First user-facing recursion API milestone Sep 1, 2022
@therealyingtong
Copy link
Collaborator

We need a way to extract all the details that affect the constraint system (e.g. gate information, constraints) from this, which may need to be part of the public API depending on how the traits and crates get arranged.

Possible preview of API changes: privacy-scaling-explorations@3e4b27f

@therealyingtong therealyingtong self-assigned this Sep 13, 2022
@therealyingtong therealyingtong linked a pull request Sep 21, 2022 that will close this issue
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

Successfully merging a pull request may close this issue.

2 participants