[recursion] ceno recursion v2#1263
Closed
hero78119 wants to merge 0 commit into
Closed
Conversation
2abf843 to
77a3162
Compare
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Apr 1, 2026
…value + PublicValues (#1277) This PR refactors how public inputs (PI) are represented and consumed across zkVM proving/verification so that PI handling is circuit-driven and consistent end-to-end. Related to #1263. ### Design rationale Previously, PI transcript absorption and some verifier checks depended on broader/raw PI containers, which made ordering and indexing assumptions harder to audit and keep consistent across: - prover - rust verifier - recursion verifier. This PR moves PI consumption to a canonical, circuit-defined path: - `instance_values` defines which scalar PI values a circuit observes (and in what order). - `instance_openings` defines which PI MLE columns are opened. - PI openings are derived from `PublicValues` MLEs, rather than ad-hoc/raw vectors. This reduces ambiguity in PI ordering/indexing and aligns transcript-visible PI handling with circuit semantics. ### pi update Previous `pi_update` mechanism will trigger verifier failed if a identical public value used > 1 chip because they will be in different opening point, thus evaluation value will be different. This PR fixed the issue, and refactor public value check back to `verify_chip_phase` ### soundness fix This PR also fixed a soundness issue by removing `wit_in_evals` and `fixed_in_evals` from the proof payload. Instead of trusting prover-supplied values for these evaluations, the verifier now deterministically derives them from the sumcheck evaluations during verification. This prevents a malicious prover from introducing mismatches between claimed eval vectors and the actual sumcheck-consistent values. ### Follow up #1280
5 tasks
8cdfb76 to
ac62604
Compare
74a173b to
ac62604
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to #1267