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

Update recursion_constraint.hpp/cpp for Honk #933

Closed
ledwards2225 opened this issue Apr 3, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#6545
Closed

Update recursion_constraint.hpp/cpp for Honk #933

ledwards2225 opened this issue Apr 3, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#6545
Assignees

Comments

@ledwards2225
Copy link
Collaborator

The code in barretenberg/dsl/acir_format/recursion_constraint.hpp/cpp is used to translate a recursive verification op code in noir/acir to a Plonk recursive verification in a bberg circuit. There is also relevant logic in acir_format::build_constraints. This is where the acir representation of circuits is translated into a bberg representation. This type of constraint is currently just ignored for Honk since we haven't yet implemented the pairing-input aggregation that is needed for a complete recursive verifier.

This work will mostly be about understanding how things are done for Plonk then figuring out how to update to handle the non-constant proof sizes for honk. (The recursion interface for Plonk seems quite messy and brittle. I think most of the acir related code was originally written by people not very familiar with bberg so in nearly all cases I've looked at there is a lot of room for improvement/simplification. My hope is that that's also the case here).

@ledwards2225 ledwards2225 added this to the Honk-Noir integration milestone Apr 3, 2024
lucasxia01 added a commit to AztecProtocol/aztec-packages that referenced this issue May 17, 2024
Create new recursion constraint for honk, which is the same as the plonk
recursion constraint, but with a default aggregation object. 
The default aggregation object work was moved from #6087.

This PR is mostly for setup for AztecProtocol/barretenberg#933.
AztecBot pushed a commit that referenced this issue May 18, 2024
Create new recursion constraint for honk, which is the same as the plonk
recursion constraint, but with a default aggregation object. 
The default aggregation object work was moved from AztecProtocol/aztec-packages#6087.

This PR is mostly for setup for #933.
signorecello pushed a commit to AztecProtocol/aztec-packages that referenced this issue May 20, 2024
Create new recursion constraint for honk, which is the same as the plonk
recursion constraint, but with a default aggregation object. 
The default aggregation object work was moved from #6087.

This PR is mostly for setup for AztecProtocol/barretenberg#933.
lucasxia01 added a commit to AztecProtocol/aztec-packages that referenced this issue May 28, 2024
Closes AztecProtocol/barretenberg#933.

Updates recursion constraint for honk so that it calls the ultra honk
recursive verifier.
Removes key hash from the constraint. Also recursively aggregates the
aggregation objects.

Ignores the case where we don't have the witness values and want to use
dummy witnesses.
AztecBot pushed a commit that referenced this issue May 29, 2024
Closes #933.

Updates recursion constraint for honk so that it calls the ultra honk
recursive verifier.
Removes key hash from the constraint. Also recursively aggregates the
aggregation objects.

Ignores the case where we don't have the witness values and want to use
dummy witnesses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants