Skip to content

perf(eccvm): split set relation into 3 grand products to cut sumcheck degree#22482

Open
MavenRain wants to merge 2 commits intoAztecProtocol:nextfrom
MavenRain:perf/eccvm-set-relation-degree-reduction
Open

perf(eccvm): split set relation into 3 grand products to cut sumcheck degree#22482
MavenRain wants to merge 2 commits intoAztecProtocol:nextfrom
MavenRain:perf/eccvm-set-relation-degree-reduction

Conversation

@MavenRain
Copy link
Copy Markdown

Addresses #2226

Splits the single ECCVMSetRelation (partial length 22) into three independent grand products, one per tuple family:

  • ECCVMSetWnafRelation (pc, round, wnaf_slice) — partial length 9
  • ECCVMSetScalarRelation (pc, P.x, P.y, scalar) — partial length 8
  • ECCVMSetMsmRelation (pc, P.x, P.y, msm_size) — partial length 6

The wnaf grand product caches the product of its first two denominator factors in a new committed polynomial den_wnaf_partial, reducing degree from 10 to 9.

Net effect: MAX_PARTIAL_RELATION_LENGTH drops from 22 to 9, and BATCHED_RELATION_PARTIAL_LENGTH from 24 to 11, which directly reduces sumcheck prover work for ECCVM proving.

New entities: z_perm_scalar, z_perm_msm (shifted grand products), den_wnaf_partial (intermediate, depends on β/γ so committed in the log-derivative round). Entity counts updated accordingly (NUM_WITNESS_ENTITIES 87→90, NUM_SHIFTED_ENTITIES 26→28, NUM_ALL_ENTITIES 118→123).

Please read contributing guidelines and remove this line.

For audit-related pull requests, please use the audit PR template.

… degree

  (AztecProtocol#2226)

  Splits the single ECCVMSetRelation (partial length 22) into three independent
  grand products, one per tuple family:

  - ECCVMSetWnafRelation   (pc, round, wnaf_slice)   — partial length 9
  - ECCVMSetScalarRelation (pc, P.x, P.y, scalar)    — partial length 8
  - ECCVMSetMsmRelation    (pc, P.x, P.y, msm_size)  — partial length 6

  The wnaf grand product caches the product of its first two denominator factors
  in a new committed polynomial `den_wnaf_partial`, reducing degree from 10 to
  9.

  Net effect: MAX_PARTIAL_RELATION_LENGTH drops from 22 to 9, and
  BATCHED_RELATION_PARTIAL_LENGTH from 24 to 11, which directly reduces sumcheck
  prover work for ECCVM proving.

  New entities: z_perm_scalar, z_perm_msm (shifted grand products),
  den_wnaf_partial (intermediate, depends on β/γ so committed in the
  log-derivative round). Entity counts updated accordingly
  (NUM_WITNESS_ENTITIES 87→90, NUM_SHIFTED_ENTITIES 26→28, NUM_ALL_ENTITIES
  118→123).
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.

1 participant