1
$\begingroup$

Suppose we have $n$ public elements $x_1,\ldots,x_n$, say elements of an elliptic curve $E$ (but maybe also $\mathbb{F}_p^*$ or $\mathbb{Z}_N^*$ with multiplication instead of sum), and an element $x$ assumed to be equal to the sum $x_1+\ldots+x_n$ (or product).

Can we verify the relation $x = x_1 + \ldots + x_n$ in less than $O(n)$ operations, and with a constant or high soundness?

Could the sum-check protocol be adapted to this use-case?

$\endgroup$
2
  • 1
    $\begingroup$ If elements $x_i$ are public (as stated), and $x$ is public too (we must know something about it anyway), what's wrong with computing $x_1 + \ldots + x_n$ then comparing to $x$? $\endgroup$
    – fgrieu
    Commented Aug 28 at 11:47
  • 1
    $\begingroup$ I am wondering if it can be done faster. Something like an additive Merkle tree where we would only check $O(\log{n})$ additions. So we can think of a PCP type argument with the prover providing oracle access to $(x_1,\ldots,x_n)$, the value $x$, and a small proof $\pi=o(n)$ which verifies the relation in $o(n)$ accesses to the list. And preferably so that the soundness probability is high, preferably constant. $\endgroup$
    – Kolja
    Commented Aug 28 at 12:08

1 Answer 1

2
$\begingroup$

No, we can't verify the relation $x = x_1+\cdots+x_n$ in less than $\mathcal O(n)$ operations. This holds even with some of the work offloaded to an helper, unless we trust them.

Argument (without a helper): changing any $x_i$ or $x$ to another value breaks (or makes) the equality, therefore each of the $n$ inputs $x_i$ must be taken into account (in full to prove equality, at least in part to disprove it), thus cost is at least $\mathcal O(n)$.

We can offload the work to some helper and discount the work they perform. It's trivial if we trust that helper: we just rely on their say, and have constant work. It's also possible if we don't trust them, but in that case, we still need to perform $\mathcal O(n)$ operations ourselves.

Detailed argument (with an helper that we don't trust): Consider any public protocol attempting to allow what's asked. A rogue helper can randomly pick a $j\in\{1,\cdots,n\}$. If they try to make us believe in equality when it does not hold, they compute $x'_j=x+x_j-\sum x_j$, otherwise they pick any $x'_j\ne x_j$. Then they perform whatever the protocol requires as if the data set contained that $x'_j\ne x_j$ instead of $x_j$. The protocol can't allow us to detect their cheating unless it processes on our side the particular value $x_j$. Thus for constant residual probability $p$ of not detecting inequality, the protocol needs to process on our side as least $\lceil(1-p)\,n\rceil$ among the $n$ inputs $x_i$ (at least in part), thus cost is at least $\mathcal O(n)$ operations.

Note: I'm not claiming that my operations are group operations.

$\endgroup$
2
  • 1
    $\begingroup$ Offloading the work to a helper is implicit. Otherwise the question doesn't make much sense as the bare minimum is to read all the $O(n)$ inputs. What I am asking is if there is a prover who can create a small proof which can be verified quickly, but the proof might have a large computation time, it might take even $O(n^2)$ to compute. I feel like your arguments are too handwavy and not quite true. I had the same ones. But, in my defence, thigns like the PCP theorem exist, where you can prove a large sentence in only a constant number of queries, which is rather counterintuitive. $\endgroup$
    – Kolja
    Commented Aug 28 at 15:20
  • 1
    $\begingroup$ @Kojla: I stand by my impossibility statement, and I tried to make my argument more convincing in the rogue helper case, while you made the above comment, then after. But I admit I have read the question's "operations" as "cost" or "work", not "queries" or "group operations". If you consider that different, please detail the requirement. $\endgroup$
    – fgrieu
    Commented Aug 28 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.