awesome-zkml

A place where you can find content, codebases, scientific papers, projects and applications related to ZKML. Contributions and suggestions are always welcome, open issues or pull requests with any changes you want to be made and don't forget to join our Telegram community (link below).

ZKML community

We are in the process of bootstrapping a ZKML community where people can share research ideas, code they are working on and potential applications of this nascent technology. If you are interested in joining, check out our Telegram. There are few ideas we have come up with for the community:

  • Create a group of people working on or that are interested in doing research in the ZKML domain.
  • See what everyone is working on and find intersections where a potential for collaboration could appear.
  • Map out the general direction of ZKML - use cases / academic research
  • Find people that are able to support work in this domain with capital, manpower, research capacity (i.e. PhD students), engineers, etc.
  • Co-organize a Gitcoin side round for ZKML
  • Create some form of grants program to support further R&D and exisiting initiatives (think 0xPARC)
  • Nerdsnipe researchers and engineers to work on ZKML
  • Start a sub-fund under a DAO/org earmarked for zkml.
  • Create educational materials for ZKML
  • Organize ZKML events (online and in-person)

Learn ZK

Here you can find a list of very popular resources to get started with zero-knowledge cryptography (courtesy of Ingopedia made by Ingonyama):

Learn ML

Here you can find a list of very popular resources to get started with machine learning.

Content

Codebases

Papers

Projects interested in ZKML

  • 0xPARC - The 0xPARC Foundation promotes application-level innovation on Ethereum and other decentralized platforms
  • Worldcoin - A Privacy-Preserving Proof-of-Personhood Protocol
  • Gizatech - Fully on-chain artificial intelligence on Starknet
  • Modulus Labs - Bringing powerful ML models on-chain
  • Risc Zero - The General Purpose Zero-Knowledge VM
  • Supranational - A product and service company developing hardware accelerated cryptography for verifiable and confidential computing
  • Ingonyama (Hardware) - Zero Knowledge ASICs (ZPU)
  • Zama.ai (FHE ML / FHE-ZK ML) - FHE tooling for machine learning, blockchain and more. ZK-FHE is an interesting research area. FHE.org is a very interesting community with a lot of potential for collaboration.
  • zkMachineLearning - ZKML tooling for Circom

Use cases

Decision tree for a use case that would use ZKML -> Intersection of {needs privacy, computational integrity} and {heuristic optimization problem solved by ml}.

  • Computational integrity
    • Modulus Labs
      • On-chain verifiable ML trading bot - RockyBot
      • Blockchains that self-improve vision (examples):
        • Enhancing the Lyra finance options protocol AMM with intelligent features
        • Creating a transparent AI-based reputation system for Astraly
        • Working on the technical breakthroughs needed for contract-level compliance tools using ML for Aztec Protocol (a zk-rollup with privacy features)
    • ML as a Service (MLaaS) transparency (link)
    • Worldcoin
      • Verifying that a user has created a valid and unique WorldID locally by running the IrisCode model on self-hosted biometric data and is calling _addMember(uint256 groupId, uint256 identityCommitment) function on the WorldID Semaphore identity group with a valid identityCommitment. -> Makes protocol more permissionless
      • Making the Orb trustless, provide proof that fraud filters are applied
      • Enable IrisCode upgradeability
    • ZK anomaly/fraud detection
      • Creates the ability for creating a ZK proof of exploitability/fraud. Anomaly detection models could be trained on smart contract data and agreed upon by DAOs as interesting metrics to be able to automate security procedures such as preventively pausing contracts in a more proactive way. There are startups already looking at using ML models for security purposes in a smart contract context, so ZK anomaly detection proofs feel like the natural next step.
    • Generic SNARK for ML inference: ability to easily prove and verify that an output is the product of a given model and input pair.
  • Privacy
    • Decentralized Kaggle: proof that model has greater than x% accuracy on some test data without revealing weights
    • Privacy-preserving inference: medical diagnostics on private patient data get fed into the model and the sensitive inference (i.e. cancer test result) gets sent to the patient. (vCNN paper, page 2/16)