Skip to content

refactor: split stage 6 sumchecks#16

Open
RadNi wants to merge 14 commits into
amir/bytecode-commitment-stack-basefrom
amir/bytecode-stack/01-stage6-split
Open

refactor: split stage 6 sumchecks#16
RadNi wants to merge 14 commits into
amir/bytecode-commitment-stack-basefrom
amir/bytecode-stack/01-stage6-split

Conversation

@RadNi
Copy link
Copy Markdown

@RadNi RadNi commented May 21, 2026

Generated stack PR from amir/bytecode-commitment-merged.

Depends on spec PR: a16z#1565

Stack position: 01
Base branch: amir/bytecode-commitment-stack-base

Owned paths:

jolt-core/src/subprotocols/booleanity.rs
jolt-core/src/subprotocols/mod.rs
jolt-core/src/poly/opening_proof.rs
jolt-core/src/zkvm/bytecode/read_raf_checking.rs
jolt-core/src/zkvm/proof_serialization.rs
jolt-core/src/zkvm/prover.rs
jolt-core/src/zkvm/verifier.rs
jolt-core/src/zkvm/transpilable_verifier.rs
jolt-core/src/zkvm/witness.rs
transpiler/src/symbolic_proof.rs

This PR is expected to be updated manually when amir/bytecode-commitment-merged is resliced.

@github-actions github-actions Bot added spec PR contains a spec implementation PR contains implementation of a spec labels May 21, 2026
@RadNi RadNi force-pushed the amir/bytecode-stack/01-stage6-split branch 2 times, most recently from b561ac0 to e528eda Compare May 21, 2026 01:51
@RadNi RadNi changed the title Split stage 6 sumchecks [01/05] Split stage 6 sumchecks May 21, 2026
@RadNi RadNi force-pushed the amir/bytecode-stack/01-stage6-split branch 2 times, most recently from be768fc to 4624ea6 Compare May 21, 2026 18:02
@RadNi RadNi changed the base branch from amir/bytecode-stack/base-origin-main to main May 21, 2026 18:10
@RadNi RadNi marked this pull request as ready for review May 21, 2026 18:10
@RadNi RadNi changed the base branch from main to amir/bytecode-stack/base-origin-main May 21, 2026 18:20
@RadNi RadNi closed this May 21, 2026
@RadNi RadNi reopened this May 21, 2026
@RadNi RadNi changed the title [01/05] Split stage 6 sumchecks refactor: split stage 6 sumchecks May 21, 2026
@RadNi RadNi changed the base branch from amir/bytecode-stack/base-origin-main to amir/bytecode-commitment-stack-base May 21, 2026 19:30
Comment thread jolt-core/src/zkvm/prover.rs Outdated
Comment on lines +1285 to +1291
// Stage 6a input claims depend on hidden prior-stage outputs in ZK mode,
// so we prove it with a ZK sumcheck proof. We keep a local blindfold
// accumulator so this split-internal phase does not add a new global
// BlindFold stage.
let mut rng = rand::thread_rng();
let mut local_blindfold =
crate::subprotocols::blindfold::BlindFoldAccumulator::<F, C>::new();
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I don't understand this

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

cc @0xAndoroid does this look right to you?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

ah nvm I see it's fixed in #19

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I moved the fix to this PR

@github-actions
Copy link
Copy Markdown

Warning

This PR has more than 500 changed lines and does not include a spec.

Large features and architectural changes benefit from a spec-driven workflow.
See CONTRIBUTING.md for details on how to create a spec.

If this PR is a bug fix, refactor, or doesn't warrant a spec, feel free to ignore this message.

@github-actions github-actions Bot added no-spec PR has no spec file and removed spec PR contains a spec labels May 22, 2026
@RadNi RadNi force-pushed the amir/bytecode-stack/01-stage6-split branch from 0eddf1c to 3e44c13 Compare May 22, 2026 17:30
@github-actions github-actions Bot added spec PR contains a spec and removed no-spec PR has no spec file labels May 22, 2026
quangvdao and others added 8 commits May 24, 2026 18:35
Use phase-specific stage6a/stage6b sumcheck params and proof wiring so zk transcript and constraints stay aligned after splitting stage6. This preserves the split design while fixing zk failures without introducing bytecode-commitment features.

Made-with: Cursor

(cherry picked from commit e9ec21c)

Co-authored-by: Amirhossein Khajehpour <khajepour.amirhossein@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
RadNi and others added 5 commits May 24, 2026 18:35
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep stage6a on the standard batched sumcheck path and derive cycle-phase booleanity params in stage6b so the split matches the reference branch.

Made-with: Cursor

Co-authored-by: Cursor <cursoragent@cursor.com>
Treat stage6a as its own BlindFold stage after splitting stage6 so prover and verifier agree on the ZK stage layout.

Made-with: Cursor

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@RadNi RadNi force-pushed the amir/bytecode-stack/01-stage6-split branch from 3e44c13 to 4175c7a Compare May 25, 2026 18:46
@RadNi RadNi changed the base branch from amir/bytecode-commitment-stack-base to amir/bytecode-stack/base-origin-main May 25, 2026 19:02
@RadNi RadNi changed the base branch from amir/bytecode-stack/base-origin-main to amir/bytecode-commitment-stack-base May 26, 2026 01:00
@RadNi RadNi force-pushed the amir/bytecode-commitment-stack-base branch from 9da1de7 to fdf890d Compare May 26, 2026 01:04
Reuse the RA indices computed during the booleanity address phase by passing an opaque cycle input into the cycle phase, keeping prover orchestration unaware of booleanity internals.
@github-actions github-actions Bot added no-spec PR has no spec file and removed spec PR contains a spec labels May 26, 2026
Copy link
Copy Markdown

@0xAndoroid 0xAndoroid left a comment

Choose a reason for hiding this comment

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

lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

implementation PR contains implementation of a spec no-spec PR has no spec file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants