Skip to content

Motivational Remarks

Setting the stage for ring-switching

Recall what our goal is: we start with a huge-field polynomial t(X0,,X1)t(X_0, \ldots , X_{\ell - 1}) over Tτ\mathcal{T}_\tau; we assume that we have committed to it. Our goal is to evaluate not tt, but rather its κ\kappa-fold refinement t(X0,,X+κ1)t'(X_0, \ldots , X_{\ell + \kappa - 1}), a polynomial over Tτκ\mathcal{T}_{\tau - \kappa}. Here, κ{0,,τ}\kappa \in \{0, \ldots , \tau\} is a parameter.

Thus, we fix an evaluation point (r0,,r+κ1)Tτ+κ(r_0, \ldots, r_{\ell + \kappa - 1}) \in \mathcal{T}_\tau^{\ell + \kappa}. Our goal is to learn t(r0,,r+κ1)t'(r_0, \ldots, r_{\ell + \kappa - 1}). More specifically, our goal is to reduce the problem of learning t(r0,,r+κ1)t'(r_0, \ldots, r_{\ell + \kappa - 1}) to that of learning t(r0,,r1)t(r'_0, \ldots , r'_{\ell - 1}), for some further point (r0,,r1)Tτ(r'_0, \ldots , r'_{\ell - 1}) \in \mathcal{T}_\tau^\ell. In words: we want to reduce the problem of evaluating a refinement of tt to the problem of evaluating tt itself.

Why This is Hard

Given the ability to evaluate t(X0,,X1)t(X_0, \ldots , X_{\ell - 1}), how do we bootstrap that into the ability to evaluate its refinement t(X0,,X+κ1)t'(X_0, \ldots , X_{\ell + \kappa - 1})? This seems like a tricky problem, because the latter task involves dealing "individually" with substrings of tt's coefficients, in a way that goes beyond what we're allowed to do when we merely evaluate tt in a blackbox way. Indeed, evaluating t(X0,,X1)t(X_0, \ldots , X_{\ell - 1}) amounts to dotting tt's Lagrange coefficient vector (t(v))vB\left( t(v) \right)_{v \in \mathcal{B}_\ell} with some tensor i=01(1ri,ri)\bigotimes_{i = 0}^{\ell - 1} (1 - r'_i, r'_i), a "coarse" operation. What we want to do is dot the refined vector (t(v))vB+κ\left( t'(v) \right)_{v \in \mathcal{B}_{\ell + \kappa}} with a longer tensor i=0+κ1(1ri,ri)\bigotimes_{i = 0}^{\ell + \kappa - 1} (1 - r_i, r_i). How do we gain this "refined" sort of access, given only evaluation access to tt itself?

As an exercise, you can think about trying to "lift" tt-evaluation to tt'-evaluation. The simplest possibility would be if the verifier could, by evaluating tt at just a single point—and doing some amount of local work, let's say—thereby evaluate tt'. To learn its desired thing t(r0,,r+κ1)t'(r_0, \ldots, r_{\ell + \kappa - 1}), where should the verifier evaluate tt? Maybe at the truncated point (rκ,,r+κ1)(r_\kappa, \ldots , r_{\ell + \kappa - 1})—would this information, on its own, be enough? As we argue in [DP24], the answer is no; and nor can any single evaluation of tt be enough on its own (i.e., without interaction with the prover, and so on).

In this note, we show how 2κ2^\kappa evaluations of tt at different points—specifically, at a componentwise Galois orbit of (rκ,,r+κ1)(r_\kappa, \ldots , r_{\ell + \kappa - 1})—are enough to learn t(r0,,r+κ1)t'(r_0, \ldots, r_{\ell + \kappa - 1}). The approach we pursue—namely, ring-switching—gives an alternative to the Galois-theoretic one, which turns out to be more efficient than that one is.

Indeed, while evaluating tt at (rκ,,r+κ1)(r_\kappa, \ldots , r_{\ell + \kappa - 1}) alone is indeed not enough, it becomes enough if we operate over a larger ring that contains Tτ\mathcal{T}_\tau as a subring. In fact, that larger ring is nothing other than the tensor algebra.

Sum Claims

Actually, for technical reasons, we are going to process our evaluation claim s=?t(r0,,r+κ1)s \stackrel{?}= t'(r_0, \ldots, r_{\ell + \kappa - 1}) in two steps. First, we will reduce our initial evaluation claim to a sum claim about the underlying polynomial t(X0,,X1)t(X_0, \ldots , X_{\ell - 1}). By definition, a sum claim amounts to a claim of the form

s0=?vBt(v)A(v),\begin{equation*}s_0 \stackrel{?}= \sum_{v \in \mathcal{B}_\ell} t(v) \cdot A(v),\end{equation*}

where A(X0,,X1)A(X_0, \ldots, X_{\ell - 1}) is some other \ell-variate multilinear over Tτ\mathcal{T}_\tau (in particular, it's a transparent polynomial that the verifier can simply evaluate).

This kind of reduction amounts to progress, since we can always use the sumcheck protocol on claims of that latter sort.

Thus, for now, it's enough to reduce our evaluation claim on tt' to a sum claim on tt. This is actually what we will set out to do in ring-switching.