[−][src]Module zcash_primitives::constants
Various constants used by the Zcash primitives.
Structs
PEDERSEN_HASH_EXP_TABLE | The exp table for |
Constants
CRH_IVK_PERSONALIZATION | BLAKE2s Personalization for CRH^ivk = BLAKE2s(ak | nk) |
GH_FIRST_BLOCK | First 64 bytes of the BLAKE2s input during group hash. This is chosen to be some random string that we couldn't have anticipated when we designed the algorithm, for rigidity purposes. We deliberately use an ASCII hex string of 32 bytes here. |
KEY_DIVERSIFICATION_PERSONALIZATION | BLAKE2s Personalization for the group hash for key diversification |
NOTE_COMMITMENT_RANDOMNESS_GENERATOR | The note commitment is randomized over this generator. |
NULLIFIER_POSITION_GENERATOR | The node commitment is randomized again by the position in order to supply the nullifier computation with a unique input w.r.t. the note being spent, to prevent Faerie gold attacks. |
NULLIFIER_POSITION_IN_TREE_GENERATOR_PERSONALIZATION | BLAKE2s Personalization for the nullifier position generator (for computing rho) |
PEDERSEN_HASH_CHUNKS_PER_GENERATOR | The maximum number of chunks per segment of the Pedersen hash. |
PEDERSEN_HASH_EXP_WINDOW_SIZE | The window size for exponentiation of Pedersen hash generators outside the circuit. |
PEDERSEN_HASH_GENERATORS | The generators (for each segment) used in all Pedersen commitments. |
PEDERSEN_HASH_GENERATORS_PERSONALIZATION | BLAKE2s Personalization for Pedersen hash generators. |
PRF_NF_PERSONALIZATION | BLAKE2s Personalization for PRF^nf = BLAKE2s(nk | rho) |
PROOF_GENERATION_KEY_BASE_GENERATOR_PERSONALIZATION | BLAKE2s Personalization for the proof generation key base point |
PROOF_GENERATION_KEY_GENERATOR | The prover will demonstrate knowledge of discrete log with respect to this base when they are constructing a proof, in order to authorize proof construction. |
SPENDING_KEY_GENERATOR | The spender proves discrete log with respect to this base at spend time. |
SPENDING_KEY_GENERATOR_PERSONALIZATION | BLAKE2s Personalization for the spending key base point |
VALUE_COMMITMENT_GENERATOR_PERSONALIZATION | BLAKE2s Personalization for the value commitment generator for the value |
VALUE_COMMITMENT_RANDOMNESS_GENERATOR | The value commitment is randomized over this generator, for privacy. |
VALUE_COMMITMENT_VALUE_GENERATOR | The value commitment is used to check balance between inputs and outputs. The value is placed over this generator. |