Commit 8edbb1e
Add the basefold recursive verifier. (#13)
* Dense Matrix
* Added hints
* Finished get_base_codeword_dimensions
* WIP mmcs
* WIP mmcs
* Update mmcs
* WIP mmcs
* Finished MMCS
* Added dot_product
* query_phase input
* WIP query_phase
* Fix bug in sorting
* WIP query phase
* WIP query phase
* WIP query phase
* WIP query phase
* New Sorting Impl
* WIP query phase
* WIP query phase
* WIP query phase
* Finished query_phase encoding
* Support serialized input
* Implement the naive encode small method
* Bug workaround
* Temp store: starting to use openvm mmcs instruction
* Temp store: index to bits
* Temp store: clean up mmcs
* Temp store: clear compilation errors
* Fix compilation error
* Fix hash variable reading bug
* Use dyn array for dimensions
* Fix multiplication between var and ext
* Fix mmcs reading
* Remove unnecessary witness stream
* Add doc for generating mmcs test data
* Try fixing mmcs
* Try fixing mmcs
* Try fixing mmcs
* Add comment
* Use the same poseidon2 constants as the test data
* Specify branch for test data gen
* MMCS test passes
* Rewrite fold coeff according to current basefold code
* Fix
* Merge e2e modification
* Fix compilation errors from merge
* Fix compilation errors from merge
* Fix compilation errors from merge
* (WIP) Connecting e2e with query phase
* WIP
* (WIP) transform ceno query phase verifier input to current
* (WIP) Fix query phase transform
* (WIP) Fix query phase transform
* (WIP) Fix query phase transform
* (WIP) Fix query phase transform
* Fix query phase transform
* Comment out connecting code temporarily
* Query phase compile successful
* (WIP) Debugging query phase
* Fix a bug in verifier query phase
* Read additional hints from binary file
* Fix: batch opening (#28)
* 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 <yczhangsjtu@gmail.com>
* Simplify BaseFold verifier (#34)
* [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 <qg2153@columbia.edu>
Co-authored-by: xkx <xiakunxian130@gmail.com>
* add multiple matrices as inputs to the basefold's unit test
* fix
* unit test passed
* support matrices that have same height
* refactor tests
* Complete Basefold verifier and Basefold e2e integration (#36)
* 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 <xiakunxian130@gmail.com>
* Feat: integrate BaseFold module to verify zkVM proof (#43)
* wip
* fix
* update zkvm verifier
* e2e pass without basefold
* cleanup
* cleanup 2
* verify witin openings but still failed
* remove debug logs
* add fixed opening
* pass fri check
* turn on input_opening_point length check
* pass e2e test
---------
Co-authored-by: Kunming Jiang <kunmingj@andrew.cmu.edu>
Co-authored-by: kunxian xia <xiakunxian130@gmail.com>
Co-authored-by: Ray Gao <qg2153@columbia.edu>1 parent 200eaaf commit 8edbb1e
File tree
22 files changed
+3578
-971
lines changed- src
- arithmetics
- basefold_verifier
- e2e
- extensions
- tower_verifier
- transcript
- zkvm_verifier
22 files changed
+3578
-971
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
51 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | 44 | | |
49 | 45 | | |
50 | 46 | | |
| |||
101 | 97 | | |
102 | 98 | | |
103 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
104 | 117 | | |
105 | 118 | | |
106 | 119 | | |
| |||
191 | 204 | | |
192 | 205 | | |
193 | 206 | | |
194 | | - | |
| 207 | + | |
195 | 208 | | |
196 | | - | |
| 209 | + | |
197 | 210 | | |
198 | | - | |
199 | 211 | | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
207 | 221 | | |
208 | 222 | | |
209 | 223 | | |
| |||
281 | 295 | | |
282 | 296 | | |
283 | 297 | | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
284 | 324 | | |
285 | 325 | | |
286 | 326 | | |
| |||
327 | 367 | | |
328 | 368 | | |
329 | 369 | | |
330 | | - | |
331 | | - | |
| 370 | + | |
| 371 | + | |
332 | 372 | | |
333 | | - | |
334 | | - | |
| 373 | + | |
| 374 | + | |
335 | 375 | | |
336 | | - | |
337 | | - | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
338 | 380 | | |
339 | | - | |
| 381 | + | |
340 | 382 | | |
341 | | - | |
342 | | - | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
343 | 392 | | |
344 | | - | |
345 | 393 | | |
346 | 394 | | |
347 | 395 | | |
| |||
374 | 422 | | |
375 | 423 | | |
376 | 424 | | |
377 | | - | |
| 425 | + | |
378 | 426 | | |
379 | 427 | | |
380 | 428 | | |
| |||
471 | 519 | | |
472 | 520 | | |
473 | 521 | | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
474 | 551 | | |
475 | 552 | | |
476 | 553 | | |
| |||
829 | 906 | | |
830 | 907 | | |
831 | 908 | | |
832 | | - | |
| 909 | + | |
833 | 910 | | |
834 | 911 | | |
835 | 912 | | |
| |||
884 | 961 | | |
885 | 962 | | |
886 | 963 | | |
887 | | - | |
888 | | - | |
| 964 | + | |
| 965 | + | |
889 | 966 | | |
890 | 967 | | |
891 | 968 | | |
| |||
909 | 986 | | |
910 | 987 | | |
911 | 988 | | |
912 | | - | |
913 | | - | |
914 | | - | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
915 | 992 | | |
916 | 993 | | |
917 | 994 | | |
| |||
938 | 1015 | | |
939 | 1016 | | |
940 | 1017 | | |
941 | | - | |
942 | | - | |
943 | | - | |
944 | | - | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
945 | 1022 | | |
946 | 1023 | | |
947 | 1024 | | |
| |||
971 | 1048 | | |
972 | 1049 | | |
973 | 1050 | | |
974 | | - | |
975 | | - | |
976 | | - | |
977 | | - | |
978 | | - | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
979 | 1056 | | |
980 | 1057 | | |
981 | 1058 | | |
982 | 1059 | | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
0 commit comments