Overview of Recursive SNARKs

1 Introduction

Recursive SNARKs又名Incrementally Verifiable Computation(IVC)、Proof Carrying Data(PCD)或 inductive SNARKs。

The image below is taken from the Microsoft Teams 2021 paper Nova: Recursive Zero-Knowledge Arguments from Folding Schemes , where:

insert image description here

2. What are Recursive SNARKs?

2.1 What is a SNARK?

insert image description here

2.2 What is SNARK of a SNARK proof?

insert image description here

2.3 What is SNARK of multiple SNARK proofs?

insert image description here

3. Recursive SNARKs application scenarios

Recursive SNARKs can be used in the following scenarios:

  • 1)Zk-zk-Rollup 和 zk 3 ^3 3-Rollup
  • 2) Privacy Computing ZEXE

3.1 for Zk-zk-Rollup and zk 3^33-Rollup

Compared with zkRollup, Zk-zk-Rollup has the following characteristics:
* 1.1) There are multiple servers, each server is responsible for different non-overlapping user groups.
* 1.2) It has a Rollup aggregator (which can be one of the servers), which is responsible for summarizing (balance table) and creating a corresponding proof.
insert image description here
insert image description here
The corresponding Zk-zk-Rollup circuit is expressed as: [where root 1 , root 2 , ⋯ , π 1 , π 2 , ⋯ root_1,root_2,\cdots, \pi_1,\pi_2,\cdotsroot1,root2,,Pi1,Pi2, are witnesses]
insert image description here
Take Tornado Cash as an example:
insert image description here
after zk3 ^33 -Rollup,Tornado Cashcan realize shielded transfer and any amount. [Adding zk-SNARKs to each transaction enables private transactions.
insert image description here
insert image description here

3.2 ZEXE for privacy computing

ZEXE is a computing model (similar to the Scripts of the UTXO chain and the Accounts of the EVM chain). So think of ZEXE as an abstraction of smart contracts or complex transactions.
The basic unit of ZEXE is record (similar to UTXO).
Each transaction consumes records and also creates records.

Taking UTXO as an example, the corresponding ZEXE expression is:

  • Universal predicate (universal expression) is: prevent double spending.
  • Birth predicate is: how a record is created.
  • Death predicate is: how a record is consumed.

The transaction process of generating Record 3 based on Record 1 and Record 2 can be expressed as:
insert image description here

references

[1] Microsoft Team 2021 paper Nova: Recursive Zero-Knowledge Arguments from Folding Schemes
[2] July 2021 video An Overview of Recursive SNARKs
[3] 2021 Stanford courseware Recursive SNARKs
[4] 2020 Mina’s blog on zkproof Inductive Proof Systems and Recursive SNARKs

Guess you like

Origin blog.csdn.net/mutourend/article/details/123880158