Commit 3fd48e2
perf: execution and tracegen rewrite (#1567)
**To be squash merged**
## What's Changed
See changelog for details.
The STARK backend `MultiStarkVerifyingKey`s for all existing VM configs
remains **unchanged** between v1.3.0 and this PR, with the exception of
the `RootVerifierProvingKey` noted below. However the `AppVerifyingKey`
has a difference in binary serialization due to the removal of an
`as_offset` field from `MemoryDimensions`. [This
workflow](https://github.com/openvm-org/openvm/actions/runs/17061122733/job/48368023655)
shows that after converting to account for this change:
- all `AppVerifyingKey`s remain unchanged
- all STARK aggregation vkeys except the Root Verifier vkey remain
unchanged
- the Root Verifier vkey's trace height constraints were updated to fix
a missing permutation. This changes the pre-vkey hash of the Root
Verifier vkey, which affects the Halo2 static verifier's initial
Fiat-Shamir transcript. However this change does not impact the security
of existing Root Verifier vkeys generated through the SDK because Root
Verifier proofs have fixed trace heights and these trace heights have
been checked to satisfy all trace height constraints statically.,
- the Halo2Verifier.sol Solidity verifier contract has changed between
v1.3 and this PR change the `Halo2Config::default()` now uses
`verifier_k = 23` instead of `verifier_k = 24` for a smaller default
halo2 circuit. The initial Fiat-Shamir transcript state also changed due
to the Root Verifier vkey change above.
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Ayush Shukla <[email protected]>
Co-authored-by: Alexander Golovanov <[email protected]>
Co-authored-by: Arayi Khalatyan <[email protected]>
Co-authored-by: Ayush Shukla <[email protected]>
Co-authored-by: Xinding Wei <[email protected]>
Co-authored-by: Lun-Kai Hsu <[email protected]>
Co-authored-by: Arayi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: crStiv <[email protected]>
Co-authored-by: HrikB <[email protected]>
Co-authored-by: Yi Sun <[email protected]>
Co-authored-by: Avaneesh-axiom <[email protected]>
Co-authored-by: stephenh-axiom-xyz <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Teo Kitanovski <[email protected]>
Co-authored-by: Valery Cherepanov <[email protected]>
Co-authored-by: Peyman Jabbarzade <[email protected]>
Co-authored-by: Valery <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: matejav <[email protected]>
Co-authored-by: PangZhi <[email protected]>
Co-authored-by: Ubuntu <[email protected]>1 parent c033e18 commit 3fd48e2
File tree
577 files changed
+56546
-32799
lines changed- .config
- .github/workflows
- benchmarks
- execute
- benches
- examples
- src
- guest
- base64_json
- elf
- bincode
- elf
- bubblesort
- elf
- src
- ecrecover
- elf
- factorial_iterative_u256
- elf
- src
- fibonacci_iterative
- elf
- src
- fibonacci_recursive
- elf
- src
- fibonacci
- elf
- keccak256_iter
- elf
- src
- keccak256
- elf
- src
- kitchen-sink
- elf
- pairing
- elf
- src
- quicksort
- elf
- src
- regex
- elf
- revm_snailtracer
- elf
- revm_transfer
- elf
- src
- rkyv
- elf
- sha256_iter
- elf
- src
- sha256
- elf
- src
- prove
- src
- bin
- utils
- src
- book
- src
- getting-started
- ci/scripts
- metric_unify
- crates
- circuits
- mod-builder
- src
- poseidon2-air/src
- primitives
- derive/src
- src
- bitwise_op_lookup
- range_gate
- range_tuple
- range
- var_range
- xor/lookup
- sha256-air/src
- cli
- src
- bin
- commands
- tests
- continuations/src/verifier
- internal
- leaf
- prof/src
- sdk
- examples
- guest/fib/src
- src
- config
- keygen
- prover
- vm
- tests
- toolchain
- instructions/src
- tests
- src
- tests
- transpiler/src
- vm
- derive
- src
- src
- arch
- execution_mode
- metered
- hasher
- testing
- execution
- memory
- program
- metrics
- cycle_tracker
- system
- connector
- memory
- adapter
- controller
- merkle
- tests
- offline_checker
- online
- tree
- volatile
- native_adapter
- phantom
- poseidon2
- program
- tests
- public_values
- utils
- tests
- docs
- crates
- vocs
- docs
- pages
- book
- acceleration-using-extensions
- advanced-usage
- getting-started
- guest-libraries
- writing-apps
- specs
- architecture
- openvm
- reference
- public
- snippets
- examples
- ecc/src
- i256/src
- keccak/src
- pairing/src
- sha256/src
- u256/src
- extensions
- algebra
- circuit
- src
- fp2_chip
- modular_chip
- moduli-macros/src
- tests/src
- bigint/circuit
- src
- ecc
- circuit
- src
- weierstrass_chip
- add_ne
- double
- tests/src
- keccak256/circuit
- src
- native
- circuit
- src
- adapters
- branch_eq
- castf
- field_arithmetic
- field_extension
- fri
- jal_rangecheck
- jal
- loadstore
- poseidon2
- tests
- compiler
- src
- constraints/halo2
- conversion
- recursion
- src
- fri
- halo2
- tests
- pairing
- circuit
- src
- fp12_chip
- pairing_chip
- line
- d_type
- m_type
- guest/src/halo2curves_shims/bn254
- transpiler
- src
- rv32-adapters
- src
- rv32im
- circuit
- src
- adapters
- auipc
- base_alu
- branch_eq
- branch_lt
- divrem
- hintstore
- jal_lui
- jalr
- less_than
- load_sign_extend
- loadstore
- mulh
- mul
- shift
- tests
- src
- sha256/circuit
- src
- sha256_chip
- guest-libs
- ff_derive
- src
- tests
- k256
- tests
- keccak256/tests
- p256
- tests
- pairing
- tests
- ruint
- ruint-macro/src
- tests
- programs/examples
- sha2/tests
- verify_stark
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
577 files changed
+56546
-32799
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | | - | |
| 233 | + | |
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
237 | | - | |
| 237 | + | |
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
253 | | - | |
| 253 | + | |
254 | 254 | | |
255 | | - | |
256 | | - | |
| 255 | + | |
| 256 | + | |
257 | 257 | | |
258 | | - | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
21 | 26 | | |
22 | 27 | | |
| 28 | + | |
| 29 | + | |
23 | 30 | | |
24 | 31 | | |
25 | | - | |
| 32 | + | |
| 33 | + | |
26 | 34 | | |
27 | 35 | | |
28 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
29 | 43 | | |
| 44 | + | |
30 | 45 | | |
31 | | - | |
32 | | - | |
33 | | - | |
| 46 | + | |
| 47 | + | |
34 | 48 | | |
35 | | - | |
36 | | - | |
37 | | - | |
| 49 | + | |
38 | 50 | | |
39 | | - | |
40 | | - | |
41 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
42 | 55 | | |
43 | | - | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
44 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
45 | 97 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
| 92 | + | |
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
215 | 227 | | |
216 | | - | |
| 228 | + | |
217 | 229 | | |
218 | 230 | | |
219 | 231 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
0 commit comments