Skip to content

Commit 87481da

Browse files
committed
feat: update to provable params
1 parent 8888e88 commit 87481da

File tree

10 files changed

+29
-58
lines changed

10 files changed

+29
-58
lines changed

Cargo.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

benchmarks/guest/kitchen-sink/openvm.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
[app_vm_config.modular]
99
supported_moduli = [
10-
"1000000000000000003",
1110
# secp256k1
1211
"115792089237316195423570985008687907853269984665640564039457584007908834671663", # coordinate
1312
"115792089237316195423570985008687907852837564279074904382605163141518161494337", # scalar
@@ -22,7 +21,6 @@ supported_moduli = [
2221
"52435875175126190479447740508185965837690552500527637822603658699938581184513", # scalar
2322
# 2^61 - 1
2423
"2305843009213693951",
25-
"7",
2624
]
2725

2826
[app_vm_config.fp2]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// This file is automatically generated by cargo openvm. Do not rename or edit.
2-
openvm_algebra_guest::moduli_macros::moduli_init! { "1000000000000000003", "115792089237316195423570985008687907853269984665640564039457584007908834671663", "115792089237316195423570985008687907852837564279074904382605163141518161494337", "115792089210356248762697446949407573530086143415290314195533631308867097853951", "115792089210356248762697446949407573529996955224135760342422259061068512044369", "21888242871839275222246405745257275088696311157297823662689037894645226208583", "21888242871839275222246405745257275088548364400416034343698204186575808495617", "4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787", "52435875175126190479447740508185965837690552500527637822603658699938581184513", "2305843009213693951", "7" }
3-
openvm_algebra_guest::complex_macros::complex_init! { "Bn254Fp2" { mod_idx = 5 }, "Bls12_381Fp2" { mod_idx = 7 } }
2+
openvm_algebra_guest::moduli_macros::moduli_init! { "115792089237316195423570985008687907853269984665640564039457584007908834671663", "115792089237316195423570985008687907852837564279074904382605163141518161494337", "115792089210356248762697446949407573530086143415290314195533631308867097853951", "115792089210356248762697446949407573529996955224135760342422259061068512044369", "21888242871839275222246405745257275088696311157297823662689037894645226208583", "21888242871839275222246405745257275088548364400416034343698204186575808495617", "4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787", "52435875175126190479447740508185965837690552500527637822603658699938581184513", "2305843009213693951" }
3+
openvm_algebra_guest::complex_macros::complex_init! { "Bn254Fp2" { mod_idx = 4 }, "Bls12_381Fp2" { mod_idx = 6 } }
44
openvm_ecc_guest::sw_macros::sw_init! { "Secp256k1Point", "P256Point", "Bn254G1Affine", "Bls12_381G1Affine" }

benchmarks/guest/kitchen-sink/src/main.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ use {
2323

2424
// Note: these will all currently be represented as bytes32 even though they could be smaller
2525
openvm_algebra_guest::moduli_macros::moduli_declare! {
26-
Seven { modulus = "7" },
27-
Mod1e18 { modulus = "1000000000000000003" },
2826
Mersenne61 { modulus = "0x1fffffffffffffff" },
2927
}
3028

@@ -67,7 +65,6 @@ fn materialize_ecc_chip<T: WeierstrassPoint + CyclicGroup>() {
6765
pub fn main() {
6866
// Since we don't explicitly call setup functions anymore, we must ensure every declared modulus
6967
// and curve chip is materialized.
70-
materialize_modular_chip::<Mod1e18>();
7168
materialize_modular_chip::<Secp256k1Coord>();
7269
materialize_modular_chip::<Secp256k1Scalar>();
7370
materialize_modular_chip::<P256Coord>();
@@ -77,7 +74,6 @@ pub fn main() {
7774
materialize_modular_chip::<Bls12_381Fp>();
7875
materialize_modular_chip::<Bls12_381Scalar>();
7976
materialize_modular_chip::<Mersenne61>();
80-
materialize_modular_chip::<Seven>();
8177

8278
materialize_complex_chip!(Bn254Fp2, Bn254Fp);
8379
materialize_complex_chip!(Bls12_381Fp2, Bls12_381Fp);
@@ -87,14 +83,6 @@ pub fn main() {
8783
materialize_ecc_chip::<Bn254G1Affine>();
8884
materialize_ecc_chip::<Bls12_381G1Affine>();
8985

90-
let [one, six] = [1, 6].map(Seven::from_u32);
91-
assert_eq!(one + six, Seven::ZERO);
92-
93-
let y = Mod1e18::from_u32(100);
94-
let y = (&y * &y) * &y;
95-
let y = y.clone() * y.clone() * y.clone();
96-
assert_eq!(y + Mod1e18::from_u32(3), Mod1e18::ZERO);
97-
9886
let mut bytes = [0u8; 32];
9987
bytes[7] = 1 << 5; // 2^61 = modulus + 1
10088
let mut res = Mersenne61::from_le_bytes_unchecked(&bytes); // No need to start from reduced representation

benchmarks/prove/src/bin/verify_fibair.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ fn main() -> Result<()> {
3737

3838
let n = 1 << 15; // STARK to calculate (2 ** 15)th Fibonacci number.
3939
let fib_chip = FibonacciChip::new(0, 1, n);
40-
let engine = Poseidon2Engine::new(FriParameters::standard_with_100_bits_conjectured_security(
40+
let engine = Poseidon2Engine::new(FriParameters::standard_with_100_bits_security(
4141
app_log_blowup,
4242
));
4343

@@ -52,8 +52,7 @@ fn main() -> Result<()> {
5252
let fib_ctx = fib_ctx.into_iter().map(cpu_proving_ctx_to_gpu).collect();
5353
let vdata = engine.run_test(fib_air, fib_ctx).unwrap();
5454
// Unlike other apps, this "app" does not have continuations enabled.
55-
let app_fri_params =
56-
FriParameters::standard_with_100_bits_conjectured_security(leaf_log_blowup);
55+
let app_fri_params = FriParameters::standard_with_100_bits_security(leaf_log_blowup);
5756
let mut app_vm_config = NativeConfig::aggregation(
5857
DEFAULT_MAX_NUM_PUBLIC_VALUES,
5958
app_fri_params.max_constraint_degree().min(7),

benchmarks/prove/src/util.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,9 @@ impl BenchmarkCli {
9999
app_vm_config.as_mut().segmentation_limits.max_cells = max_cells;
100100
}
101101
AppConfig {
102-
app_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
103-
app_log_blowup,
104-
)
105-
.into(),
102+
app_fri_params: FriParameters::standard_with_100_bits_security(app_log_blowup).into(),
106103
app_vm_config,
107-
leaf_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
108-
leaf_log_blowup,
109-
)
110-
.into(),
104+
leaf_fri_params: FriParameters::standard_with_100_bits_security(leaf_log_blowup).into(),
111105
compiler_options: CompilerOptions {
112106
enable_cycle_tracker: self.profiling,
113107
..Default::default()
@@ -124,7 +118,7 @@ impl BenchmarkCli {
124118

125119
let [leaf_fri_params, internal_fri_params, root_fri_params] =
126120
[leaf_log_blowup, internal_log_blowup, root_log_blowup]
127-
.map(FriParameters::standard_with_100_bits_conjectured_security);
121+
.map(FriParameters::standard_with_100_bits_security);
128122

129123
AggregationConfig {
130124
leaf_fri_params,

crates/cli/src/default.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,16 @@ pub fn default_evm_halo2_verifier_path() -> String {
3434

3535
pub fn default_app_config() -> AppConfig<SdkVmConfig> {
3636
AppConfig {
37-
app_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
38-
DEFAULT_APP_LOG_BLOWUP,
39-
)
40-
.into(),
37+
app_fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_APP_LOG_BLOWUP)
38+
.into(),
4139
app_vm_config: SdkVmConfig::builder()
4240
.system(Default::default())
4341
.rv32i(Default::default())
4442
.rv32m(Default::default())
4543
.io(Default::default())
4644
.build(),
47-
leaf_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
48-
DEFAULT_LEAF_LOG_BLOWUP,
49-
)
50-
.into(),
45+
leaf_fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_LEAF_LOG_BLOWUP)
46+
.into(),
5147
compiler_options: Default::default(),
5248
}
5349
}

crates/sdk/src/config/mod.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,13 @@ impl Default for AggregationConfig {
127127
fn default() -> Self {
128128
Self {
129129
max_num_user_public_values: DEFAULT_MAX_NUM_PUBLIC_VALUES,
130-
leaf_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
130+
leaf_fri_params: FriParameters::standard_with_100_bits_security(
131131
DEFAULT_LEAF_LOG_BLOWUP,
132132
),
133-
internal_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
133+
internal_fri_params: FriParameters::standard_with_100_bits_security(
134134
DEFAULT_INTERNAL_LOG_BLOWUP,
135135
),
136-
root_fri_params: FriParameters::standard_with_100_bits_conjectured_security(
136+
root_fri_params: FriParameters::standard_with_100_bits_security(
137137
DEFAULT_ROOT_LOG_BLOWUP,
138138
),
139139
profiling: false,
@@ -161,9 +161,7 @@ pub struct AppFriParams {
161161
impl Default for AppFriParams {
162162
fn default() -> Self {
163163
Self {
164-
fri_params: FriParameters::standard_with_100_bits_conjectured_security(
165-
DEFAULT_APP_LOG_BLOWUP,
166-
),
164+
fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_APP_LOG_BLOWUP),
167165
}
168166
}
169167
}
@@ -182,9 +180,7 @@ pub struct LeafFriParams {
182180
impl Default for LeafFriParams {
183181
fn default() -> Self {
184182
Self {
185-
fri_params: FriParameters::standard_with_100_bits_conjectured_security(
186-
DEFAULT_LEAF_LOG_BLOWUP,
187-
),
183+
fri_params: FriParameters::standard_with_100_bits_security(DEFAULT_LEAF_LOG_BLOWUP),
188184
}
189185
}
190186
}

crates/sdk/src/keygen/dummy.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use openvm_stark_sdk::{
3333
config::{
3434
baby_bear_poseidon2::BabyBearPoseidon2Engine,
3535
baby_bear_poseidon2_root::{BabyBearPoseidon2RootConfig, BabyBearPoseidon2RootEngine},
36-
fri_params::standard_fri_params_with_100_bits_conjectured_security,
36+
fri_params::standard_fri_params_with_100_bits_security,
3737
FriParameters,
3838
},
3939
engine::StarkFriEngine,
@@ -120,7 +120,7 @@ pub(super) fn dummy_internal_proof_riscv_app_vm(
120120
internal_exe: Arc<VmCommittedExe<SC>>,
121121
num_public_values: usize,
122122
) -> Result<Proof<SC>, VirtualMachineError> {
123-
let fri_params = standard_fri_params_with_100_bits_conjectured_security(1);
123+
let fri_params = standard_fri_params_with_100_bits_security(1);
124124
let leaf_proof = dummy_leaf_proof_riscv_app_vm(leaf_vm_pk, num_public_values, fri_params)?;
125125
dummy_internal_proof(internal_vm_pk, internal_exe, leaf_proof)
126126
}

extensions/native/circuit/src/extension/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,6 @@ where
577577
// the actual trace heights of kitchen-sink leaf verification (except for
578578
// VariableRangeChecker, which has a fixed height).
579579
pub const NATIVE_MAX_TRACE_HEIGHTS: &[u32] = &[
580-
4194304, 4, 128, 2097152, 8388608, 4194304, 262144, 2097152, 16777216, 2097152, 8388608,
581-
262144, 2097152, 1048576, 4194304, 65536, 262144,
580+
8388608, 8, 256, 4194304, 16777216, 8388608, 524288, 4194304, 33554432, 4194304, 16777216,
581+
524288, 4194304, 2097152, 8388608, 131072, 524288,
582582
];

0 commit comments

Comments
 (0)