Skip to content

chore: hash more stuff for IPA.#15519

Merged
notnotraju merged 9 commits into
merge-train/barretenbergfrom
rk/ipa-hash
Jul 8, 2025
Merged

chore: hash more stuff for IPA.#15519
notnotraju merged 9 commits into
merge-train/barretenbergfrom
rk/ipa-hash

Conversation

@notnotraju

@notnotraju notnotraju commented Jul 4, 2025

Copy link
Copy Markdown
Contributor

Adds a small add_to_hash_buffer method for MockTranscript and then has the IPA prover add the commitment, challenge, and evaluation to the hash buffer.

Addresses 1150 and at least part of 1408. See the commentary on the former for why this solution is the simplest/most ergonomic for soundness of IPA.

@notnotraju notnotraju marked this pull request as ready for review July 4, 2025 21:46
@fcarreiro fcarreiro removed their request for review July 4, 2025 22:09
@notnotraju notnotraju requested a review from lucasxia01 July 7, 2025 08:34
Comment thread barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp Outdated

@lucasxia01 lucasxia01 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.

Nice, just requested some minor changes. Also why do you think this "argubly" solves the add_to_hash_buffer issue for the mock transcript?

Comment thread barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp Outdated
Comment thread barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp Outdated
Comment thread barretenberg/cpp/src/barretenberg/dsl/acir_format/honk_recursion_constraint.cpp Outdated
Comment thread barretenberg/cpp/src/barretenberg/eccvm/eccvm_transcript.test.cpp Outdated
pol AVM_EXEC_OP_ID_RETURN = 512;
pol AVM_EXEC_OP_ID_REVERT = 1024;
pol AVM_EXEC_OP_ID_SUCCESSCOPY = 2048;
pol AVM_EXEC_OP_ID_RETURNDATASIZE = 4096;

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.

idk why this is changing in your PR

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.

This was the result of running yarn remake-constants, which I was prompted to do after fixing some of the other constants.

Comment thread barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/mock_transcript.hpp Outdated
…ative ipa verifier, modified a couple of tests in goblin_recursive_verifier.test.cpp and client_ivc.test.cpp
@notnotraju notnotraju requested a review from lucasxia01 July 8, 2025 09:51
@AztecBot AztecBot force-pushed the merge-train/barretenberg branch from 42b65c1 to 8369b3f Compare July 8, 2025 14:03
@ludamad ludamad force-pushed the merge-train/barretenberg branch from 2abe998 to 3330e1c Compare July 8, 2025 14:33
@ludamad ludamad added auto-rebase-pr Automatically rebase a pull-request. and removed auto-rebase-pr Automatically rebase a pull-request. labels Jul 8, 2025
tampered_proof.goblin_proof.merge_proof = civc_proof_2.goblin_proof.merge_proof;

EXPECT_FALSE(ClientIVC::verify(tampered_proof, civc_vk_1));
EXPECT_DEATH(ClientIVC::verify(tampered_proof, civc_vk_1), ".*");

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.

probably better to have something that's not just .*

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.

Yeah, I was debating this, but this ends up passing along the text for the error to the log (rather than constraining the error), which I thought was maybe better?

@lucasxia01 lucasxia01 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.

LGTM!

@notnotraju notnotraju merged commit 6672183 into merge-train/barretenberg Jul 8, 2025
4 checks passed
@notnotraju notnotraju deleted the rk/ipa-hash branch July 8, 2025 17:43
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