Pārlūkot izejas kodu

simple doc to lead contract witnesses

mohab metwally 3 gadi atpakaļ
vecāks
revīzija
080f10909f
1 mainītis faili ar 20 papildinājumiem un 23 dzēšanām
  1. 20 23
      src/zk/circuit/lead_contract.rs

+ 20 - 23
src/zk/circuit/lead_contract.rs

@@ -116,30 +116,27 @@ const LEAD_Y_COMMIT_BASE_OFFSET: usize = 3;
 
 
 #[derive(Default, Debug)]
 #[derive(Default, Debug)]
 pub struct LeadContract {
 pub struct LeadContract {
-    // witness
-    pub path: Value<[MerkleNode; MERKLE_DEPTH_ORCHARD]>,
-    pub sk: Value<pallas::Base>,
-    pub root_sk: Value<pallas::Base>, // coins merkle tree secret key of coin1
-    pub path_sk: Value<[MerkleNode; MERKLE_DEPTH_ORCHARD]>, // path to the secret key root_sk
-    pub coin_timestamp: Value<pallas::Base>,
-    pub coin_nonce: Value<pallas::Base>,
-    pub coin1_blind: Value<pallas::Scalar>,
-    pub coin1_sn: Value<pallas::Base>,
-    pub value: Value<pallas::Base>,
-    pub coin2_blind: Value<pallas::Scalar>,
-    pub coin2_commit: Value<pallas::Point>,
-    // public advices
-    pub cm_pos: Value<u32>,
-    //
-    //pub sn_c1 : Option<pallas::Base>,
-    pub slot: Value<pallas::Base>,
-    pub mau_rho: Value<pallas::Scalar>,
-    pub mau_y: Value<pallas::Scalar>,
-    pub root_cm: Value<pallas::Base>,
-    pub sigma1: Value<pallas::Base>,
-    pub sigma2: Value<pallas::Base>,
-    //pub eta : Option<u32>,
+    pub path: Value<[MerkleNode; MERKLE_DEPTH_ORCHARD]>, /// path of coin1 commitment
+    pub sk: Value<pallas::Base>, /// coin secret key
+    pub root_sk: Value<pallas::Base>, /// root to secret key
+    pub path_sk: Value<[MerkleNode; MERKLE_DEPTH_ORCHARD]>, /// path to the secret key rooted by `root_sk`
+    pub coin_timestamp: Value<pallas::Base>, /// $\tau$ or coin index
+    pub coin_nonce: Value<pallas::Base>, /// coin nonce $\rho_{c1}$
+    pub coin1_blind: Value<pallas::Scalar>, /// coin blind r
+    pub coin1_sn: Value<pallas::Base>, /// coin serial number
+    pub value: Value<pallas::Base>, /// coin value
+    pub coin2_blind: Value<pallas::Scalar>, /// coin2 blind r2
+    pub coin2_commit: Value<pallas::Point>, /// coin2 commitment
+    pub cm_pos: Value<u32>, /// coin position in the merkle tree
+    pub slot: Value<pallas::Base>, /// slot index
+    pub mau_rho: Value<pallas::Scalar>, /// random value derived from eta used for constraining \rho
+    pub mau_y: Value<pallas::Scalar>, /// random value derived from eta used for calculating y
+    pub root_cm: Value<pallas::Base>, /// root to commitment in the mekle tree
+    pub sigma1: Value<pallas::Base>, /// first coefficient in 1-term T (target function) approximation
+    pub sigma2: Value<pallas::Base>, /// second coefficient in 2-term T (target function) approximation
+    /// constrained nonce $\rho$
     pub rho: Value<pallas::Point>,
     pub rho: Value<pallas::Point>,
+    //pub eta : Option<u32>,
     //pub h : Option<u32>, // hash of this data
     //pub h : Option<u32>, // hash of this data
     //pub ptr: Option<u32>, //hash of the previous block
     //pub ptr: Option<u32>, //hash of the previous block
 }
 }