Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Zero-Knowledge

Formally, a proof system is zero-knowledge if there is an efficient simulator capable of producing transcripts without knowledge of a secret witness and even when no witness exists, such that no efficient distinguisher can distinguish simulated transcripts from authentic ones. This page describes the steps the Triton VM prover undertakes to ensure that the proofs it produces satisfy this property, and furthermore proves that these techniques do in fact realize that intention.

Zero-Knowledge of the Interactive Oracle Proofs

Triton VM applies three randomization steps, summarized as follows.

  1. A uniformly random polynomial, called the batch randomizer, is added to the batch of polynomials. With the addition of the batch randomizer, any linear combination of the trace and quotient polynomials is itself uniform and therefore perfectly independent of the witness. All codewords that arise in the course of the low-degree test are downstream from this linear combination and therefore share this property.
  2. All trace polynomials (both main and auxiliary) contain field elements worth of entropy. The variable is chosen such that all in-domain and out-of-domain rows that are queried as part of the batch-check of the low-degree test are uniform.
  3. The quotient table is extended with one column and the entire table is randomized in a way that preserves the ability to extract the value of the quotient at a certain out-of-domain point while perfectly hiding the values of the individual segments for each revealed row.

Batch-Randomizer

The batch randomizer is a uniformly random polynomial that is included into the random linear combination of polynomials in the batching step, in preparation for the low-degree test (or, depending on your perspective, as its initialization step). Its codeword (specifically, its list of evaluations on the trace domain) is adjoined to the auxiliary trace but left unconstrained by all AIR constraints.

The effect of adding the batch randomizer is that all codewords sent in the course of the low-degree test are perfectly independent of the witness. To see this, let be the first combination codeword in a given accepting transcript, and let be any choice for the randomized trace polynomials and any choice for the randomized quotient segment polynomials. Isolate the batch-randomizer term in the batch equation

where is the LDT domain and the sums run over all randomized trace polynomials and all randomized quotient segment polynomials. The right hand side, , must be a Reed-Solomon codeword because it is a linear combination of Reed-Solomon codewords. Consequently, there must be some low degree polynomial that agrees with on . The distribution of equals that of up to translation, and even this “up to translation” is unnecessary because the distribution is in fact uniform over polynomials of bounded degree. This argument establishes that is a uniformly random Reed-Solomon codeword and, consequently, that no distinguisher has any advantage over a random guess at distinguishing simulated from authentic transcripts based on the codewords from the low-degree test alone because that would entail distinguishing distributions that are identical.

Randomized Trace Polynomials

Let be the main trace polynomials (defined over base field ) and the auxiliary trace polynomials (defined over extension field with extension degree ). To randomize these polynomials we compute

where each is a uniformly random polynomial over the respective field of degree less than , and where is the zerofier (vanishing polynomial) for the trace domain.

The addition of -many randomizer coefficients ensures that values of are independent of , provided that is drawn from the same field and does not live in the trace domain. To see this, let be distinct indeterminates satisfying these criteria. Restricting the above equation to gives points that must agree with, and may be found through interpolation. This method for obtaining works for any trace polynomial .

Since the target domain of the low-degree extension step, also known as the LDT domain, is a disjoint set from the trace domain, it follows that rows of the low-degree extended trace are independent of the trace. Let be the number of in-domain rows queried by the low-degree test. Obviously, must be true for independence, but this alone is not enough because there are also out-of-domain rows released in the course of the DEEP-ALI protocol. For these rows we must take into account the extension degree as well as the fan-in of the AIR circuit. Since the out-of-domain indeterminate lives in the extension field, one out-of-domain row of the main table is equivalent to base field rows. Furthermore, to admit one evaluation of the AIR, rows must be supplied. So for the main trace, the prover discloses an equivalent of and for the auxiliary trace an equivalent of rows. Consequently, for the main trace polynomials and for the auxiliary trace polynomials.

For simplicity, we choose to have only one that works for both main and auxiliary traces. Furthermore, we anticipate the need for a margin of coefficients originating from the randomized quotient table, and 1 coefficient for the Merkle trees. So: .

Note: The batch-randomizer is also trace-randomized: , where is the unrandomized batch-randomizer of uniform coefficients, is the length of the trace domain, and is the trace randomizer for the batch-randomizer which adds another uniform coefficients.

Note: Besides requiring that the LDT and trace domains are disjoint sets, it is also important to disallow verifiers who sample from the trace domain. In the non-interactive case, the probability of this event is negligible and may safely be ignored, but interactively the prover must guard against malicious verifiers employing this strategy.

Quotient Table Randomization

Segmentation is the process of splitting the large quotient polynomial into segments of degree less than such that

