Skip to content

Add the basefold recursive verifier. #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 78 commits into
base: main
Choose a base branch
from

Conversation

yczhangsjtu
Copy link
Collaborator

@yczhangsjtu yczhangsjtu commented Jun 12, 2025

Add the MMCS verifier and basefold recursive verifier.

  • (Done) MMCS verifier (directly use the native openvm mmcs instruction)

@kunxian-xia
Copy link
Contributor

kunxian-xia commented Jun 26, 2025

kunxian-xia and others added 2 commits July 8, 2025 09:48
* comment out

* wip

* hash read/write unit test passed

* wip2

* add inv_2 to input stream

* Fix memory out of bound problem

* update Cargo.lock

* Avoid providing two-adic generators inverses by hint

* Replace idx_bits by num2bits_f

* Replace idx_len by max_num_vars + rate log

* Change index bits to small endian

* Try fixing new index check

* Fix new index check

* Sub one from index len

* Identified the cause

* Fix index out of bound error

* Change comment

* Add native verify test

* Fix evals shape error

* Fix mmcs verify failure

* Remove some print lines

* fmt

* Supply all hints

* Fix new index compute

* Fix ext mmcs verify dimension

* Slice idx bits in ext mmcs verify

* Some small fixes

* right shift by hint

* Fix verifier_folding_coeffs_level

* Successfully run to first checkpoint

* Fails at last line

* Identified unimplemented function build_eq_x_r_vec_sequential_with_offset

* batch verifier query phase test passes

* Print the cycle count

---------

Co-authored-by: Yuncong Zhang <[email protected]>
* [Upgrade] ZKVMProof Verifier Update (#31)

* Remove index reversal

* Add a cycle tracker

* Delete a loop

* Better casting

* Change verifier logic

* Finish opcdoe proof verification debugging

* Finish debugging table proof verification

* Debug verifier

* Finish debugging updated verifier

* Remove unnecessary table proof fields

* Remove unnecessary parsing

* Update Plonky3

* Migrate away from temporary build branch

* Switch ceno reliance

* Fix compilation errors due to out of date code

* Update test query phase batch

* Fix query opening proof

* Implement basefold proof variable

* Update query phase verifier input

* Preparing test data for query phase with updated code

* Implement basefold proof transform

* Prepare query phase verifier input

* Prepare query phase verifier input

* Fix final message access

* Switch ceno reliance to small field support

* basefold verifier for one matrix (#35)

* wip

* wip2

* wip3

* fix test

* fix

* fmt

* fri part of verifying basefold proof for 1 matrix passed

* sumcheck part 1

* sumcheck part 2

* sumcheck part 3

* cleanup

* more cleanups

---------

Co-authored-by: Ray Gao <[email protected]>
Co-authored-by: xkx <[email protected]>
@kunxian-xia kunxian-xia marked this pull request as ready for review July 22, 2025 03:06
* Switch ceno reliance

* Fix compilation errors due to out of date code

* Update test query phase batch

* Fix query opening proof

* Implement basefold proof variable

* Update query phase verifier input

* Preparing test data for query phase with updated code

* Implement basefold proof transform

* Prepare query phase verifier input

* Prepare query phase verifier input

* Fix final message access

* Switch ceno reliance to small field support

* Create basefold verifier function

* Check final message sizes

* Fix final message size

* Fix final message size

* Check query opening proof len

* Compute total number of polys

* Sample batch coeffs

* Compute max_num_var

* Write sumcheck messages and commits to transcript

* Write final message to transcript

* Complete the code for batch verifier

* Add verifier test

* Try to fix some compilation errors in e2e

* Connecting pcs with e2e

* Fix some issues after merge

* Make compilation pass temporarily

* Make test pass before query phase

* Supply the permutation and make the random case pass

* Try fixing transcript inconsistency

* Use bin to dec le

* Add pow witness

* Basefold verifier passes for simple case

* Update dependency

* Basefold verifier passes decreasing and random batches

* update ceno dependencies

* comment out patch

* refactor

* the computation of max_num_var is simplified

* put perm to RoundVariable

* remove debug routines

* rename

* clean

* cleanup

* ignore e2e test

---------

Co-authored-by: kunxian xia <[email protected]>
This was linked to issues Jul 24, 2025
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.

Integrate BaseFold verifier feat: basefold verifier
2 participants