Răsfoiți Sursa

[block] 10 validation rules

mohab metwally 3 ani în urmă
părinte
comite
96060bad6f
1 a modificat fișierele cu 15 adăugiri și 1 ștergeri
  1. 15 1
      doc/src/architecture/blockchain.md

+ 15 - 1
doc/src/architecture/blockchain.md

@@ -46,6 +46,20 @@ for tuple $(x,w) \in L_{lead}$ iff:
  * $y< T(v)$
 note that this process involves burning old coin $c_1$, minting new  $c_2$ of the same value + reward.
 
+#### validation rules
+
+validation of proposed lead proof as follows:
+
+* slot index is less than current slot index
+* proposal extend from valid fork chain
+* transactions doesn't exceed max limit
+* signature is valid based off producer public key
+* verify block hash
+* verify block header hash
+* public inputs $\mu_y$, $\mu_{rho}$ are hash of current consensus $\eta$, and current slot
+* public inputs of target 2-term approximations $\sigma_1$, $\sigma_2$ are valid given total network stake and controller parameters
+* the competing coin nullifier isn't published before to protect against double spening, before burning the coin.
+* verify block transactions
 
 <!--
 this is now replaced by tx as a contract in zkas
@@ -86,7 +100,7 @@ $$sn_{c_i}=PRF_{root_{sk_{c_i}^{COIN}}}^{sn}(\rho_{c_i}), \forall_i \in \{1,2\}$
 
 ## Epoch
 
-An epoch is a vector of blocks. Some of the  blocks might be empty if there is no winnig leader.
+An epoch is a vector of blocks. Some of the  blocks might be empty if there is no winnig leader. tokens in stake are constant during the epoch.
 
 ## Leader selection