The ZK Proving Stack
ZENDEX constructs its privacy infrastructure using modern zero-knowledge tooling:
- Noir DSL: All business logic, cryptographic checks, balance constraints, and signature verifications are defined in Noir zero-knowledge circuits.
- Barretenberg Backend: Circuits are compiled into bytecode and processed by Aztec's Barretenberg proving engine using UltraPlonk constraints.
- Solidity Verifier Contracts: Barretenberg exports single-purpose Solidity verifier contracts deployed on-chain to validate proof submission gas-efficiently.
By adopting UltraPlonk, ZENDEX eliminates the risk of per-circuit trusted setups associated with Groth16 while maintaining small proof sizes and low verification gas costs on the Horizen EVM.
Proofs for Each Private Action
Each private action needs two proofs, generated in your browser:
- an inclusion proof that your note exists in the vault, without saying which one it is;
- an action proof that the swap, order, split, join or withdrawal follows the rules, for example that the amounts add up.
Generating proofs takes from a few seconds to a minute, depending on your device. Keep the tab open until the action completes.