This article will mainly interpret SuperNova, a new recursive proof system for incrementally producing succinct proofs of correct execution of programs on a stateful machine with a particular instruction set.
These seem to be fantastic features. This article will mainly interpret how these features are implemented.
For easy understanding, all interpretations are based on the paper itself.
First, let’s look at the definition in the paper:
As shown by the green marker in the figure:
input: two (instance, witness) pairs
output: a new (instance, witness) pair
the same size: the size of the input tuples needs to be the same, which also means they correspond to the same computation. The diagram below expresses the folding concept very well (source: ZK Study Club: Supernova (Srinath Setty - MS Research) - YouTube):
Each gate’s input and output form pairs of (instance, witness), and the same computation represents the same circuit structure and (instance, witness) size.
First, let’s look at the definition in the paper:
Here:
Previously, we mentioned that to achieve the folding scheme, it must be the same computation. This way, the coefficient matrix of the corresponding constraint system (R1CS) remains unchanged, thereby achieving the superposition of two computation instances in the constraint system. Let’s try folding:
The following diagram effectively illustrates the settlement process of folded Relaxed R1CS instances (source: ZK Study Club: Supernova (Srinath Setty - MS Research) - YouTube):
From the perspective of preventing malicious behavior by the prover and improving verifier succinctness, the following additions are necessary:
Introduce a commitment scheme to ensure the effectiveness of folding.
Delegate the processing of E to the prover, while the verifier only verifies the equivalence under the commitment, achieving succinctness for the verifier.
The complete process is depicted in the following diagram: (Source:ZK Study Club: Supernova (Srinath Setty - MS Research) - YouTube):
Please note that the verifier needs to perform additional calculations on commitments, which requires the adoption of a commitment scheme that supports homomorphic addition calculations.
Note: For relaxed schemes in other constraint systems, you can refer to the paper HyperNova: : Recursive arguments for customizable constraint systems.
NIVC(Non-uniform incrementally verifiable computation), NIVC (Non-uniform incrementally verifiable computation) is a generalization of IVC , as defined in the paper:
In the image, the green and red markers represent the following:
The following diagram effectively illustrates the process of Nova (NIVC) (source: ZK Study Club: Supernova (Srinath Setty - MS Research) - YouTube):
As defined in the paper:
The following diagram effectively represents the process of SuperNova (NIVC for multiple instructions) (source: ZK Study Club: Supernova (Srinath Setty - MS Research) - YouTube):
Compared to Nova:
Comment
A comparison of various recursion approaches is shown in the following image (source: ZKP MOOC Lecture 10: Recursive SNARKs - YouTube):
Is it possible to define a computation that covers all computations? This way, we wouldn’t need to separately maintain a running list.
This is the current implementation approach in ZKVM and ZKEVM, where a universal circuit is designed to cover the processing logic for all instructions. However, for specific computations like Keccak and ECDSA, separate sub-circuits are used, similar to the idea of adding a running claim instance in the above-mentioned approaches.
This weekly report aims to provide an update on the latest developments and news related to Sin7y - Ola and zero-knowledge cryptography, which has the potential to revolutionize the way we approach privacy and security in the digital age. We will continue to monitor and report on the latest developments in this field. Please write to [email protected] if you’d like to join or partner with us.
Also published here.