We survey models and algorithms for stream verification.
Problem DefinitionStream verification is concerned with the following setting. A computationally limited client wants to compute some property of a massive input, but lacks the resources to store even a small fraction of the input, and hence cannot perform the desired computation locally. The client therefore accesses a powerful but untrusted service provider (e.g., a commercial cloud computing service), who not only performs the requested computation, but also proves that the answer is correct. An array of closely related models have been introduced to capture this scenario. The following section provides a unified presentation of these models, emphasizing their common features before delineating their differences.Stream Verification Model. Let σ = a 1 , a 2 , . . . , a m be a data stream, where each a i comes from a data universe U of size n, and let F be a function mapping data streams to a finite range R. A stream verification protocol for F involves two parties: a prover P, and a (randomized) verifier V. The protocol consists of two stages: a stream observation stage and a proof verification stage.In the stream observation stage, V processes the stream σ, subject to the standard constraints of the data-stream model, i.e., sequential access to σ and limited memory. In the proof verification stage, V and P exchange a sequence of one or more messages, and afterward V outputs a value b. V is allowed to output a special symbol ⊥ indicating a rejection of P's claims. Formally, V constitutes a stream verification protocol if the following two properties are satisfied.• Completeness: There is some prover strategy P such that, for all streams σ, the probability that V outputs F (σ) after interacting with P is at least 2/3.• Soundness: For all streams σ and all prover strategies P, the probability that V outputs a value not in {F (x), ⊥} after interacting with P is at most ǫ ≤ 1/3.Here, the probabilities are taken over V's internal randomness. The constants 2/3 and 1/3 are not essential and are chosen by convention. The parameter ǫ is referred to as the soundness error of the protocol.Costs. There are five primary costs in any stream verification protocol: (1) V's space usage, (2) the total communication cost, (3) V's runtime, (4) P's runtime, and (5) the number of messages exchanged. * Yahoo Labs