-
Notifications
You must be signed in to change notification settings - Fork 301
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: update honk ultra_recursive_verifier to do aggregation (#7582)
Resolves AztecProtocol/barretenberg#1059. This work updates the recursive verifier to now take in an pairing aggregation object and also produce one. This object aggregates with the nested aggregation object (parsed through the public inputs of the inner proof) and the pairing points produced by KZG. This change is **inefficient** as every circuit will now also produce an aggregation object, regardless of whether the circuit does any recursive aggregation. This adds gates presumably through only the public_input_delta, but this needs to be double checked. This also means that for circuits that do k recursive aggregations, we will be doing 2*k biggroup mul-adds for aggregation, because every inner proof contains an agg obj. Each mul-add was seemingly costing 130k gates, so this likely needs to be optimized heavily. Note that the native honk verifier was **not** updated in this PR. This will be updated in a future PR, and will likely force many tests (any test that has a native verify call) to call `builder.add_recursive_proof(default_agg_obj)`.
- Loading branch information
1 parent
0d0646d
commit a96a5ad
Showing
22 changed files
with
421 additions
and
363 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.