What is Noir?

Introduction:

Singularity's development was guided by a commitment to detailed and thoughtful architecture, recognizing that prior solutions do not always offer the best path forward. Our technical expertise in Web3 is exemplified by our Lead ZK Engineer, Loong Wang, who is the co-founder and former CTO of Ren Protocol. 

His leadership steered Ren Protocol to achieving a Total Value Locked (TVL) of over US $1 billion, all while maintaining a flawless security record.

In this article, we explore our pioneering decision to be the first project to adopt Aztec's open source zk programming language, Noir, but first let’s start with the basics.

What are ZK Proofs?
ZK proofs are all the rage right now and finding a wide range of use cases across DeFi, and blockchain more broadly.
From playing a pivotal role in enabling Ethereum to scale 10x+ fold via zk-rollup solutions, to providing users with the ability to attest certain characteristics about their personal data without needing to reveal their secret(s). ZK proofs enable users (the prover) to prove to another party (the verifier, usually in the form of a smart contract) that a statement is true without revealing any information beyond the validity of the statement itself.

ZK-proofs lend themselves especially well to solving issues around data privacy when transacting on public blockchains. Instead of divulging every last detail about the kind of activity you’re performing and whom you’re performing it with, ZK-proofs allow users to greatly minimize the amount of information publicly made available to any savvy 3rd party blockchain observers.

What is Circom? 

Besides the cryptographic advancements made in the space that have made these schemes computationally cheaper and more powerful, the tooling around developing zero-knowledge systems has gotten considerably more developer friendly in recent years. The first of these accessible tools to gain widespread adoption was Circom. The process of writing a circuit using the Circom programming language involves first declaring signals (the data inputs), and then writing a series of constraints on the data. Circom then takes the circuit and compiles the logic into a mathematical form that can be used for generating and verifying zero-knowledge proofs.

Other than programming languages that have made developing circuits much easier, advancements made especially in the last few years in zero-knowledge proving systems have also pushed the space forward. The choice of proving system influences factors such as how computationally difficult it is to compute a proof and additionally verify, as well as the size (eg. kilobytes) that a proof takes up plus many more. Two of the most common types of proving systems used in practice right now include Groth16 and PLONK which each have their own set of strengths and weaknesses. Snarks is a javascript library that has extensive support for Circom-compiled circuits and supports both Groth16 and the PLONK proving system, and can also generate verifier smart contracts in Solidity.

Why did we choose Noir?

Invented by the folks building the Aztec privacy-first blockchain, Noir is a new programming language that focuses on being more expressive and easier to use for developers given the fact that it leverages Rust-like syntax for its underlying infrastructure. Writing ZK circuits in Noir feels natural, similar to writing software programs in other languages. All Noir programs compile to an intermediate representation called the Abstract Circuit Intermediate Representation (ACIR) which is agnostic to a variety of different proving systems, and so is compatible with PLONK, Groth16, and Marlin with more on the horizon. By default, Noir has a proving system back-end called Barretenberg that runs on PLONK, but with a considerable amount of design improvements that also navigate special kinds of limitations that blockchains impose.

For these reasons and more, we’ve chosen to go with the PLONK proving system and with Noir for developing The Singularity.

Conclusion:

As we develop and launch our protocol we anticipate a series of product advancements and innovations to support our growth. The Aztec.nr framework is evolving with upgrades to proof generation efficiency being pushed constantly, and new extensions being developed regularly. The Aztec Noir framework also has a key focus around zero-knowledge use cases that consist of privacy-related components, and this is reflected in some of its key framework design decisions. As a privacy-focused DeFi protocol that’s in alignment with the same ethos, it makes great sense to leverage the technology that offers a more streamlined, powerful, and secure framework, that aligns with our goal of efficient and risk-minimized expansion.

We're excited to embrace Noir in our future developments and extend our gratitude to the Aztec Labs team for their support.

About Singularity:

Singularity is a compliant institutional DeFi access layer that provides access to popular protocols for institutional on-chain participants with commercial confidentiality. Users will have their wallet addresses obfuscated while leveraging existing DeFi liquidity. Singularity uses the state-of-the-art UltraPLONK proof system with zero-knowledge circuits based on Noir.

Website | X | Discord | Docs

Join our newsletter to stay up to date on features and releases.
Subscribe
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
© 2024 Singularity. All rights reserved.