3876 Commits

Author SHA1 Message Date
Dmitry Vagner
bc9c431e3b remove comments 2023-01-18 14:42:30 +07:00
Dmitry Vagner
9977ae03bd new inverse 2023-01-18 14:41:09 +07:00
Dmitry Vagner
fe91e11920 frob format 2023-01-18 13:11:23 +07:00
Dmitry Vagner
37ad340774 frob format 2023-01-18 12:56:30 +07:00
Dmitry Vagner
ecde3d13b1 frob tests 2023-01-18 11:10:26 +07:00
Dmitry Vagner
9cd1f8a1b2 Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv 2023-01-18 00:41:18 +07:00
Dmitry Vagner
be19cb81e3 struct impl style arithmetic 2023-01-17 23:58:36 +07:00
Dmitry Vagner
31c5db91a5 rename module 2023-01-17 16:11:15 +07:00
Dmitry Vagner
ccd4a38ab4 remove make_stack 2023-01-17 15:57:46 +07:00
Daniel Lubarov
b753836a37
Merge pull request #864 from mir-protocol/block_circuit
Block circuit
2023-01-15 22:51:24 -08:00
Daniel Lubarov
b6f6c21018 Block circuit 2023-01-15 00:06:08 -08:00
Daniel Lubarov
3a6d693f3f
Merge pull request #863 from mir-protocol/smart_contract_test
Basic smart contract test
2023-01-14 21:42:20 -08:00
Daniel Lubarov
a2f4a58d9a log 2023-01-14 21:21:47 -08:00
Daniel Lubarov
df2ba7a384 Basic smart contract test 2023-01-14 21:18:58 -08:00
Nicholas Ward
07e02f2df1
Merge pull request #862 from mir-protocol/prover_inputs_error_handling
Use error instead of panicking in `FromStr`
2023-01-13 16:39:31 -08:00
wborgeaud
a158effe4d Use error instead of panicking in FromStr 2023-01-13 15:26:53 +01:00
Dmitry Vagner
3fbc8bff3e move comment 2023-01-13 09:09:27 +04:00
Dmitry Vagner
ea8cfc95b0 name 2023-01-13 09:06:51 +04:00
Dmitry Vagner
2a2880b7ea name 2023-01-13 09:06:23 +04:00
Dmitry Vagner
800ceb6000 zero name 2023-01-13 09:02:39 +04:00
Dmitry Vagner
e6bcad6c65 Merge branch 'non-inv' of github.com:mir-protocol/plonky2 into non-inv 2023-01-13 08:58:31 +04:00
Dmitry Vagner
446a0d3f56 name 2023-01-13 08:58:17 +04:00
Dima V
81861095d3
Update evm/src/cpu/kernel/asm/curve/bn254/field_arithmetic/inverse.asm
Co-authored-by: Jacqueline Nabaglo <jakub@mirprotocol.org>
2023-01-12 20:57:54 -08:00
Dmitry Vagner
4f38c3a731 name 2023-01-13 08:48:51 +04:00
Dmitry Vagner
70d7fb1352 cleaner inv 2023-01-13 08:47:15 +04:00
Dima V
32f24819dd
Update evm/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/curve_add.asm
Co-authored-by: Jacqueline Nabaglo <jakub@mirprotocol.org>
2023-01-12 20:36:47 -08:00
Dmitry Vagner
49db35d35e Merge branch 'non-inv' of github.com:mir-protocol/plonky2 into non-inv 2023-01-11 18:20:55 +04:00
Dima V
42f98a09ae
Update evm/src/bn254.rs
Co-authored-by: Jacqueline Nabaglo <jakub@mirprotocol.org>
2023-01-11 05:58:26 -08:00
Dmitry Vagner
82ce8153cc \n 2023-01-11 17:54:43 +04:00
Dmitry Vagner
93a363c100 Merge branch 'main' of github.com:mir-protocol/plonky2 into non-inv 2023-01-11 17:54:22 +04:00
Dima V
068f74854a
Update evm/src/witness/util.rs
Co-authored-by: Jacqueline Nabaglo <jakub@mirprotocol.org>
2023-01-11 05:45:08 -08:00
Dima V
698ab6e749
Update evm/src/bn254.rs
Co-authored-by: Jacqueline Nabaglo <jakub@mirprotocol.org>
2023-01-11 05:43:56 -08:00
Daniel Lubarov
be7a489c6e Fix stack overflow 2023-01-10 21:03:46 -08:00
Daniel Lubarov
8ba8bb62f2
Merge pull request #860 from mir-protocol/agg_circuit_2
Add aggregation circuit
2023-01-04 14:57:56 -08:00
Daniel Lubarov
87be6097a1 Feedback 2023-01-04 14:50:15 -08:00
Daniel Lubarov
ae212cfbbd
Merge pull request #859 from mir-protocol/remove_older_evm_recursion_logic
Remove some older EVM recursion logic
2023-01-04 00:07:15 -08:00
Daniel Lubarov
14e6e7e968
Merge pull request #858 from mir-protocol/remove_ctl_defaults
Remove CTL defaults
2023-01-03 23:32:41 -08:00
Daniel Lubarov
e4a5c2c968
Merge pull request #857 from mir-protocol/non_tight_degree_bound
Allow non-tight degree bound
2023-01-03 22:29:45 -08:00
Daniel Lubarov
f4ac2d4f9c Fix vk 2023-01-03 17:45:47 -08:00
Daniel Lubarov
5df784416a Add aggregation circuit
Which can be used to compress two proofs into one. Each inner proof can be either
- an "EVM root" proof (which typically proves one transaction, though it could be 0 or more)
- another aggregation proof
2023-01-03 15:46:59 -08:00
Daniel Lubarov
76b3eb304c more 2023-01-03 12:43:05 -08:00
Daniel Lubarov
fbb72e16bb warning 2023-01-03 12:29:14 -08:00
Daniel Lubarov
e12c6ad5b9 Remove some older EVM recursion logic
Some logic was replaced by the constant-degree logic in `fixed_recursive_verifier`.
2023-01-03 11:53:21 -08:00
Daniel Lubarov
6655e776a8 Remove CTL defaults
We ended up not needing the feature.
2023-01-03 11:36:42 -08:00
Daniel Lubarov
0ca308400a
Merge pull request #855 from mir-protocol/fixed_stark_recursion
Shrink STARK proofs to a constant degree
2023-01-03 11:31:14 -08:00
Daniel Lubarov
5719c0b70b feedback 2023-01-03 11:23:28 -08:00
Daniel Lubarov
1ecdb96a6b Power of two length 2023-01-03 11:03:20 -08:00
Daniel Lubarov
2e59ceccc4 import 2023-01-03 10:40:05 -08:00
Daniel Lubarov
40aecc8e95 Allow non-tight degree bound
Reverts the degree adjustment part of #436. As @jimpo pointed out, the adjustment complicates security by allowing rational functions of the form `poly(x) / x`.

A tight degree bound shouldn't be necessary. Ultimately we want to check that some witness function `f(x)` exists satisfying (simplified) `c(f(x)) = Z_H(x) q(x)`.  We only need `f(x)` to be low-degree because that allows us to use polynomial identity testing. With PIT we don't care about exact degree bounds; a negligible degree change will have a negligible effect on PIT soundness.
2023-01-03 10:19:55 -08:00
Daniel Lubarov
18ce7ea547 Disable slow test on CI 2023-01-01 23:42:05 -08:00