"First-class VC" engaged in development: two SNARK tools of a16z crypto

Author: Arrow@go2mars, Source: Author Twitter @ArrowCrypto_eth

Recently, I have been watching the expansion and innovation of some overseas encryption funds to the Crypto ecosystem. Let’s take a look at the two SNARK tools newly launched by A16Z Crypto this month. Try to only talk about what things can solve what problems.

When it comes to SNARKs, let’s talk about zkSNARKs first. In fact, these are two different aspects in today’s topic.

Now that we started talking about zkSNARKs, the proof of the basic principle of zero knowledge will not be repeated. This technology has three characteristics: completeness, correctness and zero knowledge. It can be realized to prove the conclusion without revealing any details. At the same time, in the context of homomorphic encryption, the difficulty of verification is much lower than the difficulty of generating proofs.

When we talked about Layer 2 before, we actually mentioned ZK, such as Zk-Rollup, as an effective proof mechanism, which proposed a new solution for the expansion of Ethereum. Before, everyone was busy doing airdrops to do interactive zkSync. Its core is to use ZK to pack multiple operations into a proof, and complete most of the computing work off-chain.

zkSNARKs - the most widely used technology for zero-knowledge proof

zk-SNARK, that is, "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge", that is, zero-knowledge concise non-interactive knowledge proof.

The characteristics are ① prove that a certain statement is true but do not reveal any other information; ② the proof size is small and easy to verify; ③ no interaction.

In fact, the two main types of ZKP: interactive ZKP and non-interactive ZKP are both processes between the prover and the verifier, but the interaction process of the proof is different.

Taking the Schnorr protocol as an example, the interactive mode requires the verifier to generate a random number, while the non-interactive mode does not need such a role, and the prover can generate proofs for everyone to verify.

The approximate principle of zkSNARKs is:

zkSNARKs are based on NP problems, and NP problems are unsolvable in polynomial time, but given a solution, it can be verified in polynomial time whether it is correct. zkSNARKs rely on a certain NP problem, which is difficult to solve but can be quickly verified. Change the form of this problem and perform QAP quadratic arithmetic program conversion, and at the same time construct a solution "QAP Witness" corresponding to the code input, and then build an actual zero-knowledge proof system based on this solution.

"First-class VC" engages in development**: two SNARK tools for a16z crypto**

Finally, we come to our topic today, which is the two SNARK tools launched by a16z crypto on August 10th-**Lasso and Jolt. **

**SNARK (Succinct Non-Interactive Proof of Knowledge) as a cryptographic protocol: allows anyone to testify to an untrusted verifier that they know certain properties are met. **

Especially now the application is that Layer2 aggregates and proves to Layer1 that Layer2 knows the digital signature authorizing a series of transactions. In this way, the signature itself does not need to be stored and verified by Layer1, which is more conducive to expansion.

SNARK Background

Running computations on a blockchain is expensive since many blockchain nodes verify and record each transaction. To avoid higher transaction costs, developers typically perform minimal on-chain computation to enable their applications.

SNARKs play a central role in scaling blockchains: enabling applications to create expensive computational receipts off-chain and only bear the cost of verifying receipts on-chain.

The "brevity" here means that these receipts are short. Verification can be done with much less work than recalculating each transaction.

question

But in practice, SNARKs are also computationally expensive and difficult to audit. Validators are forced to undertake highly parallelized extra work.

Higher performance SNARKs could speed up Layer 2 and also allow builders to unlock applications not yet envisioned.

So A16Z Crypto introduces two new technologies:

①Lasso, a new lookup parameter, can significantly reduce the cost of the prover;

②Jolt, using Lasso technology, provides a new framework for designing SNARKs for zkVM and more general front-end design.

**These two tools together improve the performance, developer experience and auditability of SNARK designs, and accelerate the ecological construction in Web3. **

The current initial implementation of Lasso has proven to be more than 10 times faster than the lookup parameters in the popular SNARK toolchain halo2. According to A16Z Crypto, when the Lasso code base is fully optimized, the speed will increase by about 40 times, and Jolt will also include additional innovations on top of Lasso.

lookup argument

The lookup argument is a key tool in the design of SNARKs, a protocol that allows an untrusted prover to cryptographically submit to a large vector, and then prove that each entry of the vector is contained in some predetermined table.

Lookup parameters can help keep circuits small by efficiently handling operations that aren't naturally computed by a handful of additions and multiplications.

Circuits, on the other hand, are actually an extremely limited computational model. A SNARK front end is simply a compiler that converts a computer program into a circuit that can be ingested by a SNARK back end.

The SNARK backend lets the verifier make a cryptographic commitment to the value of each gate in the circuit. The prover then proves that the submitted value does correspond to the correct execution of the verifier's check procedure.

Currently, developers deploy SNARKs either by writing a program in a special domain-specific language (which compiles the program into polynomial constraints) or by directly hand-coding the constraints.

But this consumes manpower and material resources, and often has security holes. Lasso and Jolt are here to solve these three problems: performance, developer experience, and auditability.

**Lasso, as a new "find parameter" method, has a faster prover. Compared with previous methods, the prover promises fewer and smaller values, and can be applied to quite huge tables. Jolt (Just One Lookup Table) is a new method based on Lasso's zkVM (Zero Knowledge Virtual Machine) design. As a new front end, the function of using giant lookup tables based on Lasso can be realized.

That's what both can do.

In short: Lasso introduces a simplified zkVM approach that avoids tedious hand-optimized circuits by performing lookups on massive structured tables with less waste;

Jolt-based virtual machines are simple, fast, and easy to audit.

And collectively allow SNARKs to be used with existing popular programming languages, not just those designed for the task.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Repost
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate App
Community
English
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)