Skip to content

feat: merge-train/barretenberg#16850

Merged
AztecBot merged 16 commits intonextfrom
merge-train/barretenberg
Sep 8, 2025
Merged

feat: merge-train/barretenberg#16850
AztecBot merged 16 commits intonextfrom
merge-train/barretenberg

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Sep 8, 2025

BEGIN_COMMIT_OVERRIDE
chore: audit of lookup relations in the ECCVM (#16712)
feat: translator handles no-op range (#16628)
chore: audit wnaf relations in the ECCVM (#16573)
feat: add option to choose between tmpfs and $HOME/tmp in docker_isolate (#16854)
refactor(bb-prover): don't use --write_vk in yarn-project (#16834)
chore: cycle group cleanup (#16830)
END_COMMIT_OVERRIDE

No content, just documentation for the lookup relation in the ECCVM

Co-authored-by: notnotraju <raju@aztec-labs.com>
AztecBot and others added 6 commits September 8, 2025 08:58
Context: To achieve a fully CIVC zero-knowledge proof, the size of the
EccOpQueue must be capped to a fixed size (correlated to the maximum
size of Translator). We achieve this by appending the last ecc op
subtable at a fixed offset.

In turn, this implies that the translator circuit builder has to handle
a sequence of no-ops when building the accumulation trace to show the
evaluation of the batched ecc op polynomial at the random point,
performed non-natively within the Translator circuit, is consistent to
what is produced by ECCVM. The check is done between the result from
ECCVM and what is produced in the Translator circuit at `RESULT_ROW`
(pointed to by a lagrange polynomial during proving and residing at the
begining at Translator trace). In Translator, when encountering a
genuine ecc op, the accumulation result is update at an even row and
then copied across the odd row. In the case of no-ops, we want to not
change the accumulation result but we still need to continue passing it
across even and odd rows and assert this was done properly via relations
to ensure RESULT_ROW contains the correct result.
wNAF relations audited, including a sketch of the argument of why the
inductive logic works to constrain `round` (rather than range checking).
(note that the bound of the degrees of the relations is 5 here, while
range is in the range [0, 8), so this seems advantageous, especially as
we need the multiset matching for other purposes.)

---------

Co-authored-by: notnotraju <raju@aztec-labs.com>
…ate (#16854)

Default behavior uses tmpfs mounted at /tmp with configurable size. Set USE_HOME_TMP=1 to mount $HOME/tmp instead of tmpfs. This helps to test the low meomry mode as it needs more storage to map memory to files.
@ludamad ludamad requested a review from LeilaWang as a code owner September 8, 2025 15:36
@ludamad ludamad added the ci-full Run all master checks. label Sep 8, 2025
AztecBot and others added 5 commits September 8, 2025 16:18
More cycle_group cleanup:
- Simplify type aliasing based on the fact that cycle_group is only used
to represent grumpkin points
- Introduce shared method for nearly identical
`unconditional_add`/`subtract` (fixes small performance bug)
- Add `const` and eliminate use of `auto` in a number of places
- Temporary ASSERT protecting against use of mixed-sized scalars in
`batch_mul` which is ostensibly supported but broken, plus a test. (Will
likely remove the option for mixed sized scalars in a follow on since
its not working and not currently used)
- Remove unnecessary duplicate computation of `scalar_slices` in
`_variable_base_batch_mul_internal` (Note: this removes ~12 gates per
scalar and is the reason for the VK change).
Copy link
Copy Markdown
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

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

🤖 Auto-approved

@AztecBot AztecBot added this pull request to the merge queue Sep 8, 2025
@AztecBot
Copy link
Copy Markdown
Collaborator Author

AztecBot commented Sep 8, 2025

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

Merged via the queue into next with commit 01bfead Sep 8, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run all master checks. ci-no-squash

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants