Skip to content

Commit 3948257

Browse files
committed
merge with master
2 parents 81fbd93 + ede33c1 commit 3948257

35 files changed

Lines changed: 67 additions & 249 deletions

ceno_recursion/src/zkvm_verifier/verifier.rs

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -887,10 +887,8 @@ pub fn verify_gkr_circuit<C: Config>(
887887

888888
for (i, layer) in gkr_circuit.layers.iter().enumerate() {
889889
let layer_proof = builder.get(&gkr_proof.layer_proofs, i);
890-
let layer_challenges: Array<C, Ext<C::F, C::EF>> =
891-
generate_layer_challenges(builder, challenger, challenges, layer.n_challenges);
892890
let eval_and_dedup_points: Array<C, ClaimAndPoint<C>> =
893-
extract_claim_and_point(builder, layer, claims, &layer_challenges);
891+
extract_claim_and_point(builder, layer, claims, challenges);
894892
builder.assert_usize_eq(
895893
Usize::from(layer.out_sel_and_eval_exprs.len()),
896894
eval_and_dedup_points.len(),
@@ -1695,33 +1693,6 @@ pub fn extract_claim_and_point<C: Config>(
16951693
r
16961694
}
16971695

1698-
pub fn generate_layer_challenges<C: Config>(
1699-
builder: &mut Builder<C>,
1700-
challenger: &mut DuplexChallengerVariable<C>,
1701-
challenges: &Array<C, Ext<C::F, C::EF>>,
1702-
n_challenges: usize,
1703-
) -> Array<C, Ext<C::F, C::EF>> {
1704-
let r = builder.dyn_array(n_challenges + 2);
1705-
1706-
let alpha = builder.get(challenges, 0);
1707-
let beta = builder.get(challenges, 1);
1708-
1709-
builder.set(&r, 0, alpha);
1710-
builder.set(&r, 1, beta);
1711-
1712-
// TODO: skip if n_challenges <= 2
1713-
transcript_observe_label(builder, challenger, b"layer challenge");
1714-
let c = gen_alpha_pows(builder, challenger, Usize::from(n_challenges));
1715-
1716-
for i in 0..n_challenges {
1717-
let idx = i + 2;
1718-
let e = builder.get(&c, i);
1719-
builder.set(&r, idx, e);
1720-
}
1721-
1722-
r
1723-
}
1724-
17251696
pub fn verify_ecc_proof<C: Config>(
17261697
builder: &mut Builder<C>,
17271698
challenger: &mut DuplexChallengerVariable<C>,

ceno_zkvm/Cargo.toml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,13 @@ glob = "0.3"
7575

7676
[features]
7777
bigint-rug = ["sp1-curves/bigint-rug"]
78-
default = ["forbid_overflow", "nightly-features", "u16limb_circuit", "parallel", "bigint-rug"]
78+
default = [
79+
"forbid_overflow",
80+
"nightly-features",
81+
"u16limb_circuit",
82+
"parallel",
83+
"bigint-rug",
84+
]
7985
flamegraph = ["pprof2/flamegraph", "pprof2/criterion"]
8086
forbid_overflow = []
8187
goldilocks = ["forbid_overflow", "nightly-features", "parallel", "bigint-rug"]
@@ -91,7 +97,12 @@ nightly-features = [
9197
"transcript/nightly-features",
9298
"witness/nightly-features",
9399
]
94-
parallel = ["whir/parallel", "p3/parallel", "multilinear_extensions/parallel", "mpcs/parallel"]
100+
parallel = [
101+
"whir/parallel",
102+
"p3/parallel",
103+
"multilinear_extensions/parallel",
104+
"mpcs/parallel",
105+
]
95106
sanity-check = ["mpcs/sanity-check"]
96107
u16limb_circuit = ["ceno_emul/u16limb_circuit"]
97108

ceno_zkvm/src/instructions.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ pub trait Instruction<E: ExtensionField> {
6565
// zero_record
6666
(0..zero_len).collect_vec(),
6767
],
68-
Chip::new_from_cb(cb, 0),
68+
Chip::new_from_cb(cb),
6969
);
7070

7171
// register selector to legacy constrain system
@@ -74,7 +74,7 @@ pub trait Instruction<E: ExtensionField> {
7474
cb.cs.lk_selector = Some(selector_type.clone());
7575
cb.cs.zero_selector = Some(selector_type.clone());
7676

77-
let layer = Layer::from_circuit_builder(cb, format!("{}_main", Self::name()), 0, out_evals);
77+
let layer = Layer::from_circuit_builder(cb, format!("{}_main", Self::name()), out_evals);
7878
chip.add_layer(layer);
7979

8080
Ok((config, chip.gkr_circuit()))

ceno_zkvm/src/instructions/riscv/ecall/fptower_fp.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,7 @@ fn build_fp_op_circuit<E: ExtensionField, P: FpOpField + NumWords>(
292292
);
293293

294294
let (out_evals, mut chip) = layout.finalize(cb);
295-
let layer =
296-
Layer::from_circuit_builder(cb, layer_name.to_string(), layout.n_challenges, out_evals);
295+
let layer = Layer::from_circuit_builder(cb, layer_name.to_string(), out_evals);
297296
chip.add_layer(layer);
298297

299298
Ok((

ceno_zkvm/src/instructions/riscv/ecall/fptower_fp2_add.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,7 @@ fn build_fp2_add_circuit<E: ExtensionField, P: FpOpField + Fp2AddSpec + NumWords
210210
);
211211

212212
let (out_evals, mut chip) = layout.finalize(cb);
213-
let layer =
214-
Layer::from_circuit_builder(cb, "fp2_add".to_string(), layout.n_challenges, out_evals);
213+
let layer = Layer::from_circuit_builder(cb, "fp2_add".to_string(), out_evals);
215214
chip.add_layer(layer);
216215

217216
Ok((

ceno_zkvm/src/instructions/riscv/ecall/fptower_fp2_mul.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,7 @@ fn build_fp2_mul_circuit<E: ExtensionField, P: FpOpField + Fp2MulSpec + NumWords
208208
);
209209

210210
let (out_evals, mut chip) = layout.finalize(cb);
211-
let layer =
212-
Layer::from_circuit_builder(cb, "fp2_mul".to_string(), layout.n_challenges, out_evals);
211+
let layer = Layer::from_circuit_builder(cb, "fp2_mul".to_string(), out_evals);
213212
chip.add_layer(layer);
214213

215214
Ok((

ceno_zkvm/src/instructions/riscv/ecall/keccak.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ impl<E: ExtensionField> Instruction<E> for KeccakInstruction<E> {
134134

135135
let (out_evals, mut chip) = layout.finalize(cb);
136136

137-
let layer = Layer::from_circuit_builder(cb, Self::name(), layout.n_challenges, out_evals);
137+
let layer = Layer::from_circuit_builder(cb, Self::name(), out_evals);
138138
chip.add_layer(layer);
139139

140140
let circuit = chip.gkr_circuit();

ceno_zkvm/src/instructions/riscv/ecall/sha_extend.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ impl<E: ExtensionField> Instruction<E> for ShaExtendInstruction<E> {
132132

133133
let (out_evals, mut chip) = layout.finalize(cb);
134134

135-
let layer = Layer::from_circuit_builder(cb, Self::name(), layout.n_challenges, out_evals);
135+
let layer = Layer::from_circuit_builder(cb, Self::name(), out_evals);
136136
chip.add_layer(layer);
137137

138138
let circuit = chip.gkr_circuit();

ceno_zkvm/src/instructions/riscv/ecall/uint256.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,7 @@ impl<E: ExtensionField> Instruction<E> for Uint256MulInstruction<E> {
179179

180180
let (out_evals, mut chip) = layout.finalize(cb);
181181

182-
let layer = Layer::from_circuit_builder(
183-
cb,
184-
"uint256_mul".to_string(),
185-
layout.n_challenges,
186-
out_evals,
187-
);
182+
let layer = Layer::from_circuit_builder(cb, "uint256_mul".to_string(), out_evals);
188183
chip.add_layer(layer);
189184

190185
let circuit = chip.gkr_circuit();
@@ -508,7 +503,7 @@ impl<E: ExtensionField, Spec: Uint256InvSpec> Instruction<E> for Uint256InvInstr
508503

509504
let (out_evals, mut chip) = layout.finalize(cb);
510505

511-
let layer = Layer::from_circuit_builder(cb, Spec::name(), layout.n_challenges, out_evals);
506+
let layer = Layer::from_circuit_builder(cb, Spec::name(), out_evals);
512507
chip.add_layer(layer);
513508

514509
let circuit = chip.gkr_circuit();

ceno_zkvm/src/instructions/riscv/ecall/weierstrass_add.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,7 @@ impl<E: ExtensionField, EC: EllipticCurve> Instruction<E>
179179

180180
let (out_evals, mut chip) = layout.finalize(cb);
181181

182-
let layer = Layer::from_circuit_builder(
183-
cb,
184-
"weierstrass_add".to_string(),
185-
layout.n_challenges,
186-
out_evals,
187-
);
182+
let layer = Layer::from_circuit_builder(cb, "weierstrass_add".to_string(), out_evals);
188183
chip.add_layer(layer);
189184

190185
let circuit = chip.gkr_circuit();

0 commit comments

Comments
 (0)