feat!: verifying civc in tx base#16713
Conversation
259d09b to
4962c66
Compare
alexghr
left a comment
There was a problem hiding this comment.
The typescript changes look good to me! I'd be interested to see how proving performance changes because the tube proof was run in parallel with the AVM proof. 👍
Does the tx proof size change at all?
| } else if (flags.verifier_type == "standalone") { | ||
| write_standalone_vk(bytecode_path, output_path); | ||
| write_standalone_vk(bytecode, output_path); | ||
| } else if (flags.verifier_type == "standalone_tail") { |
There was a problem hiding this comment.
nit but this should probably be standalone_hiding
|
Note we may want to target merge-train/barretenberg with this as I have done some changes relevant here with the write_vk changes. Shouldnt have issues tho |
de0db85 to
00f4577
Compare
00f4577 to
ba9b9af
Compare
|
@alexghr The public base added more than 10s when verifying civc in it. So I created a noir circuit for public tube so that we can still prove them in parallel. The private base is still verifying the civc, because the overall time is less: But let me know if we prefer to prove them separately, I can add a private tube circuit. The tx size is smaller now because the size of |
Clean up of tube-related files and functions following the move of the tube to Noir (see #16400 and #16713) Closes AztecProtocol/barretenberg#1523
Clean up of tube-related files and functions following the move of the tube to Noir (see #16400 and #16713) Closes AztecProtocol/barretenberg#1523
Remove the tube and verify `hiding_kernel_to_rollup` directly in private tx base rollup. Create a public tube circuit in noir that verifies `hiding_kernel_to_public`. The public tube proof is verified in the public tx base rollup. Remove the fake tube vks and use the pre-generated vks in `noir-protocol-circuit` for verification. All circuits now ensure that the vks are in the vk tree. Change `ClientIvcProof.ts` to contain proof fields instead of buffer. The proof fields will be used by the orchestrator to construct the private inputs to be recursively verified in private base or public tube. Co-authored-by: Leila Wang <leizciw@gmail.com>
Clean up of tube-related files and functions following the move of the tube to Noir (see #16400 and #16713) Closes AztecProtocol/barretenberg#1523
Remove the tube and verify `hiding_kernel_to_rollup` directly in private tx base rollup. Create a public tube circuit in noir that verifies `hiding_kernel_to_public`. The public tube proof is verified in the public tx base rollup. Remove the fake tube vks and use the pre-generated vks in `noir-protocol-circuit` for verification. All circuits now ensure that the vks are in the vk tree. Change `ClientIvcProof.ts` to contain proof fields instead of buffer. The proof fields will be used by the orchestrator to construct the private inputs to be recursively verified in private base or public tube. Co-authored-by: Leila Wang <leizciw@gmail.com>
Clean up of tube-related files and functions following the move of the tube to Noir (see #16400 and #16713) Closes AztecProtocol/barretenberg#1523
Remove the tube and verify
hiding_kernel_to_rollupdirectly in private tx base rollup.Create a public tube circuit in noir that verifies
hiding_kernel_to_public. The public tube proof is verified in the public tx base rollup.Remove the fake tube vks and use the pre-generated vks in
noir-protocol-circuitfor verification. All circuits now ensure that the vks are in the vk tree.Change
ClientIvcProof.tsto contain proof fields instead of buffer. The proof fields will be used by the orchestrator to construct the private inputs to be recursively verified in private base or public tube.