From 9418001d0e92f5961f451ed020de4393209c10cb Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Tue, 27 Mar 2018 14:30:08 -0600 Subject: [PATCH 1/3] First block of GH invocation using random beacon output. --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index fa717c9..dfdd36f 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -3,7 +3,7 @@ /// the algorithm, for rigidity purposes. /// We deliberately use an ASCII hex string of 32 bytes here. pub const GH_FIRST_BLOCK: &'static [u8; 64] - = b"0000000000000000002ffe76b973aabaff1d1557d79acf2c3795809c83caf580"; + = b"096b36a5804bfacef1691e173c366a47ff5ba84a44f26ddd7e8d9f79d5b42df0"; // BLAKE2s invocation personalizations /// BLAKE2s Personalization for CRH^ivk = BLAKE2s(ak | nk) From 3704b2422e911377c4e5ec0252dbfa197793ff9d Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Tue, 27 Mar 2018 21:31:32 -0600 Subject: [PATCH 2/3] Fix benchmark due to anchor change in witness. --- examples/bench.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/bench.rs b/examples/bench.rs index d455a9a..4b7a707 100644 --- a/examples/bench.rs +++ b/examples/bench.rs @@ -19,7 +19,7 @@ use sapling_crypto::primitives::{ }; use bellman::groth16::*; use rand::{XorShiftRng, SeedableRng, Rng}; -use pairing::bls12_381::Bls12; +use pairing::bls12_381::{Bls12, Fr}; const TREE_DEPTH: usize = 32; @@ -36,7 +36,8 @@ fn main() { payment_address: None, commitment_randomness: None, ar: None, - auth_path: vec![None; TREE_DEPTH] + auth_path: vec![None; TREE_DEPTH], + anchor: None }, rng ).unwrap(); @@ -78,6 +79,7 @@ fn main() { let commitment_randomness: fs::Fs = rng.gen(); let auth_path = vec![Some((rng.gen(), rng.gen())); TREE_DEPTH]; let ar: fs::Fs = rng.gen(); + let anchor: Fr = rng.gen(); let start = Instant::now(); let _ = create_random_proof(Spend { @@ -87,7 +89,8 @@ fn main() { payment_address: Some(payment_address), commitment_randomness: Some(commitment_randomness), ar: Some(ar), - auth_path: auth_path + auth_path: auth_path, + anchor: Some(anchor) }, &groth_params, rng).unwrap(); total_time += start.elapsed(); } From 9f24b68b3a79290815e791693393b3b0bd982ca7 Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Tue, 27 Mar 2018 21:41:11 -0600 Subject: [PATCH 3/3] Update constraint system hashes. --- src/circuit/sapling/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/circuit/sapling/mod.rs b/src/circuit/sapling/mod.rs index ef4ef3f..1dbadd9 100644 --- a/src/circuit/sapling/mod.rs +++ b/src/circuit/sapling/mod.rs @@ -718,7 +718,7 @@ fn test_input_circuit_with_bls12_381() { assert!(cs.is_satisfied()); assert_eq!(cs.num_constraints(), 98777); - assert_eq!(cs.hash(), "aedc6d7646e8e019db327bf256c322e54bc72aa9ac4e86943899557eb96507f3"); + assert_eq!(cs.hash(), "499305e409599a3e4fe0a885f6adf674e9f49ba4a21e47362356d2a89f15dc1f"); assert_eq!(cs.get("randomization of note commitment/x3/num"), cm); @@ -795,7 +795,7 @@ fn test_output_circuit_with_bls12_381() { assert!(cs.is_satisfied()); assert_eq!(cs.num_constraints(), 7827); - assert_eq!(cs.hash(), "8db50ff0e14fae19a7d83ef47f6da3a7e3e2644d251e37b387c6408d85df3ae7"); + assert_eq!(cs.hash(), "d18e83255220328a688134038ba4f82d5ce67ffe9f97b2ae2678042da0efad43"); let expected_cm = payment_address.create_note( value_commitment.value,