# Zero-Knowledge Agents (ZKA) > Privacy-preserving protocols for autonomous AI agent interactions. Noir circuits verified on Aztec L2 and any EVM chain. ZKA defines the privacy layer using Noir zero-knowledge circuits compiled via ACIR. Primary deployment on Aztec L2 with auto-generated Solidity verifiers for any EVM chain. ## Core Principle Agents can prove claims without revealing underlying data. Payments happen without exposing amounts or parties. Reputation accrues without leaking transaction history. ## Implementation Stack | Layer | Technology | |-------|-----------| | Circuit Language | Noir v1.0 | | Proving Backend | Barretenberg (UltraHonk) | | Curve | BN254 / Grumpkin | | Hash Function | Poseidon2 | | Arithmetization | PLONKish | | Recursion | Goblin Plonk | | Primary Deployment | Aztec L2 | | EVM Verification | Auto-generated Solidity verifier | ## Protocol Family | Protocol | Purpose | Status | |----------|---------|--------| | ZKA/Pay | Privacy-preserving agent payments | Implemented (Noir) | | ZKA/Coord | Recursive coordination proofs | Implemented (Noir) | | ZKA/Compute | Verifiable private computation | Future | | ZKA/Attest | ZKC credential binding to notes | Specified (§5) | | ZKA/Reputation | Privacy-preserving reputation | Future | ## ZKA/Pay: Private Transfers Noir transfer circuit with hidden amounts and parties: - Public inputs: nullifier, output_commitment, merkle_root, context, asset_commitment - Private inputs: note fields, spending key, Merkle path - Constraints: Merkle membership, nullifier correctness, ownership, value conservation, asset conservation - Verification: <300k gas on any EVM chain; native on Aztec ## ZKA/Coord: Recursive Proofs Multi-agent workflow verification via recursive Noir proofs: - Each agent produces proof embedding verification of upstream inputs - Recursive composition via Goblin Plonk (Aztec) or manual verification (standalone) - Final proof attests entire DAG executed correctly - Verification: <500k gas regardless of recursion depth ## Multi-Chain Verification Noir → ACIR → Multiple backends: - Barretenberg (UltraHonk): Aztec + EVM (production) - Halo 2 (IPA): Setup-free chains (in development) - Groth16: Via ACIR→R1CS compilation - Verification on: Aztec, any EVM chain, Starknet, zkVerify, Cosmos, Solana ## Architecture ``` Noir Circuits (ACIR) │ ├── Barretenberg (UltraHonk) → Aztec L2 (native privacy) + EVM (Solidity verifier) ├── Halo 2 (future) → Setup-free chains └── Groth16 (future) → Cosmos, other targets ``` ## Circuit Library ``` noir/ ├── zka_lib/ # Shared primitives (Poseidon2, keys, Merkle) ├── zka_transfer/ # Transfer circuit (ZKA/Pay) ├── zka_withdrawal/ # Withdrawal circuit ├── zka_balance/ # Balance proof circuit ├── zka_coordination/ # Coordination circuit (ZKA/Coord) ├── zka_credential/ # ZKC credential binding └── zka_bridge_*/ # Namada/Penumbra bridge circuits ``` ## Specification - [Full Specification](/spec/) - [Extended Documentation](/llms-full.txt) ## Version ZKA Specification Version: 0.6.1