Aztec Network introduces a new zero-knowledge proof language – Noir. How does it work and what are its features? Let’sfindout.
Before we start talking about Noir, we would like to remind you what zero-knowledge proof is. Zero-knowledge proof is one of the cryptographic protocols that allows one party to prove the truth of any statement to the other party, but at the same time, without providing any other information.
The simplest example, in our opinion, would be the following situation:
Alice wants proof that Bob knows the password to his Twitter account. How can Bob prove to Alice that he knows the password without giving the password? Bob just has to log in to his account and show it to Alice. Thus, Bob proves to Alice that he knows the password without naming it and without providing any information. This is the essence of the zero-knowledge proof concept.
Let's go back to Noir and its creators. New zero-knowledge proof language Noir was created by the Aztec Network. The company deals with privacy and security in the areas of Web3 and DeFi. Aztec Network's main method for providing protection is zero-knowledge proof. Last December, Aztec Network received $17 million in funding from Paradigm and other investors. The purpose of the financing was to develop privacy in Web3.
Aztec Network has a zk.money project that uses the zero-knowledge proof principle to secure user funds. The project is designed to work with Ethereum, and supports staking and private transactions.
Also, Aztec Network has in its arsenal a toolkit for privacy in Ethereum – Aztec Connect.
“The Aztec Connect SDK allows any Ethereum protocol to be integrated in Aztec’s private rollup with a simple Solidity interface and front-end SDK.”
Most recently, Aztec Network introduced a new product that the company has been working on for 18 months – Noir – new zero-knowledge proof language. In addition to the language itself, Aztec Network also announced two new Typescript libraries: NoirJS and Barretenberg.js. The first allows you to compile Noir circuits in the browser, and the second allows you to prove and verify these circuits in the browser.
“Noir is a Rust-based domain specific language (DSL) for creating and verifying zero-knowledge proofs. It’s the easiest way to write zk applications that are compatible with any proving system.”
But, what are the advantages of Noir compared to similar tools? The developers say that products such as Circom and ZoKrates are very powerful tools, but require an in-depth knowledge of cryptography from the developer. While Noir does not require a programmer to have in-depth knowledge of cryptography.
“By abstracting away underlying cryptographic complexity while retaining all the power and flexibility of other circuit-building languages, Noir allows any developer–not just those with cryptography knowledge–to construct zk apps. Developers can now focus solely on designing the logic behind private applications.”
Simplicity. That's the main advantage of Noir. And what else do the developers offer us? The nargo package manager is built into Noir. It “supports using dependencies uploaded to Github, allowing devs to separate the dependencies of their Noir circuits and the project integrating those circuits.” Also, developers can use nargo as a debagging tool.
In addition to the above functions, Noir allows one “to build a compiled Solidity contract to verify proofs on any EVM-compatible blockchain. Smart contract developers can now execute logic based on Noir proofs.”Noir has a library that includes many useful functions for developers, as well as complex algorithms that are written manually by the Aztec Network team.
In order to demonstrate the capabilities of the Noir language, developers from Aztec Network wrote two simple programs in Noir and Circom and attached links to them in the announcement.
The developers consider that Noir will prove itself well in creating zero-knowledge games, for proof of identity and at blind auctions. Also, the developers said that an ecosystem will be built around Noir in the future.
“We are convinced that Noir is a transformational step for practical zk development. As such, we’re currently working toward rewriting Aztec’s core circuits using Noir, and we’re continuously working to improve its usability. <…> The Noir ecosystem has just gotten off the ground.”
We hope that Noir will simplify the life of practicing developers and motivate those who wanted to work with zero-knowledge proof, but were poorly versed in cryptography. And we continue to observe.