Skip to content

Commit c90fc78

Browse files
committed
Fix proof verification on rampup4
Fix `bulletproof_challenges` values
1 parent 7f811cc commit c90fc78

File tree

1 file changed

+42
-38
lines changed

1 file changed

+42
-38
lines changed

ledger/src/proofs/verification.rs

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ use super::public_input::{
5656
messages::{MessagesForNextStepProof, MessagesForNextWrapProof},
5757
plonk_checks::{PlonkMinimal, ScalarsEnv},
5858
prepared_statement::{DeferredValues, PreparedStatement, ProofState},
59-
scalar_challenge::ScalarChallenge,
6059
};
6160

6261
#[cfg(target_family = "wasm")]
@@ -552,8 +551,6 @@ fn run_checks(
552551
}
553552

554553
fn compute_deferred_values(proof: &PicklesProofProofsVerified2ReprStableV2) -> DeferredValues<Fp> {
555-
let (_, endo) = endos::<Fq>();
556-
557554
let bulletproof_challenges: Vec<Fp> = proof
558555
.statement
559556
.proof_state
@@ -563,7 +560,7 @@ fn compute_deferred_values(proof: &PicklesProofProofsVerified2ReprStableV2) -> D
563560
.map(|chal| {
564561
let prechallenge = &chal.prechallenge.inner;
565562
let prechallenge: [u64; 2] = array::from_fn(|k| prechallenge[k].as_u64());
566-
ScalarChallenge::from(prechallenge).to_field(&endo)
563+
u64_to_field(&prechallenge)
567564
})
568565
.collect();
569566

@@ -713,16 +710,17 @@ where
713710
// hash::{Hash, Hasher},
714711
// };
715712

716-
// use binprot::BinProtRead;
717-
// use mina_curves::pasta::Vesta;
713+
// // use binprot::BinProtRead;
714+
// use mina_curves::pasta::{Vesta, Fq};
715+
// use mina_hasher::Fp;
718716
// use mina_p2p_messages::v2::MinaBlockHeaderStableV2;
719717
// use poly_commitment::srs::SRS;
720718

721719
// use crate::{
722-
// block::caching::{
720+
// proofs::{caching::{
723721
// srs_from_bytes, srs_to_bytes, verifier_index_from_bytes, verifier_index_to_bytes,
724-
// },
725-
// get_srs, get_verifier_index,
722+
// }, verifier_index::{get_verifier_index, VerifierKind}}, verifier::get_srs,
723+
// // get_srs, get_verifier_index,
726724
// };
727725

728726
// #[cfg(target_family = "wasm")]
@@ -731,55 +729,61 @@ where
731729
// #[test]
732730
// fn test_verification() {
733731
// let now = std::time::Instant::now();
734-
// let verifier_index = get_verifier_index();
732+
// let verifier_index = get_verifier_index(VerifierKind::Blockchain);
735733
// println!("get_verifier_index={:?}", now.elapsed());
736734

737735
// let now = std::time::Instant::now();
738-
// let srs = get_srs();
736+
// let srs = get_srs::<Fp>();
737+
// let srs = srs.lock().unwrap();
739738
// println!("get_srs={:?}\n", now.elapsed());
740739

741-
// let now = std::time::Instant::now();
742-
// let bytes = verifier_index_to_bytes(&verifier_index);
743-
// println!("verifier_elapsed={:?}", now.elapsed());
744-
// println!("verifier_length={:?}", bytes.len());
745-
// assert_eq!(bytes.len(), 5622520);
740+
// // let now = std::time::Instant::now();
741+
// // let bytes = verifier_index_to_bytes(&verifier_index);
742+
// // println!("verifier_elapsed={:?}", now.elapsed());
743+
// // println!("verifier_length={:?}", bytes.len());
744+
// // assert_eq!(bytes.len(), 5622520);
746745

747-
// let now = std::time::Instant::now();
748-
// let verifier_index = verifier_index_from_bytes(&bytes);
749-
// println!("verifier_deserialize_elapsed={:?}\n", now.elapsed());
746+
// // let now = std::time::Instant::now();
747+
// // let verifier_index = verifier_index_from_bytes(&bytes);
748+
// // println!("verifier_deserialize_elapsed={:?}\n", now.elapsed());
750749

751-
// let now = std::time::Instant::now();
752-
// let bytes = srs_to_bytes(&srs);
753-
// println!("srs_elapsed={:?}", now.elapsed());
754-
// println!("srs_length={:?}", bytes.len());
755-
// assert_eq!(bytes.len(), 5308513);
750+
// // let now = std::time::Instant::now();
751+
// // let bytes = srs_to_bytes(&srs);
752+
// // println!("srs_elapsed={:?}", now.elapsed());
753+
// // println!("srs_length={:?}", bytes.len());
754+
// // assert_eq!(bytes.len(), 5308513);
756755

757-
// let now = std::time::Instant::now();
758-
// let srs: SRS<Vesta> = srs_from_bytes(&bytes);
759-
// println!("deserialize_elapsed={:?}\n", now.elapsed());
756+
// // let now = std::time::Instant::now();
757+
// // let srs: SRS<Vesta> = srs_from_bytes(&bytes);
758+
// // println!("deserialize_elapsed={:?}\n", now.elapsed());
760759

761760
// // Few blocks headers from berkeleynet
762761
// let files = [
763-
// include_bytes!("../data/rampup.binprot"),
764-
// include_bytes!("../data/5573.binprot"),
765-
// include_bytes!("../data/5574.binprot"),
766-
// include_bytes!("../data/5575.binprot"),
767-
// include_bytes!("../data/5576.binprot"),
768-
// include_bytes!("../data/5577.binprot"),
769-
// include_bytes!("../data/5578.binprot"),
770-
// include_bytes!("../data/5579.binprot"),
771-
// include_bytes!("../data/5580.binprot"),
762+
// include_bytes!("/tmp/block-rampup4.binprot"),
763+
// // include_bytes!("../data/5573.binprot"),
764+
// // include_bytes!("../data/5574.binprot"),
765+
// // include_bytes!("../data/5575.binprot"),
766+
// // include_bytes!("../data/5576.binprot"),
767+
// // include_bytes!("../data/5577.binprot"),
768+
// // include_bytes!("../data/5578.binprot"),
769+
// // include_bytes!("../data/5579.binprot"),
770+
// // include_bytes!("../data/5580.binprot"),
772771
// ];
773772

773+
// use mina_p2p_messages::binprot::BinProtRead;
774+
// use crate::proofs::accumulator_check::accumulator_check;
775+
774776
// for file in files {
775777
// let header = MinaBlockHeaderStableV2::binprot_read(&mut file.as_slice()).unwrap();
776778

777779
// let now = std::time::Instant::now();
778-
// let accum_check = crate::accumulator_check(&srs, &header.protocol_state_proof.0);
780+
// let accum_check = accumulator_check(&*srs, &header.protocol_state_proof.0);
779781
// println!("accumulator_check={:?}", now.elapsed());
780782

781783
// let now = std::time::Instant::now();
782-
// let verified = crate::verify(&header, &verifier_index);
784+
// let verified = super::verify_block(&header, &verifier_index, &*srs);
785+
786+
// // let verified = crate::verify(&header, &verifier_index);
783787
// println!("snark::verify={:?}", now.elapsed());
784788

785789
// assert!(accum_check);

0 commit comments

Comments
 (0)