ZKAgentVerificationOrchestrator
Overview
ZKAgentVerificationOrchestrator.circom is the primary zkSNARK circuit for verifying the trustworthiness of LLM-based agents in the ZK-AgentMesh protocol. It enables zero-knowledge validation of training quality, ethics, and compliance without revealing any underlying data, model internals, or private metrics.
This circuit composes multiple modular sub-verifiers and outputs a unified proof of agent validity.
Objectives
This circuit proves that a deployed AI agent meets the following conditions:
Training quality surpasses a defined threshold
Ethical requirements are satisfied (bias, fairness, harmful content)
Compliance standards are met (data privacy, encryption, retention)
Each of these proofs is tied to cryptographic commitments submitted prior to training
The circuit enables these proofs to be verified without revealing:
The training data or model responses
Specific scores or implementation logic
The training infrastructure or source data identity
Architecture
The orchestrator integrates three sub-circuits:
TrainingQualityVerifier: Assesses training sample quality and output alignmentEthicsComplianceVerifier: Validates fairness, bias, and red-teaming resultsComplianceVerifier: Verifies privacy policies, data handling, and encryptionAdditionally, it computes a Poseidon-based
master_proof_hashthat binds all subproofs
Inputs
Private Inputs (Not revealed during on-chain verification)
Training
training_samples[n_training_samples*32]: Flattened matrix of tokenized inputsmodel_responses[n_training_samples*32]: Corresponding output tokensquality_scores[n_training_samples]: Scores computed per sampletraining_seed: Randomization value for trainingmodel_weights_hash: Hash of initial model state
Ethics
bias_test_results[n_ethics_tests]: Scores from bias detection testsfairness_scores[n_ethics_tests]: Fairness metrics per testharmful_content_flags[n_ethics_tests]: Binary flags for unsafe contentethics_training_data_hash: Hash of ethics-related training dataset
Compliance
privacy_protection_scores[n_compliance_tests]data_handling_scores[n_compliance_tests]encryption_standards[n_compliance_tests]
Capability
capability_scores[n_capability_tests]performance_benchmarks[n_capability_tests]
Public Inputs (Visible to verifiers)
agent_id: Agent unique identifiercreator_address: On-chain wallet address of deployermin_quality_threshold: Minimum acceptable training qualitymax_bias_threshold: Maximum tolerable biasmin_privacy_score: Minimum compliance levelrequired_compliance_standard: Enum or category selectortraining_commitment_hash: Hash of pre-training claimsethics_commitment_hash: Hash of ethics intentcompliance_commitment_hash: Hash of compliance commitments
Public Outputs
agent_fully_verified: Aggregated boolean signalquality_verification_result: Result from quality sub-circuitethics_verification_result: Result from ethics sub-circuitcompliance_verification_result: Result from compliance sub-circuitmaster_proof_hash: Combined Poseidon hash of all subproofsverification_timestamp: Placeholder timestamp; ideally block.time on-chain
Circuit Flow
Compilation Instructions
Prerequisites
circom
snarkjs
A trusted setup file (e.g.
pot16_final.ptau)
Steps
# Compile circuit
circom ZKAgentVerificationOrchestrator.circom --r1cs --wasm --sym --c
# Setup powers of tau
snarkjs powersoftau new bn128 16 pot16_0000.ptau
snarkjs powersoftau contribute pot16_0000.ptau pot16_final.ptau
# Generate final proving key
snarkjs groth16 setup ZKAgentVerificationOrchestrator.r1cs pot16_final.ptau circuit_final.zkey
# Export verification key
snarkjs zkey export verificationkey circuit_final.zkey verification_key.jsonProof Workflow
Input Template (input.json)
{
"training_samples": [...],
"model_responses": [...],
"quality_scores": [...],
"training_seed": "...",
"model_weights_hash": "...",
"bias_test_results": [...],
"fairness_scores": [...],
"harmful_content_flags": [...],
"ethics_training_data_hash": "...",
"privacy_protection_scores": [...],
"data_handling_scores": [...],
"encryption_standards": [...],
"agent_id": "...",
"creator_address": "...",
"min_quality_threshold": 800,
"max_bias_threshold": 200,
"min_privacy_score": 850,
"required_compliance_standard": 1,
"training_commitment_hash": "...",
"ethics_commitment_hash": "...",
"compliance_commitment_hash": "..."
}Witness & Proof Generation
node circuit_js/generate_witness.js circuit.wasm input.json witness.wtns
snarkjs groth16 prove circuit_final.zkey witness.wtns proof.json public.json
snarkjs groth16 verify verification_key.json public.json proof.jsonIntegration
Used
verification_key.jsonin smart contract verifierDeployed
ZKAgentVerifier.solto validate agent proofsRegistered verified agents via on-chain hash lookup
Used
agent_fully_verified == 1to allow access or monetizationReward agents or slash stakes based on verification results
Status
Stable: Quality, ethics, compliance flows tested
In Progress: Capability metrics and extensibility
Planned: Support for recursive proof chaining, dynamic agent roles, explainability circuits
Last updated