Trading group theory for randomness
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
The knowledge complexity of interactive proof systems
SIAM Journal on Computing
Algebraic methods for interactive proof systems
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Permutations on the Block PRAM
Information Processing Letters
Fast Probabilistic Algorithms for Verification of Polynomial Identities
Journal of the ACM (JACM)
Even strongly universal hashing is pretty fast
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Algorithm Design
Simple deterministic wildcard matching
Information Processing Letters
Fairplay—a secure two-party computation system
SSYM'04 Proceedings of the 13th conference on USENIX Security Symposium - Volume 13
Efficient Arguments without Short PCPs
CCC '07 Proceedings of the Twenty-Second Annual IEEE Conference on Computational Complexity
Pors: proofs of retrievability for large files
Proceedings of the 14th ACM conference on Computer and communications security
Proof-infused streams: enabling authentication of sliding window queries on streams
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Delegating computation: interactive proofs for muggles
STOC '08 Proceedings of the fortieth annual ACM symposium on Theory of computing
Hierarchical memory with block transfer
SFCS '87 Proceedings of the 28th Annual Symposium on Foundations of Computer Science
Computational Complexity: A Modern Approach
Computational Complexity: A Modern Approach
Authenticated indexing for outsourced spatial databases
The VLDB Journal — The International Journal on Very Large Data Bases
ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
Continuous authentication on relational streams
The VLDB Journal — The International Journal on Very Large Data Bases
Non-interactive verifiable computing: outsourcing computation to untrusted workers
CRYPTO'10 Proceedings of the 30th annual conference on Advances in cryptology
Improved delegation of computation using fully homomorphic encryption
CRYPTO'10 Proceedings of the 30th annual conference on Advances in cryptology
Streaming graph computations with a helpful advisor
ESA'10 Proceedings of the 18th annual European conference on Algorithms: Part I
Toward practical and unconditional verification of remote computations
HotOS'13 Proceedings of the 13th USENIX conference on Hot topics in operating systems
CRYPTO'11 Proceedings of the 31st annual conference on Advances in cryptology
Practical delegation of computation using multiple servers
Proceedings of the 18th ACM conference on Computer and communications security
Verifiable computation with massively parallel interactive proofs
HotCloud'12 Proceedings of the 4th USENIX conference on Hot Topics in Cloud Ccomputing
Taking proof-based verified computation a few steps closer to practicality
Security'12 Proceedings of the 21st USENIX conference on Security symposium
Two protocols for delegation of computation
ICITS'12 Proceedings of the 6th international conference on Information Theoretic Security
Proceedings of the 2012 ACM conference on Computer and communications security
Streaming computations with a loquacious prover
Proceedings of the 4th conference on Innovations in Theoretical Computer Science
Proceedings of the 4th conference on Innovations in Theoretical Computer Science
Succinct non-interactive arguments via linear interactive proofs
TCC'13 Proceedings of the 10th theory of cryptography conference on Theory of Cryptography
Multi-Client non-interactive verifiable computation
TCC'13 Proceedings of the 10th theory of cryptography conference on Theory of Cryptography
Resolving the conflict between generality and plausibility in verified computation
Proceedings of the 8th ACM European Conference on Computer Systems
Delegation of computation with verification outsourcing: curious verifiers
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Verifying computations with state
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Verifying the correctness of remote executions: from wild implausibility to near practicality
Proceedings of the 9th Workshop on Hot Topics in Dependable Systems
Rational arguments: single round delegation with sublinear verification
Proceedings of the 5th conference on Innovations in theoretical computer science
Hi-index | 0.00 |
When delegating computation to a service provider, as in the cloud computing paradigm, we seek some reassurance that the output is correct and complete. Yet recomputing the output as a check is inefficient and expensive, and it may not even be feasible to store all the data locally. We are therefore interested in what can be validated by a streaming (sublinear space) user, who cannot store the full input, or perform the full computation herself. Our aim in this work is to advance a recent line of work on "proof systems" in which the service provider proves the correctness of its output to a user. The goal is to minimize the time and space costs of both parties in generating and checking the proof. Only very recently have there been attempts to implement such proof systems, and thus far these have been quite limited in functionality. Here, our approach is two-fold. First, we describe a carefully chosen instantiation of one of the most efficient general-purpose constructions for arbitrary computations (streaming or otherwise), due to Goldwasser, Kalai, and Rothblum [19]. This requires several new insights and enhancements to move the methodology from a theoretical result to a practical possibility. Our main contribution is in achieving a prover that runs in time O(S(n) log S(n)), where S(n) is the size of an arithmetic circuit computing the function of interest; this compares favorably to the poly(S(n)) runtime for the prover promised in [19]. Our experimental results demonstrate that a practical general-purpose protocol for verifiable computation may be significantly closer to reality than previously realized. Second, we describe a set of techniques that achieve genuine scalability for protocols fine-tuned for specific important problems in streaming and database processing. Focusing in particular on non-interactive protocols for problems ranging from matrix-vector multiplication to bipartite perfect matching, we build on prior work [8, 5] to achieve a prover that runs in nearly linear-time, while obtaining optimal tradeoffs between communication cost and the user's working memory. Existing techniques required (substantially) superlinear time for the prover. Finally, we develop improved interactive protocols for specific problems based on a linearization technique originally due to Shen [33]. We argue that even if general-purpose methods improve, fine-tuned protocols will remain valuable in real-world settings for key problems, and hence special attention to specific problems is warranted.