Skip to content

Commit b1442de

Browse files
committed
Remove dense polynomial on sparse mat polynomial
1 parent ba08bb9 commit b1442de

File tree

3 files changed

+16
-22
lines changed

3 files changed

+16
-22
lines changed

spartan_parallel/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1628,16 +1628,16 @@ impl<E: ExtensionField + Send + Sync, Pcs: PolynomialCommitmentScheme<E>> SNARK<
16281628
&perm_exec_w3_v_comm,
16291629
&perm_exec_w3_shifted_v_comm,
16301630
] {
1631-
Pcs::write_commitment(comm, transcript);
1631+
Pcs::write_commitment(comm, transcript).expect("Appending commitment should not fail");
16321632
}
16331633
for comm in block_w2_v_comm.iter() {
1634-
Pcs::write_commitment(comm, transcript);
1634+
Pcs::write_commitment(comm, transcript).expect("Appending commitment should not fail");
16351635
}
16361636
for comm in block_w3_v_comm.iter() {
1637-
Pcs::write_commitment(comm, transcript);
1637+
Pcs::write_commitment(comm, transcript).expect("Appending commitment should not fail");
16381638
}
16391639
for comm in block_w3_shifted_v_comm.iter() {
1640-
Pcs::write_commitment(comm, transcript);
1640+
Pcs::write_commitment(comm, transcript).expect("Appending commitment should not fail");
16411641
}
16421642

16431643
(

spartan_parallel/src/r1csproof.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,7 @@ impl<E: ExtensionField + Send + Sync, Pcs: PolynomialCommitmentScheme<E>> R1CSPr
820820
let rq_short = rq[rq.len() - num_vars_q..].to_vec();
821821
let r = [rq_short, ry_short.clone()].concat();
822822

823-
pcs_verify::<E, Pcs>(&vp, &comm_w[idx], &r, &eval_Zr_list[idx], proof, transcript);
823+
pcs_verify::<E, Pcs>(&vp, &comm_w[idx], &r, &eval_Zr_list[idx], proof, transcript).map_err(|_e| ProofVerifyError::InternalError)?
824824
}
825825

826826
Ok(())

spartan_parallel/src/sparse_mlpoly.rs

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#![allow(clippy::needless_range_loop)]
44
use ff_ext::ExtensionField;
55
use mpcs::PolynomialCommitmentScheme;
6-
use multilinear_extensions::mle::DenseMultilinearExtension;
6+
use multilinear_extensions::mle::{DenseMultilinearExtension, MultilinearExtension};
77
use super::dense_mlpoly::DensePolynomial;
88
use super::dense_mlpoly::{EqPolynomial, IdentityPolynomial};
99
use super::errors::ProofVerifyError;
@@ -277,8 +277,6 @@ pub struct MultiSparseMatPolynomialAsDense<E: ExtensionField> {
277277
val: Vec<DensePolynomial<E>>,
278278
row: AddrTimestamps<E>,
279279
col: AddrTimestamps<E>,
280-
comb_ops: DensePolynomial<E>,
281-
comb_mem: DensePolynomial<E>,
282280
comb_ops_ceno_mle: DenseMultilinearExtension<E>,
283281
comb_mem_ceno_mle: DenseMultilinearExtension<E>,
284282
}
@@ -388,8 +386,6 @@ impl<E: ExtensionField> SparseMatPolynomial<E> {
388386
row: ret_row,
389387
col: ret_col,
390388
val: ret_val_vec,
391-
comb_ops,
392-
comb_mem,
393389
comb_ops_ceno_mle,
394390
comb_mem_ceno_mle,
395391
}
@@ -502,8 +498,8 @@ impl<E: ExtensionField, Pcs: PolynomialCommitmentScheme<E>> SparseMatPolyCommitm
502498
let batch_size = sparse_polys.len();
503499
let dense = SparseMatPolynomial::multi_sparse_to_dense_rep(sparse_polys);
504500

505-
let l_ops = dense.comb_ops.len();
506-
let l_mem = dense.comb_mem.len();
501+
let l_ops = 1 << dense.comb_ops_ceno_mle.num_vars;
502+
let l_mem = 1 << dense.comb_mem_ceno_mle.num_vars;
507503

