-
Notifications
You must be signed in to change notification settings - Fork 306
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
feat: recursive verifier for decider and last folding proof #9626
Conversation
// these public inputs by turning proof into witnesses and calling set_public on each witness | ||
auto num_public_inputs = static_cast<uint32_t>(static_cast<uint256_t>(proof.mega_proof[1])); | ||
vinfo("Number of public inputs BEFORE subtracting stuff in mega proof: ", num_public_inputs); | ||
num_public_inputs -= bb::AGGREGATION_OBJECT_SIZE; // don't add the agg object |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is that, at least atm, there are no DATABUS commitments anymore at this stage
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, just a couple of minor things. Love how this is actually seems to be a nice simplification
Construct the _hiding_ circuit, which recursively verifies the last folding proof and the decider proof in Client IVC and amend the e2e prover accordingly. The ClientIVC proof becomes a mega proof for the hiding circuit and a goblin proof which simplifies the work required to transform this in a zero knowledge proof.
There might be a need to add some kernel-circuit specific stuff. E.g. to check the final stack (inside the public input of the last kernel circuit instance) is empy as done in the seal circuit here: |
Thanks, created an issue for this! AztecProtocol/barretenberg#1156 |
Construct the hiding circuit, which recursively verifies the last folding proof and the decider proof in Client IVC and amend the e2e prover accordingly. The ClientIVC proof becomes a mega proof for the hiding circuit and a goblin proof which simplifies the work required to transform this in a zero knowledge proof.