Skip to content

Commit

Permalink
chore: Add clarfiication on the difference in recursive aggregation c…
Browse files Browse the repository at this point in the history
…ircuits (#4567)

# Description

## Problem\*

Resolves comment here
#4563 (comment)

## Summary\*



## Additional Context



## Documentation\*

Check one:
- [ ] No documentation needed.
- [ ] Documentation included in this PR.
- [ ] **[Exceptional Case]** Documentation to be submitted in a separate
PR.

# PR Checklist\*

- [ ] I have tested the changes locally.
- [ ] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
  • Loading branch information
vezenovm authored Mar 19, 2024
1 parent c3c9e19 commit 764f6a3
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
use dep::std;

// This circuit aggregates two recursive proofs from `double_verify_proof_recursive`.
// Recursive aggregation is a backend-specific process and it is expected for backends
// to attach any extra data they may need (e.g. aggregation objects) to their proofs.
// Whether the proof we are verifying itself contains a recursive proof is expected to be
// a circuit constant by the barretenberg. Barretenberg hides this circuit constant in the
// proof serialization. Thus, we must have separate circuits for verifying a normal proof and a recursive proof
// with two different proof sizes.
fn main(
verification_key: [Field; 114],
// This is the proof without public inputs attached.
//
// This means: the size of this does not change with the number of public inputs.
// This is the proof without user-specified public inputs attached.
//
// This means: the size of this does not change with the number of public inputs unless
// they have been attached by the backend.
proof: [Field; 109],
public_inputs: pub [Field; 1],
// This is currently not public. It is fine given that the vk is a part of the circuit definition.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use dep::std;

// This circuit aggregates two proofs from `assert_statement_recursive`.
fn main(
verification_key: [Field; 114],
// This is the proof without public inputs attached.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use dep::std;

// This circuit aggregates two proofs from `assert_statement_recursive`.
#[recursive]
fn main(
verification_key: [Field; 114],
Expand Down

0 comments on commit 764f6a3

Please sign in to comment.