508504
let (p_ops, _) = Pcs::trim(Pcs::setup(l_ops).expect("Param setup should not fail"), l_ops).unwrap();
509505
let (p_mem, _) = Pcs::trim(Pcs::setup(l_mem).expect("Param setup should not fail"), l_mem).unwrap();
@@ -801,14 +797,13 @@ impl<E: ExtensionField, Pcs: PolynomialCommitmentScheme<E>> HashLayerProof<E, Pc
801797
let joint_claim_eval_ops = poly_evals_ops[0];
802798
let mut r_joint_ops = challenges_ops;
803799
r_joint_ops.extend(rand_ops);
804-
debug_assert_eq!(dense.comb_ops.evaluate(&r_joint_ops), joint_claim_eval_ops);
800+
debug_assert_eq!(dense.comb_ops_ceno_mle.evaluate(&r_joint_ops), joint_claim_eval_ops);
805801
append_field_to_transcript(b"joint_claim_eval_ops", transcript, joint_claim_eval_ops);
806802

807-
let l: usize = 1 << dense.comb_ops.get_num_vars();
808-
let mle = dense.comb_ops.clone().to_ceno_mle();
803+
let l: usize = 1 << dense.comb_ops_ceno_mle.num_vars;
809804
let (pp, _vp) = Pcs::trim(Pcs::setup(l).expect("Param setup shuold not fail."), l).expect("Param trim should not fail.");
810-
let comm_ops = Pcs::commit(&pp, &mle).expect("Commit should not fail.");
811-
let proof_ops = Pcs::open(&pp, &mle, &comm_ops, &r_joint_ops, &joint_claim_eval_ops, transcript).expect("Proof should not fail");
805+
let comm_ops = Pcs::commit(&pp, &dense.comb_ops_ceno_mle).expect("Commit should not fail.");
806+
let proof_ops = Pcs::open(&pp, &dense.comb_ops_ceno_mle, &comm_ops, &r_joint_ops, &joint_claim_eval_ops, transcript).expect("Proof should not fail");
812807

813808
// form a single decommitment using comb_comb_mem at rand_mem
814809
let evals_mem: Vec<E> = vec![eval_row_audit_ts, eval_col_audit_ts];
@@ -824,14 +819,13 @@ impl<E: ExtensionField, Pcs: PolynomialCommitmentScheme<E>> HashLayerProof<E, Pc
824819
let joint_claim_eval_mem = poly_evals_mem[0];
825820
let mut r_joint_mem = challenges_mem;
826821
r_joint_mem.extend(rand_mem);
827-
debug_assert_eq!(dense.comb_mem.evaluate(&r_joint_mem), joint_claim_eval_mem);
822+
debug_assert_eq!(dense.comb_mem_ceno_mle.evaluate(&r_joint_mem), joint_claim_eval_mem);
828823
append_field_to_transcript(b"joint_claim_eval_mem", transcript, joint_claim_eval_mem);
829824

830-
let l: usize = 1 << dense.comb_mem.get_num_vars();
831-
let mle = dense.comb_mem.clone().to_ceno_mle();
825+
let l: usize = 1 << dense.comb_mem_ceno_mle.num_vars;
832826
let (pp, _vp) = Pcs::trim(Pcs::setup(l).expect("Param setup should not fail."), l).expect("Param trim should not fail.");
833-
let comm_mem = Pcs::commit(&pp, &mle).expect("Commit should not fail.");
834-
let proof_mem = Pcs::open(&pp, &mle, &comm_mem, &r_joint_mem, &joint_claim_eval_mem, transcript).expect("Proof should not fail");
827+
let comm_mem = Pcs::commit(&pp, &dense.comb_mem_ceno_mle).expect("Commit should not fail.");
828+
let proof_mem = Pcs::open(&pp, &dense.comb_mem_ceno_mle, &comm_mem, &r_joint_mem, &joint_claim_eval_mem, transcript).expect("Proof should not fail");
835829

836830
HashLayerProof {
837831
eval_row: (eval_row_addr_vec, eval_row_read_ts_vec, eval_row_audit_ts),

0 commit comments

Comments
 (0)