Note that is the rate of the Reed-Solomon code and its domain of definition. Moreover, note that (where is the trace length) because of trace polynomial randomization.

To use a randomized quotient table instead of these raw segments, construct segments as follows:

  1. Sample uniformly of degree less than .
  2. For , define .

The constant is a fixed parameter of the STARK with the following constraints:

  1. has multiplicative order larger than , and
  2. none of the powers are an element of the field’s 2-adic subgroups.

The reasons for this is expanded upon below.

Furthermore, define

and observe that

The “randomized quotient table” consists of the segments’ codewords: . There are two out-of-domain rows of elements each: and . These out-of-domain rows allow the verifier to compute and and hence . The DEEP-ALI verifier equates to the value of the AIR constraints applied to the revealed out-of-domain trace rows, after dividing out the zerofier.

Two DEEP updates (single-point quotients) link the two out-of-domain rows to the randomized quotient table, establishing the integrity of and .

Given rows of the quotient table, the distinguisher observes for each of the segments and indeterminates . Using the definition of for , we can replace by terms that only depend on and ultimately by terms that only depend on . With every replacement, the indeterminate is sent to a new value . It follows that every in-domain row is an invertible affine transformation of the vector , or equivalently, of the vector , where the concrete transformation depends on the quotient and on .

Consider the first out-of-domain row. After applying all possible substitutions, becomes . Let

the set of indeterminates in which is evaluated.

In total, there are elements revealed by the in-domain and 1 out-of-domain row. As long as , the revealed elements uniquely determine points on , for any fixed quotient and any admissible choice of . As long as , can be found by interpolation. It follows that under these conditions, any revealed combintation of in-domain and 1 out-of-domain row are independent of the quotient.

Finally, we show that . Because of the constraints on , distinct in-domain indeterminates give rise to distinct indeterminates for . In particular,

  1. is of size because of the multiplicative order of , and
  2. since all are sampled from the same coset, there is no such that , since that would imply be an element of a 2-adic subgroup, violating the second constraint on .

The prover must reject such that and have a non-empty intersection. In this case, contributes another distinct elements to , proving . In the non-interactive case, the probability of sampling a malicious is negligible and may safely by ignored.

Note that we cannot apply the same argument to the second out-of-domain row because after substitutions it maps to which repeats . Therefore, we must have a second argument to show that the second out-of-domain row is also independent of the trace, which follows below.

Consider the modified protocol where the prover sends not one -tuple of out-of-domain trace rows corresponding to the preimage of , but -many -tuples of out-of-domain trace rows corresponding to the preimages of for a primitive -th root of unity . The extra margin on the bound on the number of trace randomizers guarantees that even these extension-field rows are independent of the trace (as well as uniform). Consequently, the images of these -tuples are independent of the trace (though not necessarily uniform).

From the segmentation equation

one obtains a bijection between and . To see this, substitute for all of to obtain equations or one equation of -vectors involving an invertible matrix and an invertible Hadamard product.

It follows that the set is bijectively equivalent to . According to the definition of the randomized segments, and note that is exactly the first out-of-domain row of the randomized quotient table, which was already established to be independent of the trace (as well as uniform). Considering this first out-of-domain row fixed, there is also a bijective equivalence between and , which is exactly the second out-of-domain row. It follows that even this second out-of-domain row is a deterministic image of a variable that is independent of the trace.

Consequently, the distinguisher in the zero-knowledge game for this modified protocol cannot use this second out-of-domain row to his advantage. It follows that the distinguisher in the zero-knowledge game for the original protocol, which has strictly less information, cannot use it either.

Simulation

The simulator takes the trace, adjoins the batch-randomizer, and randomizes the trace polynomials authentically. There is no guarantee that the resulting quotient is low degree. However, after computing , the simulator factors for random values until a linear factor is found. The simulator proceeds to use this for the DEEP challenge along with a random quotient of the right degree such that to populate the quotient table with. The simulator randomizes the quotient table. All field elements in the transcript are, by the above arguments, guaranteed to be independent of the trace. Consequently, no distinguisher has any advantage over a random guess. Moreover, the switch between and ensures that the verifier accepts.

Zero-Knowledge of the Interactive and Non-Interactive Proofs

Zero-Knowledge IOP to Zero-Knowledge IP

BCS, §6 & §7 presents and analyzes the canonical IOP-to-NIROP transformation. The analysis shows that that transformation retains zero-knowledge.

Triton VM uses Merkle trees without salts (or any other form of hiding commitment scheme) but otherwise the same transformation. However, the BCS argument that zero-knowledge is retained, fails when this change is applied. So below we articulate a new one. This argument is specific to the context of STARKs and may fail in a more general IOP context.

