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 preprocessing capabilities #820

Closed
kevaundray opened this issue Feb 11, 2023 · 0 comments · Fixed by #912
Closed

Add preprocessing capabilities #820

kevaundray opened this issue Feb 11, 2023 · 0 comments · Fixed by #912
Assignees
Labels
enhancement New feature or request

Comments

@kevaundray
Copy link
Contributor

Problem

Each time we create a proof, we are re-generating the proving keys, which only need to be done when the program changes.

Solution

There are a few steps which need to be done:

  • Add capability to save the proving and verifying keys, and create and verify proofs using them.
  • Add a checksum into nargo which hashes the constraint system and checks whether it has changed.
  • When you notice that the checksum has changed, regenerate the proving and verifying keys before creating a proof. If they have changed when you are verifying, we should tell the user that the program has changed and they need to regenerate the proofs and the proving and verifying keys
  • Note: we may be able to allow the user to create proofs and verify proofs by ignoring the program and just looking at the ACIR+ Proving/Verifying keys. This seems orthogonal and so we can ignore it for now
@kevaundray kevaundray added the enhancement New feature or request label Feb 11, 2023
@TomAFrench TomAFrench linked a pull request Mar 1, 2023 that will close this issue
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants