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

Remove manual kernel tagging in main client_ivc_prove flow #1116

Closed
ledwards2225 opened this issue Oct 2, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#10599
Closed

Comments

@ledwards2225
Copy link
Collaborator

The main flow used for IVC in the TS tests client_ivc_prove_output_all_msgpack now includes explicit tagging of every other circuit as a kernel. This used to be done automatically from within ClientIvc assuming auto_very_mode == true. In practice, the is_kernel tag will be set by the presence of calldata in the noir program. At the time of writing, this is already the case for the mock kernels in Alvaro's ivc integration suite. Once the databus has been integrated into the real kernel programs, we can do away with the explicit setting of is_kernel in that flow. (Note: we'll still need to use auto_very_mode until explicit verify_proof calls have been added to the kernels as well).

AztecBot pushed a commit that referenced this issue Dec 13, 2024
Removes auto verify mode from `ClientIVC`. Auto verify mode was a
temporary feature designed to append kernel logic (recursive
verifications etc.) to kernel circuits generated from noir kernel
programs before the `verify_proof()` calls were integrated into those
programs. Now that these calls are present in the kernels (mock and
genuine), the kernel logic is automatically constructed via
ivc_recursion_constraints via the normal `create_circuit()` pathway. If
in the future there is need for a backend which automatically appends
recursive verification logic, it should be implemented in an entirely
separate class.

Note: This change means we can no longer generate an IVC proof from the
noir `fold_*` programs since they do not contain explicit recursive
verifiers. All such tests/flows have been removed.

Closes #1116 (remove
manual setting of is_kernel)
Closes #1101 (remove
auto-verify)
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.

1 participant