Daniel Lubarov
dbc2d85b78
fmt
2022-04-14 19:24:01 -07:00
Remco Bloemen
9cff202e1a
Move benches to bins ( #534 )
...
* Copy recusion bench to bin
* Add command line arguments
* Allow ranges for inner_size
* Accept range for threads
* Log2 inner size
* CLI args for logging
* Update readme
* Use split_once
* Cleanup
* Correct inner proof size
* Shrink public surface
* Print stats on inner proofs
2022-04-14 19:23:43 -07:00
Hamish Ivey-Law
76c86c55b3
System Zero binary bitwise operations ( #529 )
...
* First draft of bitwise AND.
* Refactor everything; add support for other binary bitops.
* Documentation; fix integration into rest of ALU.
* Allow `cargo fmt` to make code harder to read.
* Refactor following Jakub's suggestions.
* Fix variable name.
* Minor documentation.
* Basic tests.
* Address Daniel's PR comments.
* Remove the 'BIT' prefix from the BIT{AND,IOR,XOR,ANDNOT} names.
* cargo fmt/clippy
* Simplify bit test.
2022-04-08 14:54:33 +10:00
wborgeaud
1558b89f1a
Merge pull request #530 from mir-protocol/u32_crate
...
Move u32 gates and gadgets to `plonky2_u32` crate
2022-04-07 08:59:12 +02:00
wborgeaud
d484b6237a
plonky2_u32 -> u32
2022-04-07 08:44:54 +02:00
wborgeaud
b58d5d6747
Move u32 stuff to plonky2_u32 crate
2022-04-06 08:50:45 +02:00
wborgeaud
3c6ec8755b
Merge pull request #525 from mir-protocol/remove_const_gate
...
Generate constants in `RandomAccessGate`
2022-04-05 07:27:39 +02:00
Daniel Lubarov
8faf644f87
Change gate method for extra constants ( #528 )
...
* Change gate method for extra constants
* Rename
* feedback
2022-04-04 14:33:54 -07:00
Daniel Lubarov
4fc6fdadd3
Stop suppressing unused/dead warnings globally ( #527 )
...
Most of them were trivial to address; for the remaining warnings I suppressed just the relevant line and added TODOs.
2022-03-31 22:53:47 -07:00
wborgeaud
cc95cb5ee1
Typo
2022-03-31 16:15:27 +02:00
wborgeaud
d12417c9f1
Comments + cleaning + fixes
2022-03-31 16:11:08 +02:00
wborgeaud
fae471f9d8
Working
2022-03-31 15:33:31 +02:00
wborgeaud
f81e32f8b4
semi-working
2022-03-31 14:04:38 +02:00
wborgeaud
b4d11c28fe
Merge pull request #524 from mir-protocol/better_selectors
...
Change selector scheme
2022-03-31 09:13:19 +02:00
wborgeaud
604715240f
PR feedback: num_selectors as fn and sorting comment
2022-03-31 08:51:28 +02:00
wborgeaud
e2de88d145
Add constants to the RAM gate
2022-03-31 08:29:05 +02:00
Nicholas Ward
270ff9858d
Merge pull request #466 from mir-protocol/glv
...
Glv
2022-03-28 08:29:04 -07:00
wborgeaud
9b65825572
Comments
2022-03-28 14:24:29 +02:00
wborgeaud
e50e668f7e
PR feedback + use only one selector when possible
2022-03-28 10:15:06 +02:00
wborgeaud
283c9350a7
No doc-test
2022-03-25 08:24:32 +01:00
wborgeaud
19cbbd4d12
Minor
2022-03-25 08:01:22 +01:00
wborgeaud
847565a8c3
Comments
2022-03-25 07:52:39 +01:00
wborgeaud
d6b99df876
Cleaning
2022-03-25 06:36:04 +01:00
wborgeaud
1d77116ef3
Working
2022-03-24 07:19:48 +01:00
Jakub Nabaglo
06fef55bfb
u32 division ( #517 )
...
* First draft for division.
* `eval_division` work
* Division
* Minor: outdated fixme
* Tests and better column names
* Minor lints
* Remove redundant constraint
* Make division proof more formal
* Minor proof and comments
Co-authored-by: Hamish Ivey-Law <hamish@ivey-law.name>
2022-03-23 10:41:36 -07:00
wborgeaud
c6ebd06907
Not working yet
2022-03-23 15:47:22 +01:00
wborgeaud
7cf3220439
Rollback
2022-03-23 14:16:02 +01:00
wborgeaud
185d8faef6
Progress
2022-03-23 14:06:09 +01:00
wborgeaud
68bd0f4b3d
Not working
2022-03-23 07:27:06 +01:00
wborgeaud
2cedd1b02a
Merge pull request #521 from mir-protocol/fix_inv_mod_xn
...
Fix inv mod xn
2022-03-21 06:13:06 +01:00
wborgeaud
163053b8fa
Use truncate instead of drain
2022-03-21 05:34:36 +01:00
Daniel Lubarov
482dfe559a
Vectorize constraint evaluation in Starky ( #520 )
2022-03-20 08:58:23 -07:00
wborgeaud
744996ef1c
Remove remove_prefix
2022-03-20 10:19:22 +01:00
wborgeaud
dbaa31d818
Back to slice
2022-03-20 10:13:01 +01:00
wborgeaud
3b767ca42f
a_deg should be degree of a
2022-03-20 07:26:40 +01:00
wborgeaud
6a6414163a
Fix inv_mod_xn
2022-03-20 07:23:51 +01:00
wborgeaud
ddd5192489
Move secret_to_public to a ECDSASecretKey method
2022-03-18 08:04:40 +01:00
wborgeaud
c472afe12e
Merge branch 'main' into glv
...
# Conflicts:
# ecdsa/src/curve/ecdsa.rs
# plonky2/src/gadgets/ecdsa.rs
2022-03-18 07:19:28 +01:00
wborgeaud
296b21aed9
Not working
2022-03-17 11:48:44 +01:00
wborgeaud
e77383b559
Progress
2022-03-17 11:08:25 +01:00
Daniel Lubarov
7d6c0a448d
Halo2 style lookup arguments in System Zero ( #513 )
...
* Halo2 style lookup arguments in System Zero
It's a really nice and simple protocol, particularly for the verifier since the constraints are trivial (aside from the underlying batched permutation checks, which we already support). See the [Halo2 book](https://zcash.github.io/halo2/design/proving-system/lookup.html ) and this [talk](https://www.youtube.com/watch?v=YlTt12s7vGE&t=5237s ) by @daira.
Previously we generated the whole trace in row-wise form, but it's much more efficient to generate these "permuted" columns column-wise. So I changed our STARK framework to accept the trace in column-wise form. STARK impls now have the flexibility to do some generation row-wise and some column-wise (without extra costs; there's a single transpose as before).
* sorting
* fixes
* PR feedback
* into_iter
* timing
2022-03-16 17:37:34 -07:00
wborgeaud
63a3090452
Start selectors
2022-03-16 18:09:36 +01:00
wborgeaud
deec6a784c
Merge pull request #516 from mir-protocol/ecdsa_module
...
Move nonnative/curve/ecdsa code to `ecdsa` module
2022-03-16 18:06:51 +01:00
wborgeaud
786c1eafcf
Minor
2022-03-16 05:44:02 +01:00
wborgeaud
534ee7d637
Add untracked files
2022-03-16 05:39:45 +01:00
wborgeaud
660d785ed1
Merge pull request #515 from mir-protocol/fix_salt_issue
...
Fix salt issues
2022-03-16 03:40:59 +01:00
Daniel Lubarov
627e80bfd5
Filter mul-add constraints ( #512 )
2022-03-15 09:24:10 -07:00
wborgeaud
cc9a43b574
Fix salt issues
2022-03-15 17:14:45 +01:00
wborgeaud
2e5c2e8984
Add ecdsa module
2022-03-15 16:55:08 +01:00
wborgeaud
50f722d83e
Merge pull request #511 from mir-protocol/gadget_curve_msm
...
Gadget for curve MSM, fixed-base scalar multiplication and ECDSA verification in under `2^17` or `2^16` gates
2022-03-05 02:50:57 +01:00