Skip to content

fix: hiding circuit vk computed only once#15589

Merged
iakovenkos merged 1 commit into
merge-train/barretenbergfrom
si/hiding-vk-computed-once
Jul 8, 2025
Merged

fix: hiding circuit vk computed only once#15589
iakovenkos merged 1 commit into
merge-train/barretenbergfrom
si/hiding-vk-computed-once

Conversation

@iakovenkos

Copy link
Copy Markdown
Contributor

No description provided.

// TODO(https://github.com/AztecProtocol/barretenberg/issues/1431): Avoid computing the hiding circuit verification
// key during proving. Precompute instead.
auto hiding_circuit_vk = std::make_shared<MegaZKVerificationKey>(hiding_decider_pk->get_precomputed());
auto& hiding_circuit_vk = honk_vk;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

honk_vk is computed in construct_hiding_circuit_key, which is precisely the hiding circuit vk

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch. I really dont like how this code is arranged anyway but seems slightly more clear to me to continue to compute it here and remove it from construct_hiding_circuit_key - unless there's some compelling reason I'm missing

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use the honk_vk constructed from construct_hiding_circuit_key in other places, like when we call write_vk.

@iakovenkos iakovenkos marked this pull request as ready for review July 8, 2025 15:37
@iakovenkos iakovenkos requested a review from ledwards2225 July 8, 2025 15:38

@ledwards2225 ledwards2225 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LG - one suggestion

// TODO(https://github.com/AztecProtocol/barretenberg/issues/1431): Avoid computing the hiding circuit verification
// key during proving. Precompute instead.
auto hiding_circuit_vk = std::make_shared<MegaZKVerificationKey>(hiding_decider_pk->get_precomputed());
auto& hiding_circuit_vk = honk_vk;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch. I really dont like how this code is arranged anyway but seems slightly more clear to me to continue to compute it here and remove it from construct_hiding_circuit_key - unless there's some compelling reason I'm missing

@iakovenkos iakovenkos merged commit 4d3d27e into merge-train/barretenberg Jul 8, 2025
7 checks passed
@iakovenkos iakovenkos deleted the si/hiding-vk-computed-once branch July 8, 2025 16:05
github-merge-queue Bot pushed a commit that referenced this pull request Jul 9, 2025
See
[merge-train-readme.md](https://github.com/AztecProtocol/aztec-packages/blob/next/.github/workflows/merge-train-readme.md).

BEGIN_COMMIT_OVERRIDE
chore: stdlib bool internal audit  (#15070)
feat: improve Shplonk api (#15422)
fix(merge-train): don't queue merge if merge-train failed queue, pass on
rebase logic (#15508)
chore: nuke bit array (#15522)
chore: remove template parameters (#15530)
chore: no PK (#15386)
chore!: Correct public inputs propagation in the tube (#15547)
chore: use `batch_invert` in native IPA verifier (#15557)
chore: Move `stdlib::uint_plookup` to `stdlib::uint` (#15460)
chore: use const ref commitment keys (#15584)
fix: hiding circuit vk computed only once (#15589)
feat: transcript can hash objects independently (#15510)
chore: readme for benchmarking remotely (#15512)
chore: fix avm test (#15592)
chore: hash more stuff for IPA. (#15519)
chore: fix avm build in merge-train/bb (#15594)
feat!: structured public inputs via kernel io (#15383)
fix!: aggregate correct nested pairing points in the hiding circuit
(#15598)
fix: bb merge-train conflicts (#15617)
chore: Refactor shplonk verifier api (#15618)
chore!: databus consistency checks in the hiding circuit (#15599)
feat!: VK hash consistency check (#15591)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: sergei iakovenko <105737703+iakovenkos@users.noreply.github.com>
Co-authored-by: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com>
Co-authored-by: Suyash Bagad <suyash@aztecprotocol.com>
Co-authored-by: Jonathan Hao <jonathan@aztec-labs.com>
Co-authored-by: ledwards2225 <98505400+ledwards2225@users.noreply.github.com>
Co-authored-by: Raju Krishnamoorthy <krishnamoorthy@gmail.com>
Co-authored-by: notnotraju <raju@aztec-labs.com>
Co-authored-by: Lucas Xia <lucasxia01@gmail.com>
Co-authored-by: Khashayar Barooti <khashayar@aztecprotocol.com>
Co-authored-by: Jean M <132435771+jeanmon@users.noreply.github.com>
Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com>
Co-authored-by: Santiago Palladino <spalladino@users.noreply.github.com>
Co-authored-by: Santiago Palladino <santiago@aztec-labs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants