Daniel Lubarov
95a875e28d
Allow virtual targets to be routed ( #84 )
...
As in plonky1. The semantics of virtual targets in plonky1 were rather weird, but I think it's somewhat better here, since we already separate `generate_copy` and `assert_equal` methods. Users now make more of an explicit choice -- they can use a `VirtualTarget` for the witness generation only using `generate_copy`, or they can involve it in copy constraints.
2021-07-01 08:12:12 -07:00
Daniel Lubarov
03179e5674
Couple fixes related to blinding
...
- `self.gates` -> `self.gate_instances`
- Some tests were using a single binary FRI reduction, which doesn't provide enough succinctness for our blinding scheme to work. This caused `blinding_counts` to continue until it overflowed.
2021-06-30 12:54:45 -07:00
wborgeaud
69fff573fe
Merge pull request #76 from mir-protocol/add_routed_wires
...
Increase number of routed wires to 28 and add a new `ArithmeticExtensionGate`
2021-06-30 08:32:25 +02:00
wborgeaud
a017e79f65
Merge branch 'main' into add_routed_wires
...
# Conflicts:
# src/gadgets/arithmetic.rs
2021-06-30 08:30:10 +02:00
Nicholas Ward
46ff079674
Merge pull request #80 from mir-protocol/blinding_factors
...
Blinding factors
2021-06-29 23:20:07 -07:00
Daniel Lubarov
f1e3474fcb
Simple reduce ( #78 )
...
* Simple reduce
* Fix bug causing test failure
2021-06-29 12:33:11 -07:00
Nicholas Ward
ce47eac72e
fix
2021-06-29 11:04:05 -07:00
Nicholas Ward
d599664f22
merge
2021-06-29 10:07:05 -07:00
wborgeaud
bae3777bcd
Use max filtered degree found with the tree method in CircuitBuilder::build
2021-06-29 14:00:34 +02:00
wborgeaud
493e81d786
Merge branch 'main' into lower_max_constraint_degree
...
# Conflicts:
# src/circuit_builder.rs
2021-06-29 13:48:41 +02:00
Nicholas Ward
d5457bf414
fixed arithmetic, and added comments
2021-06-28 23:08:24 -07:00
Nicholas Ward
40f5346009
cargo fmt
2021-06-28 17:07:27 -07:00
Nicholas Ward
5aa0960154
minor fixes
2021-06-28 17:07:09 -07:00
Nicholas Ward
01493303f8
blinding
2021-06-28 09:45:56 -07:00
Daniel Lubarov
7734aed62c
Performance tweaks ( #77 )
2021-06-28 08:56:36 -07:00
wborgeaud
12e81acccf
Optimize the degree of the tree returned by Tree::from_gates to allow non-power of 2 degree.
2021-06-28 11:27:43 +02:00
wborgeaud
e195fe58ed
Merge branch 'main' into add_routed_wires
2021-06-25 13:53:30 +02:00
wborgeaud
810d1869a1
Minor improvements
2021-06-25 11:49:29 +02:00
wborgeaud
625377b4c0
Merge constant and sigma polynomials
2021-06-25 11:24:26 +02:00
Nicholas Ward
249c8a8378
calculating number of blinding gates needed
2021-06-24 22:02:20 -07:00
wborgeaud
54a15c012c
Fixed bug and add division test in the base field.
2021-06-24 22:38:40 +02:00
wborgeaud
21e7e8fdad
Merge branch 'main' into permutation_argument
...
# Conflicts:
# src/circuit_builder.rs
2021-06-24 22:35:13 +02:00
wborgeaud
8aa9c7b816
Merge branch 'main' into gate_tree
...
# Conflicts:
# src/circuit_data.rs
# src/witness.rs
2021-06-24 20:58:17 +02:00
wborgeaud
2a38f8656f
PR feedback
2021-06-24 20:53:15 +02:00
wborgeaud
54315d1735
Remove GatePrefixes to avoid using a HashMap
2021-06-24 18:08:39 +02:00
wborgeaud
ef7561fc84
Merge branch 'main' into permutation_argument
...
# Conflicts:
# src/circuit_builder.rs
# src/circuit_data.rs
# src/polynomial/commitment.rs
# src/prover.rs
# src/witness.rs
2021-06-24 10:51:18 +02:00
wborgeaud
8796c73362
Change MulExtensionGate to ArithmeticExtensionGate and change gadgets to use the new wires in this gate.
2021-06-23 18:04:43 +02:00
wborgeaud
747f1875af
Add todo for public inputs
2021-06-23 14:26:05 +02:00
wborgeaud
6c864ca522
Merge branch 'main' into fix_target_partition
...
# Conflicts:
# src/witness.rs
2021-06-23 14:17:02 +02:00
wborgeaud
bc90909fa3
Add check of copy constraints after witness generation
2021-06-23 14:16:05 +02:00
wborgeaud
3bc27c65ef
Rollback to previous semantics
2021-06-23 13:46:19 +02:00
wborgeaud
680d7a6389
Add eval_filtered methods
2021-06-22 17:10:36 +02:00
wborgeaud
5acbb674ad
Add prefix to constant polys
2021-06-22 16:54:20 +02:00
wborgeaud
aec6f21792
Test with tree from all gates.
2021-06-22 16:07:35 +02:00
wborgeaud
cfa3d3a660
Added comments
2021-06-22 15:34:50 +02:00
wborgeaud
da3d34a0d4
Working gate tree generation
2021-06-22 14:31:46 +02:00
wborgeaud
a71909ba15
Implement compute_z and rewrite of compute_vanishing_polys
2021-06-17 15:49:21 +02:00
wborgeaud
1b99f8272f
Merge branch 'main' into permutation_argument
2021-06-17 14:00:44 +02:00
wborgeaud
a6acd14dfa
Minor rewrites and optimizations
2021-06-16 17:43:41 +02:00
wborgeaud
ea6a724560
Enforce copy constraints in partial witness generation.
2021-06-14 17:02:52 +02:00
wborgeaud
7f63276623
Merge branch 'main' into recursive_verifier
2021-06-09 10:04:45 +02:00
Daniel Lubarov
72c2e19bc5
Bit of verifier work ( #54 )
...
* Bit of verifier work
* Minor
* next_plonk_zs now available after William's changes
2021-06-08 21:23:52 -07:00
wborgeaud
8cf2758b6c
Division gadget for extension field
2021-06-07 17:55:27 +02:00
wborgeaud
51c06d74ee
Recursive PoW
2021-06-04 16:02:48 +02:00
Daniel Lubarov
cb7f8c8b8c
Draw challenge points from the extension field ( #51 )
...
* Draw challenge points from the extension field
* Now building
* Misc
* Default eval_unfiltered_base
* fmt
* A few field settings
* Add to Sage
* Display tweak
* eval_filtered_base
* Quartic in bench
* Missing methods
* Fix tests
* PR feedback
2021-05-30 13:25:53 -07:00
wborgeaud
ce0507ba12
Blinding parameter can be set differently for each Merkle tree in a FRI proof.
2021-05-11 09:56:21 +02:00
wborgeaud
1bae3a02f6
Batch open for PLONK
2021-05-07 11:30:03 +02:00
Daniel Lubarov
aaa0e4aa4a
Port over some code for the permutation argument
...
This is mostly copy/pasted from plonky1, although there are some differences. E.g. in plonky2 virtual targets are not routable, so they're no longer added as partitions.
2021-04-25 17:02:02 -07:00
Daniel Lubarov
a50ba9f590
More unnecessary clones
2021-04-24 11:20:28 -07:00
Daniel Lubarov
6d164adc6a
Have the prover use the new MerkleTree API
...
Before it was storing leaf data and Merkle roots, but nothing in between, since it wasn't yet interacting with intermediate layers (but it will once we hook up the FRI code).
2021-04-24 11:15:11 -07:00