Skip to content

Add RamRaVirtualization sumcheck #26

@MatteoMer

Description

@MatteoMer

Summary

Upstream Jolt decomposes the combined ra polynomial into a product of d one-hot chunk polynomials via a virtualization sumcheck:

Σ_c eq(r_cycle_reduced, c) · Π_{i=0}^{d-1} ra_i(r_addr_chunk_i, c) = ra_claim_reduced

Where d is the number of one-hot decomposition chunks and ra_i are the committed one-hot polynomials (committed via Dory as CommittedPolynomial::RamRa(i)).

This is a degree d+1 sumcheck over log_T rounds. After completion, each ra_i(r_addr_chunk_i, r_cycle_final) becomes a committed polynomial opening sent to the commitment scheme.

Why

This is the bridge between the virtual ra polynomial used in sumchecks and the actual committed one-hot chunk polynomials. Without it, we can't reduce ra claims to commitment openings.

Depends on

  • RamRaClaimReduction (provides the single ra_claim_reduced input)

Reference

  • Upstream: jolt-core/src/zkvm/ram/ra_virtual.rs
  • One-hot polynomials: jolt-core/src/poly/one_hot_polynomial.rs (Dory commitment interface)
  • RaPolynomial: jolt-core/src/poly/ra_poly.rs (PIOP sumcheck polynomial)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions