-
Notifications
You must be signed in to change notification settings - Fork 1
/
FRI.tex
1721 lines (1511 loc) · 89.3 KB
/
FRI.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%\documentclass[10pt,a4paper,oneside]{article}
% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
%\documentclass[11pt,article,oneside]{memoir}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
%\usepackage{lmodern}
\documentclass[11pt]{article}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[total={7in,9in}]{geometry}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage[bookmarks, colorlinks=false, pdftitle={A summary on the FRI low degree test}, pdfauthor={author}]{hyperref}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{tikz}
\usepackage{titlesec}
\usepackage{float}
\usetikzlibrary{shapes, fit}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\setlength{\marginparwidth}{3cm}
\usepackage{url}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage{nicefrac}
\usepackage[n,advantage,operators,sets,adversary,landau,probability,notions,logic,ff,mm,primitives,events, complexity,asymptotics,keys]{cryptocode}
\usepackage{listings}
\usepackage{footnote}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{%frame=tb,https://www.overleaf.com/project/608bc77c801b16bbadb2210a
language=sh,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3
}
\RequirePackage{etex}
% Theorem environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newtheorem{thm}{Theorem}[]
\newtheorem*{thm*}{Theorem}
\newtheorem{cor}{Corollary}[]
\newtheorem{lem}[]{Lemma}
\newtheorem{prop}[]{Proposition}
\newtheorem{conj}[]{Conjecture}
\newtheorem{protocol}[]{Protocol}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem*{defn*}{Definition}
\theoremstyle{remark}
\newtheorem{rem}[thm]{Remark}
\newtheorem{rems}[thm]{Remarks}
\newtheorem{rem*}[]{Remark}
% MATH %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\Z}{\mathbb{Z}}
\DeclareMathOperator{\N}{\mathbb{N}}
\renewcommand{\PP}{\mathbf{P}}
\newcommand{\OO}{\mathcal{O}}
\DeclareMathOperator{\param}{\mathsf{Par}}
\DeclareMathOperator{\gen}{\mathsf{Gen}}
\DeclareMathOperator{\setup}{\mathsf{Setup}}
\DeclareMathOperator{\indexer}{\mathsf{Index}}
\DeclareMathOperator{\comm}{\mathsf{Com}}
\DeclareMathOperator{\open}{\mathsf{Open}}
\DeclareMathOperator{\prove}{\mathsf{Prove}}
\DeclareMathOperator{\extract}{\mathsf{Extract}}
\DeclareMathOperator{\simulate}{\mathsf{Sim}}
\DeclareMathOperator{\RS}{\mathsf{RS}}
\DeclareMathOperator{\FFT}{\mathsf{FFT}}
\DeclareMathOperator{\Quotient}{\mathsf{Quotient}}
\DeclareMathOperator{\agree}{\mathsf{agree}}
\renewcommand{\adv}{\mathsf{Adv}}
\author{%
Ulrich Hab{\"o}ck\thanks{This work is supported by Horizenlabs, Inc., and Orbis Labs.}
\\\\
Orbis Labs
\\
\texttt{[email protected]}
}
\begin{document}
%\frontmatter
\title{%
A summary on the FRI low degree test
%\\
%{\small Version 1.2}
%
}
\date{%
\today\footnote{%
This updated version of the summary corrects a typo in the soundness error formula of Theorem \ref{thm:BatchedFRISoundness}.
Furthermore, the concrete security parameters are now changed to the case of algebraic batching .
}
}
\maketitle
%\setlength{\parskip}{5mm}
\begin{abstract}
This document is an informal summary on the FRI low degree test \cite{FRI}, \cite{ProximityGaps}, and DEEP algebraic linking from \cite{DEEPFRI}.
Based on its most recent soundness analysis \cite{ProximityGaps}, we discuss parameter settings for practical security levels, how FRI is turned into a polynomial commitment scheme, and the soundness of DEEP sampling in the list decoding regime.
In particular, we illustrate the DEEP method applied to proving satisfiability of algebraic intermediate representations and prove a soundness error bound which slightly improves the one in \cite{ethSTARK}.
\end{abstract}
%Keywords: SNARKs, recursive proofs, aggregation scheme
%\begin{KeepFromToc}
\tableofcontents
%\end{KeepFromToc}
%\mainmatter
\section{Introduction}
FRI, in full length \textit{Fast Reed-Solomon Code Interactive Oracle Proof of Proximity}, is a low-degree test for functions on an FFT domain, i.e. a smooth multiplicative subgroup $D$ of a finite field $F$.
Given a function
\[
f: D\longrightarrow F
\]
FRI proves that $f$ corresponds to a polynomial of low degree with respect to the size of $D$.
The oracles provided by the FRI prover are again functions on $D$, or a subdomain of it, and the verifier queries the values at points from their domain only.
Due to the small size of $D$ (compared to the cryptographically large sampling spaces of polynomial IOPs) the key tool for distinguishing one polynomial from another is statistical sampling.
However, a statistical test can only assure \textit{proximity}, which we measure by the fractional Hamming distance
\begin{equation*}
\delta(f, g) = \frac{1}{|D|}\cdot \big|\left\{x\in D: f(x)\neq g(x)\right\}\big|.
\end{equation*}
%(The smaller the distance the more samples are needed.)
In FRI the prover convinces the verifier that a given function $f: D\longrightarrow F$ is \textit{$\theta$-close} (and not necessarily equal) to a low-degree polynomial, i.e.
\begin{equation*}
\delta(f, p) \leq \theta,
\end{equation*}
for some polynomial $p(X)$ of specified maximum degree.
In words, $f$ agrees with $p(X)$ on a set $A\subseteq D$ of density $\frac{|A|}{|D|} \geq 1-\theta$.
In applications the agreement set is chosen large enough to infer global properties on the low degree polynomial.
%This step is called \textit{algebraic linking} and will be explained in the course of this writeup.
It is exactly this inference principle which makes FRI applicable to proving algebraic relations between a set of low-degree polynomials, might it be circuit satisfiability or the evaluation identities for building a polynomial commitment scheme.
\textit{We stress that fact that this summary does not present any novelties.}
Instead it is an outcome of my learnings when reading the papers \cite{ProximityGaps}, \cite{DEEPFRI}, \cite{FRI}, \cite{Redshift} and \cite{ethSTARK}.
The document provides an overview of FRI and its soundness analysis, including some background on decoding Reed-Solomon codes.
It discusses the DEEP method and how it is related to polynomial commitment schemes and we sketch the more general notion of list polynomial commitment schemes \cite{Redshift}.
Finally we illustrate how soundness error bounds are proven for the DEEP method in the list decoding regime.
In the course the latter we clarify two points of \cite{ethSTARK}, which are the usage of degree correction factors (these are not needed for the DEEP method), and the quadratic occurence of the decoder list size bound in their soundness error formula, which can be replaced by a linear term.
We assume that the reader knows (public-coin) interactive oracle proofs and their security notions \cite{IOPs}, such as soundness, proof of knowledge, and statistical (i.e. perfect) honest verifier zero-knowledge.
Any IOP with these security properties can be compiled into a succinct non-interact-ive argument of knowledge in the random oracle model \cite{IOPs}:
The prover oracle messages are committed by Merkle roots using the random oracle, and the verifier coins are the answers of the random oracle given the prover messages as its input.
\subsection{Notation}
Throughout the document we assume that the size of the sampling domain $D$ and the number of coefficients $k$ are both powers of two, and that the multiplicative subgroup $F^*$ of the finite field $F$ is smooth enough to contain a subgroup of order $k$ and $|D|$.
The absolute Hamming distance between two function $f,g\in F^D$ is
\begin{equation*}
\Delta(f, g) = \big|\left\{x\in D: f(x)\neq g(x)\right\}\big|,
\end{equation*}
and we shall write
\[
\delta(f, g) = \frac{1}{|D|}\cdot \Delta(f,g)
\]
for its fractional variant.
Given any subset $V\subseteq F^D$, we denote by
\[
\Delta(f, V) = \min_{v\in V} \Delta(f,v)
\]
the minimal distance of $f\in F^D$ to $V$, and likewise we define the minimal fractional Hamming distance.
We denote by
\begin{equation*}
\RS_k[F,D] = \big\{ \left.p(x)\right|_{x\in D} : p(X)\in F[X], \deg p(X) \leq k-1 \big\}
\end{equation*}
the Reed-Solomon code of rate $\rho = \frac{k}{n}$ over the domain of definition $D\subseteq F^*$.
(Here, $p(x)|_{x\in D}$ denotes the domain evaluation, i.e. the functional restriction of $p(x)$ to $D$.)
Whenever we say that a polynomial $p(X)$ belongs to $\RS_k[F,D]$, we mean that its domain evaluation $p(x)|_{x\in D}$ is a code word.
In the context of oracle proofs, we denote oracles for functions $f\in F^D$ by
$\big[ f \big]$, and occasionally call them \textit{domain evaluation oracles} to distinguish from the oracle notion of univariate polynomial IOPs \cite{DARK}, which models an ideal polynomial commitment scheme.
In order to a closer alignment with the compiled protocol in the random oracle model, we prefer to say that a party $P$ (the prover) ``sends'' $[f]$ to another party $V$ (the verifier), meaning that $P$ sets
up the oracle for $f$ and $V$ obtains oracle access for it.
\section{Correlated agreement}
As in polynomial IOPs, building random linear combinations is the core reduction argument in FRI .
While the soundness of it is easily proven in the polynomial model, this is not the case for domain evaluations.
Even in the most elementary case, proving that if with noticeable probability a random linear combination of two given functions $f_0$, $f_1$ is $\theta$-close to a Reed-Solomon codeword, i.e.
\[
\delta\big(f_0 + \lambda\cdot f_1, \RS_k[F,D]\big) \leq \theta,
\]
then a similar proximity would hold for $f_0$ and $f_1$ , is non-trivial, in particular when targeting only a small increase in the distance bound $\theta$.
The most advanced result is the correlated agreement theorem (or \textit{proximity gap theorem}) of Ben-Sasson, et al. \cite{ProximityGaps}.
We state it for the case of algebraic curves, which is typically favored in the context of proof composition.
\begin{thm}
\label{thm:CorrelatedAgreement}
(Correlated agreement theorem, full version of \cite{ProximityGaps}, Theorem 6.1 and 6.2)
%in the full paper: Theorem 6.1 and 6.2.
Let $\RS_k = \RS_k[F,D]$ be the Reed-Solomon code over a a finite field $F$ with defining set $D\subseteq F$ and rate $\rho=\frac{k}{|D|}$.
Given a proximity parameter $\theta\in (0,1-\sqrt\rho)$ and words $f_0$,$f_1$,...,$f_{N-1}\in F^D$ for which
\begin{equation*}
\frac{%
\Big|\Big\{\lambda\in F : \delta\big(f_0 + \lambda\cdot f_1 + \ldots + \lambda^{N-1}\cdot f_{N-1}, \RS_k\big) \leq \theta \Big\} \Big|
}{|F|} > \varepsilon,
\end{equation*}
where $\varepsilon$ is as in \eqref{e:epsilonU} and \eqref{e:epsilonJ} below.
Then there exist polynomials $p_0(X)$, $p_1(X)$,...,$p_{N-1}(X)$ belonging to $\RS_k$, and a set $A\subseteq D$ of density
$
\frac{|A|}{|D|}\geq 1 - \theta
$
on which $f_0, \ldots, f_{N-1}$ jointly coincide with $p_0, \ldots, p_{N-1}$, respectively.
In particular,
\begin{equation*}
\delta\big(f_0 + \lambda\cdot f_1 + \ldots + \lambda^{N-1}\cdot f_{N-1}, \RS_k\big) \leq \theta
\end{equation*}
for every $\lambda\in F$.
\end{thm}
The proof of the correlated agreement theorem, including concrete values for the soundness error bound $\varepsilon$, is an algebraic analysis of the Berlekamp-Welch or the Guruswami-Sudan list decoder over the rational function field $K=F(Z)$.
It uses the Polichuk-Spielmann lemma to ``glue together'' the outputs of the decoder for $f_0 + \lambda\cdot f_1 + \ldots +\lambda^{N-1}\cdot f_{N-1}$ over the ``small'' field $F$ by means of the decoder result for the word
\[
f_0 + Z\cdot f_1 + \ldots + Z^{N-1}\cdot f_{N-1} \in K^D
\]
over the infinite field $K$:
If for a noticeable fraction of $\lambda$'s the distance to the Reed-Solomon code is $\leq\theta$, then the same holds over $F(Z)$.
%(The analysis of the Berlekamp-Welch decoder is much more easy than in the list decoding case, see \cite{ProximityGaps}.)
Depending on the decoding regime the following values for $\varepsilon$ are obtained by \cite{ProximityGaps}:
\begin{enumerate}
\item
\textit{Unique decoding regime.}
For $\theta\in \left(0,\frac{1-\rho}{2}\right]$, Theorem \ref{thm:CorrelatedAgreement} holds with
\begin{equation}
\label{e:epsilonU}
\varepsilon = (N-1)\cdot \frac{|D|}{|F|}.
\end{equation}
\item
\textit{List decoding regime.}
For $\theta\in \left(\frac{1-\rho}{2},1-\sqrt\rho\right)$ and setting $\theta =1-\sqrt\rho \cdot\left(1 +\frac{1}{2m}\right)$, with $m\geq 3$, Theorem \ref{thm:CorrelatedAgreement} holds with
\begin{equation}
\label{e:epsilonJ}
\varepsilon = (N-1)\cdot \frac{\left(m + \frac{1}{2}\right)^7}{3\cdot \rho^{\frac{3}{2}} } \cdot \frac{|D|^2}{|F|}.
\end{equation}
%\[
%\varepsilon = (N-1)\cdot \frac{k^2}{|F|\cdot \min\left(\frac{1}{m}, \frac{\sqrt\rho}{10}\right)^7}
%\approx (N-1)\cdot m^7\cdot \rho^{-\frac{3}{2}} \cdot \frac{|D|^2}{|F|}.
%\]
\end{enumerate}
For linear varieties of the form $f_0 + \lambda_1\cdot f_1+ \ldots + \lambda_{N-1}\cdot f_{N-1}$ a similar result holds, with the $(N-1)$- term in \eqref{e:epsilonU} and \eqref{e:epsilonJ} replaced by $1$.
See the full version of \cite{ProximityGaps}, Theorem 4.1 and 5.1.
Note that in contrast to the unique decoding regime, the sampling domain size $|D|$ occurs quadratically in the error bound, and therefore the field needs to be significantly larger to obtain the same magnitude of soundness as in the unique decoding regime.
This quadratic occurrence is inherently connected with the Guruswami-Sudan-Johnson list size bound.
It is conjectured by \cite{DEEPFRI} that Reed-Solomon codes over prime fields $F$ are more ``nicely'' list decodable, even up to capacity bound $1-\rho$, and that the sampling domain size occurs only linearly in the error bound.
We will discuss this conjecture in Section \ref{s:RSConjecture}.
\section{FRI proof of proximity}
%Let $D$ be a multiplicative subgroup of a finite field $F$, $|D|=2^m$, and let be $k$ a non-trivial factor of $|D|$.
Given a function $f\in F^D$ and its domain evaluation oracle
$
[f(x)|_{x\in D}],
$
FRI is an interactive oracle proof for $f$ being close to a word from $\RS_k[F,D]$,
\[
\delta( f, \RS_k[F,D]) \leq \theta,
\]
given a \textit{proximity parameter} $\theta$ of at most the Johnson list decoding bound. % $\theta < 1-\sqrt\rho$.
%
As most interactive oracle proofs, the FRI protocol is comprised of a \textit{commit phase} and a \textit{query phase}.
The commit phase consists of one or several rounds, in which the prover sends domain evaluation oracles to the verifier, who then responds with a random challenge.
That phase of FRI performs a random reduction similar to the one of an inner product argument \cite{BootleGroth}, at least halving the instance size with each step by a linear folding procedure.
In the concluding query phase, the verifier asks for openings of the oracles at random points from their domain of definition.
These openings are then used to check consistency of each reduction step of the commit phase.
\subsection{Reduction}
The commit phase of FRI starts with the instance to proven, i.e. the polynomial $p_0(X)=p(X)$ and its domain evaluation over $D_0=D$.
This instance is stepwised reduced by means of a random folding procedure, yielding a sequence of polynomials
\[
p_0(X), p_1(X), \ldots , p_r(X)\in F[X]
\]
as words over the domains
\[
D_0\supseteq D_1\supseteq \ldots\supseteq D_r,
\]
respectively, wheras their degree bounds $k_i$, $\deg p_i(X) < k_i$, decrease with the same ratio as the domains.
% where both the degree bounds $\deg p_i(X) < k_i$ as well as the domain size $|D_i|$ at least halve in each step of the reduction.
The quotients
\[
a_i = \frac{k_{i-1}}{k_i} = \frac{|D_{i-1}|}{|D_i|}
\]
are the \textit{reduction factors}, and we throughout assume that $a_i\geq 2$. (By our assumptions on $|D|$ and $k$ the $a_i$ are again powers of two.)
The number of rounds $r\geq 1$, their reduction factors $a_1,\ldots, a_r$ and therefore the decreasing sequence of domains $D_0,\ldots, D_r$, are parameters of FRI.
\begin{protocol}[FRI commit phase]
Given the domain evaluation $[p_0(x)|_{x\in D_0}]$ for the polynomial $p_0(X)\in F[X]$, $\deg p_0(X) < k_0$, the commit phase consists of the following $r$ rounds.
\begin{itemize}
\item
In each round $i$, $1\leq i\leq r$, the prover decomposes the previous polynomial $p_{i-1}(X)$ of $\deg p_{i-1}(X) < k_{i-1}$,
%(In the first round $p_0(X)=p(X)$ and $k_0 =k$.)
according to
\begin{equation}
\label{e:FRIdecomposition}
p_{i-1}(X) = F_0(X^{a_i})+ X\cdot F_1(X^{a_i})+ \ldots +X^{a_{i-1}} \cdot F_{a_i-1}(X^{a_i}),
\end{equation}
where each
\[
\deg F_i(Y) < \frac{k_{i-1}}{a_i} = k_i.
\]
(For $a_i=2$ this is the decomposition into odd and even parts.)
The verifier samples a random challenge $\lambda_i\sample F$, sends it to the prover, which in turn responds with the linear combination
\begin{equation*}
p_i(Y)=F_0(Y)+ \lambda_i \cdot F_1(Y)+ \ldots + \lambda_i^{a_{i-1}} \cdot F_{a_i-1}(Y)
\end{equation*}
as a word on the reduced domain $D_i= D_{i-1}^{a_i} =\{x^{a_i}: x\in D_{i-1}\}$.
That is, it sends
$
[p_i(y)|_{y\in D_i}]
$
to the verifier.
In the last step however, $i=r$, the polynomial
$p_r(X)\in F[X]$
is revealed in full length instead.
\end{itemize}
\end{protocol}
Let us elaborate on the decomposition \eqref{e:FRIdecomposition} in terms of the reduction map
\[
\pi_i: D_{i-1}\longrightarrow D_i, \quad x\mapsto x^{a_i}.
\]
Notice that for each $y$ in $D_i$, $y= x^{a_i}$, the values of $F_0(y)$,\ldots, $F_{a_i-1}(y)$ are uniquely determined by the values of
\[
F_0(y)+ F_1(y)\cdot X+...+F_{a_i-1}(y)\cdot X^{a_i-1}
\]
on the coset $\pi_i^{-1}(y)=x\cdot\ker(\pi_i)$, and these values are exactly the ones given by $p_{i-1}(X)$.
Hence if $\tau$ is a generator of $\ker(\pi_i)=\{1,\tau,\ldots, \tau^{a_i-1}\}$, then
\begin{equation*}
\begin{aligned}
p_i(\pi_i(x)) &= L_0\left(p_{i-1}\left(\tau^0\cdot x\right),\ldots, p_{i-1}\left(\tau^{a_i-1}\cdot x\right)\right)
\\
&+
\lambda_i\cdot L_1\left(p_{i-1}\left(\tau^0\cdot x\right),\ldots, p_{i-1}\left(\tau^{a_i-1}\cdot x\right)\right)
\\
&+ \ldots
\\
& + \lambda_i^{a_i-1}\cdot L_{a_i-1}\left(p_{i-1}\left(\tau^0\cdot x\right),\ldots, p_{i-1}\left(\tau^{a_i-1}\cdot x\right)\right)
\end{aligned}
\end{equation*}
where $(L_0,...,L_{a_i-1})$ is the Lagrange interpolation map for the coset $x\cdot ker(\pi_i)$.
In other words,
\begin{equation}
\label{e:FRIconsistency}
p_i(\pi_i(x)) = \FFT_{\lambda_i / x}\left(p_{i-1}\left(\tau^0\cdot x\right),\ldots, p_{i-1}\left(\tau^{a_i-1}\cdot x\right)\right),
\end{equation}
that is the Fourier transform of the vector $\big(p_{i-1}\left(\tau^0\cdot x\right),\ldots, p_{i-1}\left(\tau^{a_i-1}\cdot x\right)\big)$, evaluated at $\frac{\lambda_i}{x}$.
This equation will be used to check consistency between the provided oracles.
% FFT(p_{i-1}(X)|_{x\cdot ker})
% evaluated at lambda / x
%
In some situations it is more efficient to compute the values of $p_i(y)$ over $D_i$ directly from the ones of $p_{i-1}(x)$, $x\in D_{i-1}$, using \eqref{e:FRIconsistency}.
In terms of field additions $\mathsf A$, multiplications $\mathsf M$, and FFT operations $\FFT(a_i)$ of size $a_i$,
this can be done\footnotemark in
\footnotetext{%
Using batch inversion to compute $\frac{\lambda_i}{x}$ over $D_i$ costs $2\cdot |D_i|\:\mathsf M$, computing the fiber FFT's costs $|D_i|\cdot a_i\cdot \log(a_i) \cdot (\mathsf M +\mathsf A)$, and evaluating them another $|D_i|\cdot (a_i - 1)\cdot (\mathsf M + \mathsf A)$.
}%
% Computing \lambda_i / x for every x in |D_i| costs
% 2 * |D_i| M,
% using batch inversion. Computing the FFT's for each fiber costs
% |D_i| * a_i * log(a_i) (M + A),
% and evaluating at \lambda_i/x costs another
% |D_i| * (a_i - 1) * (M + A),
% using the Horner scheme. This leads to overall
% |D_i| * ( 1 + a_i + a_i*log a_i) M + |D_i| * ( -1 + a_i + a_i*log a_i) A.
\[
|D_i|\cdot \big((a_i + 1 + a_i\cdot\log a_i)\:\mathsf M + (a_i - 1 + a_i\cdot\log a_i)\:\mathsf A\big)\approx |D_i|\cdot (a_i + 1 + a_i\cdot\log a_i)\:\mathsf M,
\]
compared to
% Taking the random linear combination of the coefficient vectors costs
% a_i * k_i = a_i * |D_i| (multiplications + additions),
% the domain evaluation costs a single FFT(D_i), assuming no coset here.
\[
a_i \cdot k_i \; (\mathsf M + \mathsf A) +
\FFT(|D_i|) \approx |D_i|\cdot (a_i + \log_2 |D_i|) \:\textsf M
\]
when computing the domain evaluation of the random linear combination $p_i(X)$.
Hence using equation \eqref{e:FRIconsistency} is more efficient whenever
\begin{equation}
1 + a_i\cdot \log_2(a_i) < \log_2 |D_i|,
\end{equation}
which holds for most reduction steps when $a_i=2$.
For $a_i = 2^2$ and $a_i = 2^3$ we already obtain $|D_i|>2^{9}$ and $|D_i| > 2^{25}$, respectively.
However, it should be noticed that these counts do not take into account that equation \eqref{e:FRIconsistency} is better parallelizable than the FFT approach.
\subsection{Sampling phase}
In the query phase the verifier samples at random points from the defining domains of the oracles, and use the returned values to check the consistency of all reduction steps.
\begin{protocol}[FRI query phase]
The query phase consists of $s\geq 1$ many rounds.
\begin{itemize}
\item
In each round the verifier samples an $x_0 \in D_0$ uniformly at random, computes $x_1, \ldots, x_r$ recursively via $x_{i}=\pi_{i}(x_{i-1})$, and checks if
\[
p_i(x_i)= \FFT_{\lambda_i / x_i}\big(p_{i-1}(x_{i-1}), p_{i-1}(\tau\cdot x_{i-1}), \ldots, p_{i-1}(\tau^{a_{i-1}}\cdot x_{i-1})\big),
\]
for every $i=1,\ldots,r$, by querying the values of each $p_{i-1}$ over the coset $x_{i-1}\cdot\ker\pi_i$.
\end{itemize}
\end{protocol}
Notice that unlike in \cite{ProximityGaps} we choose $x_0$ uniformly from $D_0$, and form the $x_i$ by projecting $x_{i-1}$ onto $D_i$.
In distribution, this way of sampling is equivalent to the one in the paper, which starts with $x_r\sample D_r$, and then samples $x_{i-1}$ uniformly from the coset $\pi_i^{-1}(x_i)$.
\subsection{Batching}
As for linear polynomial commitment schemes, batching is done via random linear combinations.
We will only discuss the algebraic variant, which uses powers of a single random challenge.
(Again, this is the one favored in the context of proof composition.)
Given a batch of $L$ low-degree polynomials $q_0(X)$, \ldots, $q_{L-1}(X)$, the verifier samples a random challenge $\lambda\sample F$.
The prover computes the linear combination
\begin{equation}
\label{e:FRIbatchPoly}
h(X) = \sum_{i=0}^{L-1} \lambda^i\cdot q_i(X),
\end{equation}
sends the oracle of it,
\[
[h(x)|_{x\in D}],
\]
to the verifier.
Then both prover and verifier continue with FRI for $h$.
Each $x_0\sample D_0=D$ from the query phase of FRI is used to additionally check consistency between the oracle for $h(X)$ and the ones in the batch, $q_0(X),\ldots, q_{L-1}(X)$, using \eqref{e:FRIbatchPoly}.
%As for a FRI reduction step, the soundness error of the batching is
%\[
%\varepsilon_B =(L-1)\cdot \varepsilon,
%\]
%where $\varepsilon$ is the error in the linear variant of the correlated agreement theorem.
\subsection{Soundness}
%\subsubsection{Proven soundness error}
%The proof of the soundness error for FRI is as for Lemma 8.2 in Ben-Sasson, et al., 2020, replacing the error bound of the affine batching step by the algebraic curve variant:
%\begin{prop}[Commit phase soundness error]
%Suppose that the functions $q_i(x)$, $i=0,...,L-1$, have correlated agreement with $\RS_k$ on a set of density of at most $\alpha =\left(1+\frac{1}{2m}\right)\cdot\sqrt\rho$, for $m\geq 3$.
%Then except with probability
%\[
%\left(L-\frac{1}{2}\right) \cdot \frac {\left(m+ \frac{1}{2}\right)^7}{2\cdot\sqrt\rho^3}\cdot \frac{|D_0|^2}{|F|}
%+ \frac{(2m+1)\cdot (|D_0|+1)\cdot \sum_{i=1}^{r} a_i}{|F|}
%\]
%in the randomnesses of the commit phase, the
%probability for passing the query phase is at most $\alpha$.
%\end{prop}
%
%As a consequence we have the following soundness error for batched FRI. This is Theorem 3.8 in Ben-Sasson, et al., 2020, adapted to the algebraic batching case.
The soundness analysis of FRI is based on a strengthening of the correlated agreement theorem, which allows to additionally keep track of the success probability for the FRI query phase by a sub-probability measure $\mu$.
We state that \textit{weighted correlated agreement theorem} in Appendix \ref{s:WeigthedCorrelatedAgreement}.
%For brevity we skip the explicit formulation of that weighted correlated agreement theorem, and refer to the full version of \cite{ProximityGaps}, Section 7.
For proximity parameters close to the Johnson bound, the soundness error of the batched FRI oracle proof is as follows\footnotemark:
\footnotetext{%
We would like to thank Paul Gafni for pointing out a typo in formula \eqref{e:EpsilonFRI} in a previous version of the document.
}
\begin{thm}[Batched FRI soundness error, full version of \cite{ProximityGaps}, Theorem 8.3]
\label{thm:BatchedFRISoundness}
Suppose that $q_i\in F^D$, $i=0,\ldots,L-1$, is a batch of functions given by their domain evaluation oracles.
If an adversary passes batched FRI for $\RS_k[F,D]$ and proximity parameter $\theta =1-\sqrt\rho \cdot \left(1+\frac{1}{2m}\right)$, $m\geq 3$, with a probability larger than
\begin{equation}
\label{e:EpsilonFRI}
\begin{aligned}
\varepsilon = \left(L-\frac{1}{2}\right) \cdot \frac {\left(m+ \frac{1}{2}\right)^7}{3\cdot\sqrt\rho^3}\cdot \frac{|D_0|^2}{|F|}
+ \frac{(2m+1)\cdot (|D_0|+1)\cdot \sum_{i=1}^{r} a_i}{\sqrt{\rho}\cdot |F|} \quad\quad
\\
+(1-\theta)^s ,
\end{aligned}
\end{equation}
then the functions $q_i\in F^D$, $i=0,\ldots,L-1$, have correlated agreement with $RS_k[D,F]$ on a set of density of at least $\alpha >\left(1+\frac{1}{2m}\right)\cdot \sqrt\rho$.
\end{thm}
\begin{rem}
The case of linear batching of two functions $q_0$, $q_1$ corresponds to the case $L=2$, in which $L-\frac{1}{2}=\frac{3}{2}$.
The same is true for affine batching of several functions, its soundness error is obtained from \eqref{e:EpsilonFRI} by replacing $L-\frac{1}{2}$ by $\frac{3}{2}$, see \cite{ProximityGaps}.
\end{rem}
%For proximity parameters below
The first two terms in \eqref{e:EpsilonFRI},
\[
\varepsilon_C= \left(L-\frac{1}{2}\right) \cdot \frac {\left(m+ \frac{1}{2}\right)^7}{3\cdot\sqrt\rho^3}\cdot \frac{|D_0|^2}{|F|}
+ \frac{(2m+1)\cdot (|D_0|+1)\cdot \sum_{i=1}^{r} a_i}{\sqrt{\rho}\cdot |F|},
\]
correspond to soundness error of the commit phase, reflecting the systematic error estimated by the correlated agreement theorem and collected over the batching step and the reduction rounds.
In words,
%if an adversary passes the commit phase such that with a probabability of at least $\varepsilon_C$ (w.r.t. the challenges of the commit phase) the oracles satisfy all consistency checks on a set of density of at least $\alpha = 1-\theta$, then the batch must have correlated agreement with agreement density $\geq \alpha$.
if the oracles in the batch do not share the claimed correlated agreement for $\alpha = 1-\theta$, then except with probability $\varepsilon_C$, the oracles produced during the commit phase cannot be ``nice''.
That is, the set where all consistency checks would hold is \textit{at most} of density $\alpha$.
The remaining term,
\[
\varepsilon_Q = (1-\theta)^s,
\]
is the soundness error of the query phase with $s$ rounds.
This is the probability not to detect such a set of non-``nice'' oracles using $s$ independent samples. %do not satisfy all consistency checks on a set of density $\geq \theta$.
%We point out that for $\theta\leq \frac{1-\rho}{2}$ the soundness error of the commit phase phase is significantly smaller.
\subsection{Example parameters}
One way to settle the parameters is as follows.
For target security level $2^{-\lambda}$, we assure that
\begin{enumerate}
\item
the soundness error for the commit phase is bounded by $\frac{1}{2}\cdot 2^{-\lambda}$.
For that we choose the maximum Johnson proximity $m\geq 3$ so that
\[
\begin{aligned}
\varepsilon_C \leq \frac{1}{2}\cdot 2^{-\lambda},
\end{aligned}
\]
\item
the soundness error of the query phase is bounded by $\frac{1}{2}\cdot 2^{-\lambda}$.
Using $m$ from the first step, we determine the number $s$ of query rounds via
\[
\varepsilon_Q = \sqrt\rho^s \cdot \left(1 + \frac{1}{2m}\right)^s \leq \frac{1}{2}\cdot 2^{-\lambda}.
\]
\end{enumerate}
The following examples\footnotemark consider a situation is similar to the one in plonky2 \cite{PolygonZero}.
\footnotetext{%
In a previous version of the document the example parameters where based on linear batching of FRI.
The current ones consider algebraic batching.
}
We take extensions $F$ of a base field of size $|F_b|=2^{64}$, and sampling domain sizes $|D_0|=2^{12}\cdot\rho^{-1}$, where we vary the blow-up factors $\rho^{-1}$ to the maximum possible for the given security level.
The number of polynomials is taken as $L= 300$, and we assume that these are grouped into
\[
\{100,100,100\}
\]
polynomials, each group committed by a single tree using Merkle caps.
The height for the Merkle caps is chosen to minimize the proof size.
For each blow-up factor we compute the proof size (assuming a hash size of $256$ bits), and as a very coarse measure for the prover complexity the number hashes\footnotemark it needs to compute.
\footnotetext{%
Each call of the hash processes another $r=256$ bits.
}
\subsubsection{67 bits of security}
Such a configuration might be still interesting in practice, as its security can be increased by \textit{grinding} (see \cite{ethSTARK}):
Another $13$ bits proof of work bound to the proof generation, and one obtains overall $80$ bits of security.
\begin{itemize}
\item
With a degree $2$ extension of $F_b$, hence a field size of $128$ bits, the best security level one can obtain for $\rho=2^{-5}$ is about $69$ bits.
The commit phase error is
\[
\varepsilon_C\approx 2^{-68.21},
\]
with Johnson proximity $m=3$.
To have about the same soundness error in the query phase, we demand $s=29$ samples, yielding
\[
\varepsilon_Q \approx 2^{-68.33}.
\]
With a reduction strategy $\{a_1,a_2\}=\{2^4,2^3\}$ we obtain proof sizes of about $104$ kB.
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
$-\log_2(\rho)$ & $m$ & $s$ & $T$ in hashes & $|\pi|$ in bytes
\\\hline\hline
$3$ & $6$ & $50$ & $17.4$ k & $170.2$ k
\\
$4$ & $4$ & $38$ & $34.8$ k & $132.9$ k
\\
$5$ & $3$ & $30$ & $69.6$ k & $107$ k
\\\hline
\end{tabular}
\end{center}
\item
With a degree $3$ extension of $F_b$, hence a field size of $192$ bits, one can choose higher blow-up factors.
For $\rho =2^{-6}$ we obtain $67$ bits security by
\[
\varepsilon_C\approx 2^{-68.00},
\]
where the Johnson proximity is $m=1,487$.
To have about the same soundness error in the query phase, we need only $s=23$ samples, yielding
\[
\varepsilon_Q\approx 2^{-68.99}.
\]
With the same reduction strategy as before, we reduce the proof size down to $89$ kB.
However, this comes at the cost of about tripling the prover cost.
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
$-\log_2(\rho)$ & $m$ & $s$ & $T$ in hashes & $|\pi|$ in bytes
\\\hline\hline
$6$ & $1,427$ & $23$ & $209$ k & $88.9$ k
\\
$8$ & $713$ & $18$ & $836$ k & $72.4$ k
\\
$10$ & $356$ & $14$ & $3,342$ k & $58.4$ k
\\\hline
\end{tabular}
\end{center}
\end{itemize}
\subsubsection{112 bits security}
As in the previous setting, we discuss this level of security as it can be improved by grinding, typically up to $128$ bits.
All configurations use degree $3$ extensions of $F_b$.
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
$-\log_2(\rho)$ & $m$ & $s$ & $T$ in hashes & $|\pi|$ in bytes
\\\hline\hline
$6$ & $16$ & $39$ & $209$ k & $149$ k
\\
$8$ & $7$ & $29$ & $836$ k & $115$ k
\\
$10$ & $3$ & $24$ & $3,342$ k & $99$ k
\\\hline
\end{tabular}
\end{center}
For higher blow-up factors, one needs to increase grinding.
For example, for $-\log_2(\rho) = 11$ the best level of security that can be obtained with degree $3$ extensions is $109$ bits, leaving $19$ bits for grinding.
The proof size decreases down to $88.2$ kB, at the prover cost of $6,684,672$ hashes.
\subsubsection{128 bits security}
These configurations do not use grinding, and hence have quite large proof sizes.
Again, we use degree $3$ extensions of $F_b$.
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
$-\log_2(\rho)$ & $m$ & $s$ & $T$ in hashes & $|\pi|$ in bytes
\\\hline\hline
$3$ & $9$ & $91$ & $26$ k & $322$ k
\\
$4$ & $6$ & $69$ & $52$ k & $250$ k
\\
$5$ & $4$ & $56$ & $104$ k & $208$ k
\\\hline
\end{tabular}
\end{center}
\subsection{Conjectured security}
\label{s:FRIConjecture}
In their line of work on FRI \cite{FRI, DEEPFRI, ProximityGaps} the authors make several conjectures on the soundness of FRI for proximity parameters above the Johnson bound.
In the most recent one, they state the following.
\begin{conj}[Full version of \cite{ProximityGaps}, Conjecture 8.4]
\label{con:FRIsoundness}
There exist constants $c_1$, $c_2$ such that for all $\theta =1-\rho -\eta$, $\eta >0$, the soundness error in the correlated agreement theorem on $f_0,\ldots ,f_{N-1}$ is bounded by
\[
\varepsilon \leq \frac{1}{(\eta\cdot\rho)^{c_1}} \cdot \frac{(N\cdot n)^{c_2}}{|F|}.
\]
\end{conj}
\begin{rem}
For purely linear batching, a similar conjecture is stated.
\end{rem}
We point out that the above conjecture (as well as its corresponding one in \cite{FRI}) is stated isolated from any general conjectured properties on Reed-Solomon codes, such as list decodability up to capacity bound (as done for DEEP method, see Section \ref{s:RSConjecture}).
Instead it is rather justified by ``\textit{[to the best of our knowledge...] nothing seems to contradict}'' .
The authors consider the choice of $c_1=c_2=2$ reasonable, and for fields of characteristic $q>n$ they estimate that $c_1=c_2=1$.
%For characteristics $q<n$, a counter example from Appendix B of \cite{DEEPFRI} contradicts the latter choice of constants.
The $c_1=c_2=1$ assumption is of particular interest for practitioners, as it yields proofs of halve the size as in the $c_1=c_2=2$ case. For example, it is used by the ethSTARK \cite{ethSTARK} (besides its provably secure parameter setting), as well as by plonky2 \cite{PolygonZero}.
%, i.e. their standard recursive configuration, their high rate recursive configuration, as well as an even higher rate config for their final proofs).
\subsection{Adding zero-knowledge}
Zero-knowledge for FRI has to be provided on application level.
In our use cases, the witnesses of an argument correspond to the values of some polynomial $q(X)$ on a given domain $H$ (the proving domain for Plonk, say).
To protect it from being leaked by the queries of the $s$ query rounds (as well as by the final reduction polynomial), one uses a an $H$-disjoint \textit{coset} $a\cdot D$ of the FRI domain, and randomizes $q(X)$ outside the domain $H$.
That is, the batching and the entire FRI reduction takes place on
\[
a\cdot D_0\supseteq a\cdot D_1 \supseteq \ldots \supseteq a\cdot D_{r},
\]
instead of $D_0\supseteq D_1 \supseteq \ldots \subseteq D_r$, where $(a\cdot D_0) \cap H=\emptyset$.
This leads to running batched FRI for $q_i(X)$, $i=0,\ldots, L-1$, over the non-shifted domain $D_0$ on the shifted polynomials
\[
q_i(a\cdot X),
\]
$i=0,\ldots,L-1$, instead.
The number of linear functionals of a polynomial $q_i(X)$ revealed in the course of a single FRI query are:
One in the batching step, $a_i$ many for the coset evaluations in each of the reduction steps $i=1,..,r-1$, and
\[
1+ \deg p_r(X) = \rho\cdot |D_r| = \rho\cdot\frac{ |D_0|}{a_1\cdot a_2\cdot \ldots \cdot a_{r-1}}
\]
linear functionals corresponding to the coefficients of the final reduction polynomial.
With $s$ queries this leads to overall
\begin{equation}
b=s\cdot (1+ \sum_{i=1}^{r-1} a_i + \rho\cdot \frac{|D_0|}{a_1\cdot a_2\cdot \ldots \cdot a_{r-1}})
\end{equation}
linear functionals. To reduce this number, one can add a blinding polynomial
\[
h(x) \in \RS_k[F,D]
\]
to the batch (coming with the cost of an extra commitment).
Then the number of linear functionals revealed on a witness polynomial is reduced to $b= s$.
In both cases, the randomization can be done without moving beyond $|H|-1$ in degree whenever a subset $B\subseteq H$ with $|B|=b$ remains ``unused'', i.e. unconstrained:
Instead of taking
\[
p(X)= p(X) + r(X)\cdot v_H(X),
\]
where $v_H(X)$ is the vanishing polynomial of $H$ and $r(X)$ a random polynomial of $\deg r(X)= b - 1$, one takes $p(X)$ as the polynomial interpolated from the witness values on $H\setminus B$ and randomly chosen values on $B$.
\section{FRI as a polynomial commitment scheme}
\label{ch:Polycommit}
FRI can be turned into a polynomial commitment scheme by means of the evaluation quotients
\begin{equation*}
h(x)=\frac{f(x)-v}{x-z}
\end{equation*}
of a committed word $f\in F^D$.
This approach, called the DEEP method in \cite{DEEPFRI} corresponds to the algebraic linking of the evaluation identity
\begin{equation*}
f(X) = v + h(x)\cdot (X-z)
\end{equation*}
with a low-degree problem on the sampling domain $D$, assuming that $z\notin D$.
(For $z\in D$ the oracle can directly answer with the queried value. We will omit this case throughout our discussion.)
For proximity parameters $\theta$ up to the unique decoding radius one obtains a polynomial commitment scheme in the classical sense (when compiling the oracle proof into an argument using a secure partially disclosable vector commitment).
In the list decoding regime the situation is a bit more subtle due to the non-uniqueness of $\theta$-close code words.
In this case the DEEP method can be viewed as an oracle proof for a more general type of polynomial commitment scheme, called \textit{list polynomial commitment scheme} in \cite{Redshift}.
However, as their notion does not cover the power of correlated agreement, we shall only sketch list polynomial commitment schemes.% and devote a separate section for DEEP algebraic linking.
\subsection{In the unique decoding regime}
For a proximity bound up to the unique decoding radius, i.e. $\theta < \frac{1-\rho}{2}$, the situation is quite simple.
However, there are several ways to algebraically link the evaluation identity with a low-degree test.
\subsubsection{A first construction}
\label{s:naivePC}
We first discuss a naive scheme, in which the maximum degree corresponds to the degree proven by FRI.
\begin{itemize}
\item
\textit{Setup:}
The maximum degree $d=k-1$ is chosen as the maximum degree of polynomials belonging to $\RS_k[F,D]$.
%The size of the sampling domain $S$ is then taken such that $n=|S| = \beta\cdot k$, where the blowup factor is a power of two.
%Notice that $\rho=\frac{k}{n}$ is the rate of the Reed-Solomon code
%$\RS_k=\{p(x)|_{x\in S}: p(X)\in F[X], \deg p(X) \leq d\}$.
\item
\textit{Commit:}
Given a polynomial $p(X)$ of degree $\deg p(X)\leq d$, the prover commits its domain evaluation over $D$, i.e.
\[
\comm(p(X))= [p(x)|_{x\in D}].
\]
%where any partially disclosable vector commitment can be used.
\item
\textit{Evaluation proof: }
%For any $z$ belonging to the evaluation domain, the opening value $v$ is directly provided by the oracle.
Given an opening claim $(z,v)$ with $z\notin D$, the prover engages with the verifier in a batched FRI argument on
\begin{align*}
f_1(x) &= \frac{p(x)-v}{x-z},
\\
f_2(x) &=x\cdot f_1(x)= x\cdot \frac{p(x)-v}{x-z}.
\end{align*}
with proximity bound $\theta = \frac{1-\rho}{2}$.
This proof batches the functions into a random linear combination $f_1(x)+ \lambda\cdot f_2(x) =(1+\lambda \cdot x)\cdot \frac{p(x)-v}{x-z}$, and then runs FRI on it.
The linear term $\lambda \cdot x$ is called \textit{degree correction factor}.
\end{itemize}
We point out that the two functions $f_1$, $f_2$ are not needed to be provided by another oracle, as their evaluations on $D$ can be computed from the values of $p(x)$.
Let us discuss that the evaluation proofs in fact provide a view on a unique polynomial of degree $\leq d$, determined by the values committed in $[p(x)|_{x\in D}]$.
First of all, if the prover passes with a probability $p$ greater than the soundness error of batched FRI on $f_1, f_2$ as above, then there exist two polynomials $p_1(X)$, $p_2(X)$ of degree $\leq d$, and a correlated agreement set $A$ of density $1-\theta \geq \frac{1+\rho}{2}$ such that
\begin{align*}
f_1(x) &=p_1(x) \big|_{x\in A},
\\
x\cdot f_1(x) &= p_2(x)\big|_{x\in A},
\end{align*}
and hence also $x\cdot p_1(x) =p_2(x)\big|_{x\in A}$.
As the density of $A$ is strictly greater than $\rho$, the polynomial $X\cdot p_1(X)-p_2(X)$ has at least $k+1=d+2$ zeroes and hence must be trivial, i.e. $X\cdot p_1(X) = p_2(X)$.
This implies that $\deg p_1(X)\leq d-1$, and hence $p(x)$ coincides on $A$ with the degree $d$ polynomial
\[
P(X)= v + (X-z)\cdot p_1(X),
\]
which evaluates to $v$ at $z$.
Notice that $\delta(p(x),P(X)) < \frac{1-\rho}{2}$, hence a single evaluation proof implies distance to a degree $\leq d$ polynomial of at most the unique decoding radius.
As a consequence, any other evaluation proof (on the same or any other query) is consistent with that unique degree $\leq d$ polynomial, showing that we indeed have a polynomial commitment scheme.
%Suppose that $P_1(X)$ and $P_2(X)$ are degree $d$ polynomials corresponding to the queries $(x_1,v_1)$, $(x_2,v_2)$ as argued above, and let $A_1$, $A_2$ be their agreement set with $p(x)$. As
%\[
%\frac{|A_1\cap A_2|}{|S|} \geq 1-2\cdot\frac{1-\rho}{2}=\rho,
%\]
%we conclude the formal identity $P_1(X)=P_2(X)$.
\subsubsection{The refined scheme}
By similar reasoning (based on a degree $k=d+1$ polynomial vanishing on a set of density $>\rho$) we can remove the degree correction factor in the above naive scheme, running FRI for a proximity parameter $\theta < \frac{1-\rho}{2}$, only on the evaluation quotient of the claim:
For any two evaluation claims $(z_1,v_1)$ and $(z_2, v_2)$ we conclude the existence of polynomials $p_1(X)$, $p_2(X)$ of degree $\leq k-1$ and sets $A_1$, $A_2$ of density $1-\theta > \frac{1+\rho}{2}$ such that
\[
\begin{aligned}
v_1 + (X-z_1)\cdot p_1(X),
\\
v_2 + (X-z_2)\cdot p_2(X),
\end{aligned}
\]
agree with $p(x)$ on $A_1$ and $A_2$, respectively.
Since the density of $A_1\cap A_2$ is at least $1 - 2\cdot \theta > \rho$, it contains at least $k + 1$ points, and by degree we may conclude the formal identity
\[
v_1 + (X-z_1)\cdot p_1(X) = v_2 + (X-z_2)\cdot p_2(X).
\]
%Let $(z',v')$ be any further claim than the first one $(z,v)$, from which we concluded a degree at most $d+1$ polynomial
%\[
%P(X)= v+ (X-z)\cdot p_1(x),
%\]
%agreeing with $p(x)$ on a set $A$ of density $\geq\frac{1+\rho}{2}$.
%Since $\frac{P(X)-v'}{X-z'}$ has enumerator degree $d+1$, then on this set $\frac{p(x)-v'}{x-z'}$ can agree with a polynomial from to $\RS_k = \RS_k[F,D]$ on at most $k=d+1$ points within $A$, if $P(z')\neq v'$.
%This yields an overall agreement density of at most
%\[
%\alpha\left(\frac{p(x)-v'}{x-z'}, q(X)\right)\leq
%\frac{k}{|D|} +\frac{1-\rho}{2}=\frac{1+\rho}{2} ,
%\]
%and hence
%\[
%\delta\left(\frac{p(x)-v'}{x-z'}, \RS_k\right) \geq \frac{1-\rho}{2},
%\]
%which would be detected by the FRI verifier (except for a probability of at most $\varepsilon$).
This leads to the following optimized scheme:
\begin{itemize}
\item
\textit{Setup:}
The maximum degree is $d^+ = k$, where $k$ is the absolute rate of $\RS_k[F,D]$.
\item
\textit{Commit:}
Given a polynomial $p(X)$ of degree $\deg p(X)\leq d^+$, the prover commits its domain evaluation over $D$, i.e.
\[
\comm(p(X))=[p(x)|_{x\in D}].
\]
\item
\textit{Evaluation proof:}
Given an opening claim $(z,v)$ with $z\notin D$, the prover engages with the verifier in a batched FRI argument on
\[
\frac{p(x)-v}{x-z}
\]
with proximity bound $\theta < \frac{1-\rho}{2}$.
\end{itemize}
\subsubsection{Multi-point queries}
\label{s:MultiPoint}
Instead of batching several point evaluation quotients, queries for the values of a polynomial $p(X)$ over a small set
$\Omega=\{z_1,...,z_m\}\subset F\setminus D$ can be also proven via the multi-evaluation identity
\begin{equation}
\label{e:MultiEvalIdentity}
\sum_{i=1}^m (p(X) - v_i) \cdot L(z_i,X) = 0 \mod v_\Omega(X),
\end{equation}
where $v_\Omega(X)= \prod_{j=1}^m (X-z_j)$ is the vanishing polynomial of $\Omega$ and $L(z_i,X)=\prod_{j\neq i} \frac{X-z_j}{z_i-z_j}$ is the Lagrange polynomial at $z_i$.
Similar to the single query case, one argues using the quotient
\begin{equation}
\label{e:MultiPointQuotient}
h(x) = \Quotient(p, \{(z_i,v_i):i=1,\ldots,m\}) = \frac{p(x)-V(x)}{v_\Omega(x)},
\end{equation}
where
\[
V(X)= \sum_{i=1}^m v_i\cdot L(z_i,X)
\]
is the unique degree $\leq m-1$ polynomial that interpolates the claim.
Alternatively, as in the batch evaluation protocol of Boneh, et al. \cite{HaloInfinite}, one can replace the Lagrange kernel with the non-normalized variant $D(z_i,X)=\prod_{j\neq i} (X-z_j)$
\begin{equation}
\label{e:MultiEvalIdentity2}
\sum_{i=1}^m (p(X)-v_i) \cdot D(z_i,X) =
0 \mod v_\Omega(X),
\end{equation}
and work with the quotient
\[
h'(x) =%D(x,x)\cdot \frac{p(x)-V(x)}{v_\Omega(x)}=
\sum_{i=1}^m \frac{p(x)-v_i}{x-z_i}
\]
instead.
%, where
%\begin{align*}
%D(x,x) &= \sum_{i=1}^m D(z_i,z_i)\cdot L(z_i,x)
%\\
% &= \sum_{i=1}^ m \prod_{j\neq i} (z_i-z_j)\cdot \prod_{j\neq i} \frac{x-z_j}{z_i-z_j} = \sum_{i=1}^m \prod_{j\neq i}(x-z_j)
%\\
% &=v_\Omega(x)\cdot \sum_{i=1}^m \frac{1}{x-z_i},
%\end{align*}
%which is a polynomial of degree $\leq m-1$.
In both cases one has to limit the number $m$ of simultaneous queries to some maximum value $m_{max}$, satisfying
\[
k+m_{max} < (1-\theta)\cdot n.
\]
For this it is sufficient to choose $k+m_{max} \leq (1- \theta_0)\cdot n =\frac{k+n}{2}$, and hence $m_{max}\leq\frac{n-k}{2}$.
Even with the lowest blow-up factor we have $n\geq 2\cdot k$, it is thus enough to demand
\begin{equation}
m_{max}\leq \frac{k}{2}.
\end{equation}
In our applications the bound on $m_{max}$ is trivially met, as only few values are queried in the run of the proof.
Furthermore, given a polynomial we use multi-point queries of fixed given size $m\leq m_{max}$.
As a consequence the maximum degree in the setup can be enlarged to $d_{max}= k+m-1$.
\subsection{List commitments}
In the list decoding regime the situation is a bit more subtle.
Running FRI for $\RS_k[F,D]$ with a proximity parameter $\frac{1-\rho}{2}<\theta<1-\sqrt\rho$ on an evaluation quotient
\[
h(x)=\frac{p(x)-v}{x-z}
\]
only proves agreement of $p$ with an evaluation-claim-consistent polynomial of degree $d^+ = k$ on a set of density greater than $\alpha = 1-\theta$.
This might be not large enough for proving the polynomials of different runs of FRI being equal.
In fact, they might differ from claim to claim, unless one runs a joint FRI argument on them.
Assuming $\alpha >\sqrt{\rho^+}$, where $\rho^+ = \frac{k+1}{|D|}$, the Guruswami-Sudan list decoding bound shows that there might be
\[
L\leq \frac{1}{2\cdot \eta\cdot \rho^+}
\]
such code words.
This leads to the idea of list polynomial commitment schemes as in \cite{Redshift} with the following information-theoretic model:
The prover sets up an oracle which contains a list of $l$, $1\leq l\leq L$, low-degree polynomials, and the oracle is allowed to choose which one to evaluate on a given query.
Such extended notion is practical as security proofs in the oracle model are similar to polynomial oracle proofs.
However, the notion of list polynomial oracles as given in \cite{Redshift} is not strong enough to capture correlated agreement, and as a consequence soundness error bounds are too coarse.
For this reason we do not dive into formal details of that model, and instead directly work with DEEP algebraic linking.
\section{DEEP-ALI}
In this section we discuss the \textit{DEEP algebraic linking (DEEP-ALI)} \cite{DEEPFRI} and demonstrate its application to proving satisfiability of algebraic intermediate representations (AIR).
Other representations such as randomized AIR or Plonk \cite{Plonk} can be treated similarly.
\subsection{Algebraic linking and the DEEP method}
Algebraic linking transforms satisfiability of algebraic identities over algebraic subsets of $F$ into proximity problems of low-degree extensions to Reed-Solomon codes over ``outside'' domains (i.e. disjoint to the algebraic subset) .
A family of functions $g_1,\ldots, g_N$ on $\Omega =\{x_1,...,x_n\}$ satisfies an algebraic identity
\[
P(x, g_1(x),\ldots, g_N(x)) = 0
\]
on $\Omega$ ($P$ is a polynomial), if and only if their low-degree extensions $p_1(X)$, $\ldots$, $p_N(X)$ satisfy that $P(X, p_1(X), \ldots, p_N(X))$ is divisible by the vanishing polynomial $v_\Omega(X)=\prod_{i=1}^n (X-x_i)$ of $\Omega$ , i.e. the quotient