Creating a market for Noir circuits on Kalypso

I wished to make a suggestion to create markets for Noir circuits on Kalypso. I believe Kalypso’s ability to generate proofs server-side even when private inputs are involved could be very useful to applications using Noir.

A bit about Noir

Noir is a specialized programming language designed for SNARK proving systems, developed by Aztec Labs. It enables users to create complex zero-knowledge programs using an easy to understand and flexible syntax, without requiring deep knowledge of the underlying mathematics or cryptography.

What sets Noir apart?

Noir distinguishes itself from other ZK languages with its innovative approach:

  • Compilation to ACIR: Noir first converts programs into an adaptable intermediate language called ACIR. This intermediate step makes the proofs more flexible and easier to work with.

  • Integration with various proving backends: The ACIR output can be further compiled into arithmetic circuits, which can then be used with different proving backends. While Noir defaults to Aztec’s Barretenberg backend, it can also be adapted for other PLONK-based systems or rank-1 constraint systems like Arkwork’s Marlin.

Noir’s backend agnosticism means it can work with various proving systems, making it versatile and adaptable.

Who can benefit from Noir?

Noir is designed to be user-friendly, making it suitable for a range of applications:

  • Authorization systems: Use Noir to manage secure password storage directly on users’ devices.

  • On-chain verification: Implement complex on-chain verification processes, including recursive proofs, without needing to understand the intricate details of cryptography.

Whether used in powerful cloud-based systems or on smartphones, Noir abstracts away the complexities of cryptographic proofs, making advanced security accessible and practical for developers.

Why create a Noir market on Kalypso?

Integrating Kalypso with Noir combines the best of both worlds:

  • Noir simplifies the creation of complex ZKPs without requiring deep mathematical or cryptographic knowledge. It compiles programs into ACIR, which can be further converted into arithmetic circuits.

  • Kalypso provides a versatile marketplace platform where proof requesters can seamlessly interact with hardware operators through its core smart contracts and matching engine, while keeping inputs private, if required.

Key benefits of the integration

  • Enhanced security and privacy: Noir’s zero-knowledge proofs ensure that proof requesters can verify statements without revealing sensitive information. Kalypso’s robust smart contracts manage transactions securely, maintaining data integrity and confidentiality.

  • Streamlined operations: Automate the process of requesting and verifying proofs, reducing manual effort and minimizing errors. Efficiently handle multiple proof requests within Kalypso’s scalable marketplace environment.

  • User-friendly and accessible: Noir’s simple and flexible syntax makes it easy for developers to create sophisticated ZKPs. Kalypso’s intuitive interface allows users to quickly set up and manage new markets, facilitating smooth integration and operation.

Real-world applications

Imagine a scenario where a financial institution needs to verify the authenticity of transactions without exposing sensitive client information. With Kalypso and Noir:

  • The institution can request proofs through Kalypso’s marketplace.
  • Noir generates the necessary ZKPs, ensuring data privacy.
  • The proofs are seamlessly verified and integrated, enhancing trust and security in financial operations.
1 Like

Markets are per-circuit in Kalypso so they can’t be created in advance. Happy to help if you would like to create a market for a circuit you have written. You may also refer to the docs here to learn about the steps involved in creating a market.