## Inspiration

Modern enterprise AI evaluation suffers from a massive ** Billion Dollar privacy bottleneck**:

  1. Model Weight Exposure: Model providers cannot share proprietary weights with untrusted benchmark runners without risking intellectual property theft.
  2. Dataset Contamination & Leakage: Benchmark owners cannot release proprietary test sets to model providers without risking dataset contamination or leaking trade-secret test cases.

We built BlindBench to eliminate this trade-off using zero-knowledge cryptography on the Midnight Blockchain. BlindBench allows AI creators to evaluate models on private benchmark datasets with mathematically guaranteed score integrity—without revealing raw weights or test data to anyone.


What it does

BlindBench is a full-stack, privacy-preserving AI benchmarking protocol natively deployed on the Midnight Preview Network.

  • Confidential AI Tournaments: Benchmark owners register private evaluation policies and test dataset commitments.
  • Blinded Model Submissions: Model providers register zero-knowledge commitments of their neural networks, transformers, or tree ensembles.
  • Zero-Knowledge Execution: Evaluations execute inside client-side enclaves. Groth16 zero-knowledge proofs attest that scores meet required policy thresholds.
  • On-Chain Settlement: Results and single-use anti-replay nullifiers are anchored directly on the Midnight ledger.
  • Selective Disclosure Engine: Model owners choose exactly what to reveal to auditors (e.g., pass/fail status vs. exact numeric score) without compromising underlying IP.

How we built it

BlindBench is built natively for the Midnight ecosystem using a production-grade full-stack architecture:

  • Smart Contract Layer: Authored BlindBenchCore.compact compiled using compactc 0.31.1 (language v0.23.0, runtime v0.16.0), exposing 4 core ZK circuits:
    1. registerBenchmark
    2. submitModel
    3. commitResult
    4. verifyResultIntegrity
  • Wallet & Proving Integration: Integrated the official @midnight-ntwrk/dapp-connector-api (v4.0.1) and Midnight Lace browser wallet, enabling delegated witness generation, fee balancing, and transaction signing.
  • On-Chain Deployment: Deployed and verified BlindBenchCore on Midnight Preview Testnet:
    • Contract Address: 20fe9e57c1557245052f7a815e86420b30c968abe064d2c9b8dfe8f936381f47
    • Deployment Tx ID: 00ad4e909f2fd3a944f3fbed42df2ccbf1ab31bda80cfa5705f10f81b3422cad94
    • Confirmed Block Height: #588761
  • Backend & Artifact Streaming: Node.js/Express server delivering binary ZK artifacts (.prover, .verifier, .bzkir, .zkir) and integrating with Midnight Preview GraphQL Indexer v4.
  • Frontend UI: Responsive React 19 glassmorphic dashboard with live status widgets, circuit operations console, and a 9-point preflight diagnostics suite.

Challenges we ran into

  1. Binary Key Material Streaming: Serving Groth16 .prover and .verifier keys without UTF-8 encoding corruption required building custom binary buffer streaming endpoints in Express.
  2. Compact Circuit Nullifier Safety: Designing double-spend prevention for AI evaluation receipts required implementing deterministic nullifier hashing inside Compact to enforce single-use evaluation claims.
  3. Browser Witness & Proving Synchronization: Coordinating delegated browser proving via Midnight Lace required an automated 9-point preflight suite to verify network ID matching, tDUST balances, and GraphQL indexer reachability before submitting transactions.

Accomplishments that we're proud of

  • Live On-Chain Verified Deployment: Successfully deployed and verified BlindBenchCore on Midnight Preview (Block #588761) with 100% indexer state query inclusion.
  • 4/4 Circuit Compilation: Compiled all 4 zero-knowledge circuits with official compactc 0.31.1 provenance matching verifier keys (1351B) and ZKIR bytecode.
  • 100% Automated Test Suite: Built a 16-scenario test suite (test-contract.ts) verifying compilation, benchmark registration, model commitment, nullifier burning, and selective disclosure (15/15 Passed).
  • Hackathon-Grade UI & UX: Delivered a dark, glassmorphic interface with real-time protocol status indicators and interactive circuit execution.

What we learned

  • Mastering Compact 0.31.1 smart contract development, private state mapping, and circuit parameter alignment.
  • Harnessing Midnight Lace DApp Connector API v4.0.1 for browser-based zero-knowledge transaction building and fee balancing.
  • Structuring privacy boundaries between client enclaves, ZK proving pipelines, and public indexer verification.

What's next for BlindBench

  • Multi-Party Computation Enclaves: Extending evaluation workers with Hardware Security Modules (HSMs) and confidential computing nodes.
  • Automated Reward Escrow: Binding tDUST smart contract escrows to reward winning model providers automatically upon on-chain score verification.
  • Federated Benchmark Registries: Expanding benchmark policies to support multi-modal LLM safety testing and financial compliance benchmarking.

Built With

Share this project:

Updates