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:
- Peggy prints phone books, one phone book each for each linear combination of the given Quad-SAT equations. We’ll describe the details of the phone book contents later.
- Peggy additionally prints the two posters corresponding to a low-degree polynomial extension of (we describe this exactly in the next section).
- Victor picks a random phone book and runs sum-check on it.
- Victor runs a low-degree test on the posters.
- Victor makes sure that the phone book value he read is consistent with the posters.
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:
- Peggy views as a function and extends it to a polynomial using the above; this lets us define as a bona fide -variate polynomial.
- Peggy does the same for .
- Finally, Peggy does the same on , extending it to . (However, this step is the same across all the phone books, so it only happens once.)
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).
-
Amount of reading: The amount of reading on Victor’s part is not like we promised. The low-degree testing step with the posters used entries, but the sum-check required reading roughly
entries from the phone book. The PCP theorem promises we can get that down to (and in fact not just elements of , but actually bits) but that’s beyond this post’s scope.
- Length of proof: The procedure above involved mailing phone books, which is what we in the business call either “unacceptably inefficient” or “fucking terrible”, depending on whether you’re in polite company or not. The next section will show how to get this down to .
-
Time complexity: Even though Victor doesn’t read much, Peggy and Victor both do quite a bit of computation. For example,
- Victor has to compute for his one phone book.
- Peggy needs to do it for every phone book.
-
One other weird thing about this result is that, even though Victor has to read only a small part of Peggy’s proof, he still has to read the entire problem statement, that is, the entire system of equations from the original Quad-SAT. This can feel strange because for Quad-SAT, the problem statement is of similar length to the satisfying assignment!
But there’s nothing to be done about this! Victor has to read the whole problem statement, because there’s no other way for him to know what is actually being proven. Otherwise, a cheating Peggy could change a single symbol in the statement, and turn it into something trivial or irrelevant.