The objects that are introduced by the BCS transform and that are a priori capable of leaking information are the Merkle authentication paths and Merkle roots. Without salts, these objects are images of data that should remain hidden.

Distinguish on the one hand Merkle trees built from the batch codeword, or from codewords downstream from it; from on the other hand, Merkle trees built from low-degree-extended trace or quotient tables. Since the batch contains a batch randomizer, the batch codeword is a uniformly random Reed-Solomon codeword and perfectly independent of the trace. Therefore, even if the complete list of leaf-preimages to this Merkle root or of any Merkle root of a codeword downstream from it were released, that release would leak no information about the trace. It follows that the Merkle roots and authentication paths (or authentication structures, in case they are compressed) corresponding to the batch codeword or codewords downstream from it are independent of the trace.

What remains is the Merkle trees built out of the low-degree-extended trace and quotient tables, with the important feature that both are randomized using the respective strategies described above. For these Merkle trees we quantitatively bound the the probability that information is leaked and show that this probability is negligible and concretely irrelevant.

Consider instead of the internal Merkle nodes and Merkle roots, the complete list of leafs, whose preimages are rows in the low-degree-extended trace and quotient tables. Clearly the Merkle authentication paths and roots can be computed from this information, so it suffices to bound the amount of information leaked by these leafs instead.

Consider the event in which the distinguisher recognizes one of these leaf digests because the digest appears as the image field of a list of preimage-and-image pairs produced by invoking the random oracle times. (These invocations may even happen after the distinguisher receives the transcript.) If this event happens then all bets about concealing the trace are off because the distinguisher can infer the value from one more row than accounted for. If this event does not happen, then all observed leaf digests are new and therefore leak no information about their corresponding preimages.

Consider first the low-degree-extended (and randomized) main trace. In order for the distinguisher to sample a preimage-and-image pair and row index whose image is observed as the leaf digest for that row, the distinguisher must make a correct guess at the entire set of main trace randomizers. (We consider the trace fixed.) The remaining 1 coefficient of margin on the number of randomizers per column means that there are (number of columns) variables left to guess. Any one preimage-image pair from the list corresponds to -many triples consisting of one preimage, one image, and one row index. So for every hash invocation, the distinguisher can test distinct guesses for the randomizers. The distinguisher is successful if he samples the correct set of main trace randomizers in any one of these guesses. The search space is so the probability of the distinguisher gleaning information from the main trace is no greater than .

An analogous argument holds for the auxiliary trace, where the number of columns is and the columns contain extension field elements. So the probability that the distinguisher gleans information from the auxiliary table is no greater than .

For the quotient table, and considering the randomizers used for quotient table randomization fixed, any given row corresponds to quotient segments and, via the segmentation equation, to values of the quotient . That quotient value itself corresponds to -many potential values of the -vector of randomized trace polynomials as preimages, where is at least , the number of constraints. The use of the term preimage here denotes not the inverse image of hash function evaluation but evaluation of the map that composes a) evaluation of the AIR constraints; b) division of the zerofiers; and c) taking the weighted linear sum.

If the AIR circuit is not injective, then and we bound as follows. Let be the degree of the AIR. Then there are monomials of degree or less in variables which correspond to a -tuple of in-or-out-of-domain rows. To see this, consider that a there are slots on a line to fill with stars and bars and the resulting arrangement corresponds bijectively to a monomial of exactly degree in variables. Interpret the one extra variable as an imaginary one used to homogenize all monomials of non-max degree; then there are monomials of degree at most in variables.

Any value of the quotient is a linear combination of these monomials. It follows that the number of corresponding -tuples of -vectors of randomized trace values is bounded by .

Therefore, whenever the distinguisher tests a candidate quotient row and finds that its hash is different from any leaf digest in the transcript, he can discount at most candidate -vectors of trace randomizers as viable candidates. The total number of discountable candidates is at most , which sounds large until you realize that the search space is . The probability of the distinguisher gleaning information from the quotient table is therefore bounded by

In conclusion, the probability that the computationally bounded distinguisher, who limits himself to invocations of the random oracle, finds in the transcript one of the responses to his random oracle queries, is bounded by

Zero-Knowledge IP to Zero-Knowledge NIP

Applying the Fiat-Shamir transform does not affect the distribution of the transcript. It does, however, affect the simulator who needs to know the value of the challenge before producing the commitments from which it is pseudorandomly derived. To achieve this, the simulator is defined relative to the programmable random oracle model, which enables him to specify (a sparse list of) query-response pairs that the random oracle must abide by.