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

nargo verify is expected to execute much more quickly compared to nargo prove #4447

Closed
akonior opened this issue Feb 28, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#6320
Assignees
Labels
bug Something isn't working

Comments

@akonior
Copy link
Contributor

akonior commented Feb 28, 2024

Aim

The command nargo verify is expected to execute much more quickly compared to nargo prove. In the PLONK system, the time it takes to verify should increase logarithmically with the size of the circuit. In my situation, executing nargo prove takes approximately 5 minutes, while nargo verify takes about 3 minutes. Based on what I understand, a verification key is produced during the proving process, and this same key is recreated during the verification process. Is it possible, or will it be possible, to reuse or cache this verification key?

Here are some test results https://github.com/vlayer-xyz/noir-profiling?tab=readme-ov-file#results in all cases proving and verification time is almost the same.

Expected Behavior

Verification time should increase logarithmically with the size of the circuit.

Bug

Slow nargo verify

To Reproduce

No response

Project Impact

None

Impact Context

No response

Workaround

None

Workaround Description

No response

Additional Context

No response

Installation Method

Binary (noirup default)

Nargo Version

No response

NoirJS Version

No response

Would you like to submit a PR for this Issue?

None

Support Needs

No response

@akonior akonior added the bug Something isn't working label Feb 28, 2024
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this issue May 17, 2024
This PR removes the `nargo codegen-verifier` command and replaces it
with an example bash script showing how to use `nargo` in conjunction
with `bb` to generate a smart contract verifier.

cc @AztecProtocol/devrel 



Closes noir-lang/noir#4447
Closes noir-lang/noir#1138
Closes noir-lang/noir#2222
Closes noir-lang/noir#1159
Closes noir-lang/noir#1009
Closes noir-lang/noir#3837
Closes noir-lang/noir#2667

---------

Co-authored-by: ludamad <adam.domurad@gmail.com>
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants