Skip to content

Conversation

@suyash67
Copy link
Contributor

@suyash67 suyash67 commented Dec 16, 2025

๐Ÿงพ Audit Context

Documents translator VM.

๐Ÿ› ๏ธ Changes Made

  • Adds README with translator architecture and relations

โœ… Checklist

  • Audited all methods of the relevant module/class
  • Audited the interface of the module/class with other (relevant) components
  • Documented existing functionality and any changes made (as per Doxygen requirements)
  • Resolved and/or closed all issues/TODOs pertaining to the audited files
  • Confirmed and documented any security or other issues found (if applicable)
  • Verified that tests cover all critical paths (and added tests if necessary)
  • Updated audit tracking for the files audited (check the start of each file you audited)

๐Ÿ“Œ Notes for Reviewers

No logic changes

@suyash67 suyash67 force-pushed the sb/translator-doc-1 branch 3 times, most recently from a03d5e5 to e267cb9 Compare December 17, 2025 12:54
z_{\textsf{perm}}[i] \cdot \prod_{j=1}^{\textsf{NUM\_COLS}} (\textsf{interleaved}[j] + \beta + \gamma)
$$

**The Problem:** Permuting all ~64 microlimb columns simultaneously yields degree $1 + 64 = 65$, making sumcheck impractical.
Copy link
Contributor

Choose a reason for hiding this comment

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

I actually don't know how impractical it is - we never had the unoptimized version with high degree but of MINI_CIRCUIT_SIZE. What is def true - it allows us to store big range constraint polys without splitting them into MINI_CIRCUIT_SIZE-chunks --> reduces the number of commitments. Theoretically, prover could've just committed to sumcheck round univariates as we're doing it in ECCVM to avoid sending round univariates of degree 65

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Well but with such a high degree, computing the sumcheck univariates itself would be hefty for the prover, no? Like 65 iterations across MINI_CIRCUIT_SIZE polynomials. Maybe its not impractical but would definitely be an overhead

Witness generation transforms the `EccOpQueue` from the Mega circuit into the 91 polynomials required by the Translator circuit:

```
Input: EccOpQueue (n operations)
Copy link
Contributor

Choose a reason for hiding this comment

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

Wondering if accumulated_result should be placed to RelationParams at this stage. Currently it's done in the preamble round of the prover.

Copy link
Contributor

@Rumata888 Rumata888 left a comment

Choose a reason for hiding this comment

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

Documentation diverges from relations

@suyash67 suyash67 force-pushed the sb/translator-doc-1 branch from 59cbe1b to 764c2a4 Compare January 6, 2026 07:37
Copy link
Contributor

@iakovenkos iakovenkos left a comment

Choose a reason for hiding this comment

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

Great docs! Thanks for adding these

@suyash67 suyash67 force-pushed the sb/translator-doc-1 branch from 881ce6d to 6018850 Compare January 8, 2026 12:38
@suyash67 suyash67 merged commit 5861e91 into merge-train/barretenberg Jan 8, 2026
8 checks passed
@suyash67 suyash67 deleted the sb/translator-doc-1 branch January 8, 2026 12:50
suyash67 added a commit that referenced this pull request Jan 8, 2026
The documentation commit accidentally included a noir-repo submodule update.
This reverts the submodule back to c9a8bf8820.

๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Jan 9, 2026
BEGIN_COMMIT_OVERRIDE
chore: remove round.cpp and round.hpp in dsl/acir_format (#19412)
chore: docs for translator (#19056)
chore: update noir/noir-repo to match next branch
chore: update avm-transpiler Cargo.lock for noir submodule
fix: revert noir/noir-repo to match next and update Cargo.lock
fix: add actionable error when bb verify cannot find vk file (#19398)
chore: `utils.cpp` audit (#19425)
chore: sha audit 1 (#19072)
fix: improve no artifacts found message to include search path (#19432)
chore: simplify Flavors' Transcripts + VKs deduplication (#19326)
Add correct VKSerializationMode to AVM VerificationKey Classes
END_COMMIT_OVERRIDE
github-actions bot pushed a commit that referenced this pull request Jan 9, 2026
### ๐Ÿงพ Audit Context

Documents translator VM.

### ๐Ÿ› ๏ธ Changes Made

- Adds README with translator architecture and relations

### โœ… Checklist

- [x] Audited all methods of the relevant module/class
- [ ] Audited the interface of the module/class with other (relevant)
components
- [ ] Documented existing functionality and any changes made (as per
Doxygen requirements)
- [ ] Resolved and/or closed all issues/TODOs pertaining to the audited
files
- [ ] Confirmed and documented any security or other issues found (if
applicable)
- [ ] Verified that tests cover all critical paths (and added tests if
necessary)
- [ ] Updated audit tracking for the files audited (check the start of
each file you audited)

### ๐Ÿ“Œ Notes for Reviewers

No logic changes

---------

Co-authored-by: Claude Sonnet 4.5 <[email protected]>
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.

5 participants