Skip to content

Batch public input check with ring-switch oracle relation#1441

Merged
jimpo merged 3 commits intomainfrom
batch-pubcheck-ring-switch
Apr 7, 2026
Merged

Batch public input check with ring-switch oracle relation#1441
jimpo merged 3 commits intomainfrom
batch-pubcheck-ring-switch

Conversation

@jimpo
Copy link
Copy Markdown
Collaborator

@jimpo jimpo commented Apr 7, 2026

Summary

  • Remove public input checking from the shift reduction protocol (no longer samples inout_eval_point or batch_coeff during shift reduction)
  • Re-introduce public input verification batched with the ring-switch oracle relation during PCS opening, modifying both the transparent polynomial and the claim
  • Extract compute_batched_transparent helper on the prover side and eval_pubcheck_eq helper on the verifier side

Test plan

  • cargo test -p binius-prover --test shift
  • cargo test -p binius-examples --tests
  • cargo clippy -p binius-verifier -p binius-prover --tests --benches -- -D warnings

jimpo added 3 commits April 7, 2026 11:24
The public input consistency check was batched into Phase 2 of the shift
reduction protocol. This removes it entirely: the Fiat-Shamir transcript
no longer samples inout_eval_point or batch_coeff, the Phase 2 sumcheck
claim simplifies from gamma + batch_coeff * public_eval to just gamma,
and the eval check simplifies from witness_eval * (monster_eval +
batch_coeff * eq_eval) to witness_eval * monster_eval. Public input
verification will be handled separately.
[prover] Observe public inputs as B128 on channel
Instead of checking public inputs in the shift reduction protocol,
batch the pubcheck with the ring-switch oracle relation during PCS
opening. This samples a batch_coeff after ring-switch and modifies
both the transparent polynomial (rs_eq_ind + batch_coeff * pubcheck_eq)
and the claim (sumcheck_claim + batch_coeff * pubcheck_claim). The
pubcheck_eq selects the first 2^log_public_elems entries of the
committed polynomial using eq(pubcheck_point || 0, ·).
@jimpo jimpo merged commit d39e313 into main Apr 7, 2026
15 checks passed
@jimpo jimpo deleted the batch-pubcheck-ring-switch branch April 7, 2026 16:45
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