From 29c04aaa193b9eecfa1ca4dbb386f553088adfd7 Mon Sep 17 00:00:00 2001 From: mimoo Date: Fri, 18 Oct 2024 03:11:05 +0000 Subject: [PATCH] deploy: 0965f294c98eb747f7cea65a6dd406803406304f --- rfcs/starknet/stark.html | 11 +++++++---- source/starknet/stark.md | 6 +++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/rfcs/starknet/stark.html b/rfcs/starknet/stark.html index 3a1644c..adc9f70 100644 --- a/rfcs/starknet/stark.html +++ b/rfcs/starknet/stark.html @@ -115,11 +115,14 @@

Interactive AIR Arithmetization

Furthermore, the columns of a table can be grouped, which allows the prover to fill the table group by group, using challenges from the verifier in-between. This is useful in order to perform an interactive arithmetization where parts of the encoded circuit needs verifier randomness to be computed.

We give the example of two "original" columns and one "interaction" column, indexed using the multiplicative subgroup of the 16-th roots of unity:

air

-

Here one constraint could be to enforce that col0[i] + col1[i] - col0[i+1] = 0 on every row i except the last one.

-

As the columns of the table are later interpolated over the index domain, such constraints are usually described and applied as polynomials. So the previous example constraint would look like the following polynomial:

+ +

The first phase of the Starknet STARK protocol is to iteratively construct the trace tables (what we previously called interactive arithmetization). The prover sends commitments to parts of the table, and receives verifier challenges in between.

@@ -138,7 +141,7 @@

Composition Polynomial

As we want to avoid having to go through many FRI checks, the verifier sends a challenge α which the prover can use to aggregate all of the constraint quotient polynomials into a composition polynomial h(x):=i=0Ci(x)Di(x)·αi.

This composition polynomial is quite big, so the prover provides a commitment to chunks or columns of the composition polynomials, interpreting h as h(x)=ihi(x)xi.

-

.

+

Finally, to allow the verifier to check that h has correctly been committed, Schwartz-Zippel is used with a random verifier challenge called the "oods point". Specifically, the verifier evaluates the following and check that they match: