PCP – A Toy Protocol

(Ingredient 4 of 5 in the PCP overview.)

A toy PCP protocol for Quad-SAT

We now have enough tools to describe a Quad-SAT protocol that will break the hearts of FedEx drivers everywhere. In summary, the overview of this protocol is going to be the following:

Let’s dive in.

Setup

In sum-check, we saw we needed a bijection of into . So let’s fix this notation now (it is annoying, I’m sorry). We’ll let be a set of size and set . This means we have a bijection from , so we can rewrite the type-signature of to be

The contents of the phone books will take us a while to describe, but we can actually describe the posters right now, and we’ll do so. Earlier when describing sum-check, we alluded to the following theorem, but we’ll state it explicitly now:


Theorem (Existence of the low-degree extension)

Suppose is any function. Then there exists a unique polynomial , which agrees with on the values of and has degree at most in each coordinate. Moreover, this polynomial can be easily computed given the values of .

Proof: Lagrange interpolation and induction on .


We saw this earlier in the special case and , where we constructed the multilinear polynomial out of eight initial values.

In any case, the posters are generated as follows. Peggy takes her known assignment and extends it to a polynomial

using the above theorem; by abuse of notation, we’ll also write . She then prints the two posters we described earlier for the point-versus-line test.

Taking a random linear combination

The first step of the reduction is to try and generate just a single equation to check, rather than have to check all of them. There is a straightforward (but inefficient; we’ll improve it later) way to do this: take a random linear combination of the equations (there are possible combinations).

To be really verbose, if , …, were the equations, Victor picks random weights , …, in and takes the equation . In fact, imagine the title on the cover of the phone book is given by the weights . Since both parties know , …, , they agree on which equation is referenced by the weights.

We’ll just check one such random linear combination. This is good enough because, in fact, if an assignment of the variables fails even one of the equations, it will fail the collated equation with probability — exactly! (To see this, suppose that equation was failed by the assignment . Then, for any fixed choice of , there is always exactly one choice of which makes the collated equation true, while the other all fail.)

To emphasize again: Peggy is printing phone books right now and we only use one. Look, I’m sorry, okay?

Sum-checking the equation (or: how to print the phone book)

Let’s zoom in on one linear combination to use sum-check on. (In other words, pick only one of the phone books at random.) Let’s agree to describe the equation using the notation

In other words, we’ve changed notation so both the variables and the coefficients are indexed by vectors in . When we actually implement this protocol, the coefficients need to be actually computed: they came out of . (So for example, the value of above is given by times the constant term of , plus times the constant term of , etc.)

Our sum-check protocol that we talked about earlier used a sequence . For our purposes, we have these quadratic equations, and so it’ll be convenient for us if we alter the protocol to use pairs instead. In other words, rather than our variables will be indexed instead in the following way:

Hence Peggy is trying to convince Victor that

In this modified sum-check protocol, Victor picks the indices two at a time. So in the step where Victor picked in the previous step, he instead picks and at once. Then instead of picking an , he picks a pair and so on.

Then, to run the protocol, the entries of the phone book are going to correspond to

in place of what we called in the sum-check section.

I want to stress now the tildes above are actually hiding a lot of work. Let’s unpack it a bit: what does mean? After all, when you unwind this notational mess we wrote, we realize that the ’s and ’s came out of the coefficients of the original equations .

The answer is that both Victor and Peggy have a lot of arithmetic to do. Specifically, for Peggy, when she’s printing this phone book for , needs to apply the extension result three times:

Victor has to do the same work for and . Victor can do this, because he picked the ’s, as he computed the coefficients of his linear combination too. But Victor does not do the last step of computing : for that, he just refers to the poster Peggy gave him, which conveniently happens to have a table of values of .

Now we can actually finally describe the full contents of the phone book. It’s not simply a table of values of ! We saw in the sum-check protocol that we needed a lot of intermediate steps too (like the , , ). So the contents of this phone book include, for every index , every single possible result that Victor would need to run sum-check at the th step. That is, the th part of this phone book is a big directory where, for each possible choice of indices , Peggy has printed the two-variable polynomial in that arises from sum-check. (There are two variables rather than one now, because are selected in pairs.)

This gives Victor a non-interactive way to run sum-check. Rather than ask Peggy, consult the already printed phone book. Inefficient? Yes. Works? Also yes.

Finishing up

Once Victor runs through the sum-check protocol, at the end he has a random and received the checked the phone book for .

Assuming it checks out, his other task is to verify that the accompanying posters that Peggy sent — that is, the table of values and associated to — look like they mostly come from a low-degree polynomial. Unlike the sum-check step where we needed to hack the earlier procedure, this step is a direct application of line-versus-point test, without modification.

Up until now the phone book and posters haven’t interacted. So Victor has to do one more check: he makes sure that the value of he got from the phone book in fact matches the value corresponding to the poster . In other words, he does the arduous task of computing the extensions and , and finally verifies that

is actually true.

Soundness analysis

Let’s think through what happens if Peggy tries to cheat. So we have some Quad-SAT instance ( quadratic equations in variables), and Peggy has some tuple that’s not a solution. Or… who knows, maybe Peggy doesn’t even have values at all, just a bunch of phone books and posters full of numbers.

Well, first off, if Peggy doesn’t actually have values , the posters and can’t possibly represent a low-degree polynomial. So the line-versus-point test will fail (with very high probability).

Now assuming the line-versus-point test passes, we can assume Peggy actually has some values – but it’s not a solution. And at least 99\% of values on the poster are honestly the values of this polynomial.

Victor chose some random coefficients – these tell him which phone book to look at. There is a chance that the random linear combination happens to be satisfied, even though the individual equations aren’t. And of course if the equation is satisfied, Victor’s check will pass.

If not, Victor is going to run the sum-check protocol to try to prove a false claim. We already saw (in the sum-check discussion) why this check is almost certain to fail.

So in summary, if Peggy tries to send Victor anything other than an honest solution, Victor’s check will discover it with very high probability. And this is why our toy PCP protocol works.

Reasons to not be excited by the above protocol

The previous section describes a long procedure that has a PCP flavor, but it suffers from several issues (which is why we say it’s as a toy example).