Proof and Argument Based Verifiable Computing

In this chapter the state of the art with respect to proof based verifiable computing schemes is presented. In this setting a prover wants to convince a verifier of the correctness of a computed result. The first proof based solutions that achieve this were interactive proof systems. Depending on the computation power of the prover we distinguish here between proof based and argument based approaches. While all proof based schemes are interactive protocols, the argument based solutions were further improved, such that also non-interactive solutions are available. In this chapter, we first provide an introduction presenting the setting and the notions, i.e. quadratic span program (QSP), quadratic arithmetic program (QAP), and succinct non-interactive arguments of knowledge (SNARKs). Then, we present the interactive proof based solutions, i.e. “Verifiable Computation with Massively Parallel Interactive Proofs” by Thaler et al. and “Allspice” by Vu et al., and the argument based approaches, i.e. “Pepper” by Setty et al., “Ginger” by Setty et al., “Zaatar” by Setty et al., “Pantry” by Braun et al., and “River” by Xu et al. Afterwards, we present the definitions and solutions for the non-interactive argument based verifiable computing schemes, i.e. “Pinocchio” by Parno et al., “Geppetto” by Costello et al., “SNARKs for C” by Ben-Sasson et al., “Succinct Non-interactive Zero Knowledge for a von Neumann Architecture” by Ben-Sasson et al., “Buffet” by Wahby et al., “ADSNARK” by Backes et al., and “Block Programs: Improving Efficiency of Verifiable Computation for Circuits with Repeated Substructures” by Xu et al.

[1]  Jon Howell,et al.  Geppetto: Versatile Verifiable Computation , 2015, 2015 IEEE Symposium on Security and Privacy.

[2]  Joe Kilian,et al.  A note on efficient zero-knowledge proofs and arguments (extended abstract) , 1992, STOC '92.

[3]  Zuocheng Ren,et al.  Efficient RAM and control flow in verifiable outsourced computation , 2015, NDSS.

[4]  Srinath T. V. Setty,et al.  Making argument systems for outsourced computation practical (sometimes) , 2012, NDSS.

[5]  Craig Gentry,et al.  Quadratic Span Programs and Succinct NIZKs without PCPs , 2013, IACR Cryptol. ePrint Arch..

[6]  Ran Canetti,et al.  Two Protocols for Delegation of Computation , 2012, ICITS.

[7]  Rafail Ostrovsky,et al.  Efficient Arguments without Short PCPs , 2007, Twenty-Second Annual IEEE Conference on Computational Complexity (CCC'07).

[8]  Eli Ben-Sasson,et al.  Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture , 2014, USENIX Security Symposium.

[9]  Eli Ben-Sasson,et al.  Robust PCPs of Proximity, Shorter PCPs, and Applications to Coding , 2004, SIAM J. Comput..

[10]  Benjamin Braun,et al.  Taking Proof-Based Verified Computation a Few Steps Closer to Practicality , 2012, USENIX Security Symposium.

[11]  Silvio Micali,et al.  Computationally Sound Proofs , 2000, SIAM J. Comput..

[12]  Hanspeter Pfister,et al.  Verifiable Computation with Massively Parallel Interactive Proofs , 2012, HotCloud.

[13]  Sanjeev Arora,et al.  Probabilistic checking of proofs: a new characterization of NP , 1998, JACM.

[14]  Michael Backes,et al.  ADSNARK: Nearly Practical and Privacy-Preserving Proofs on Authenticated Data , 2015, 2015 IEEE Symposium on Security and Privacy.

[15]  Benjamin Braun,et al.  Resolving the conflict between generality and plausibility in verified computation , 2013, EuroSys '13.

[16]  Gang Xu,et al.  Verifiable Computation with Reduced Informational Costs and Computational Costs , 2014, ESORICS.

[17]  Silvio Micali,et al.  The Knowledge Complexity of Interactive Proof Systems , 1989, SIAM J. Comput..

[18]  Nir Bitansky,et al.  From extractable collision resistance to succinct non-interactive arguments of knowledge, and back again , 2012, ITCS '12.

[19]  Dario Fiore,et al.  On the (In)Security of SNARKs in the Presence of Oracles , 2016, TCC.

[20]  Benjamin Braun,et al.  Verifying computations with state , 2013, IACR Cryptol. ePrint Arch..

[21]  Yael Tauman Kalai,et al.  Delegating computation: interactive proofs for muggles , 2008, STOC.

[22]  Eli Ben-Sasson,et al.  Short PCPs verifiable in polylogarithmic time , 2005, 20th Annual IEEE Conference on Computational Complexity (CCC'05).

[23]  Gang Xu,et al.  Block Programs: Improving Efficiency of Verifiable Computation for Circuits with Repeated Substructures , 2015, AsiaCCS.

[24]  Nir Bitansky,et al.  Succinct Non-Interactive Arguments via Linear Interactive Proofs , 2013, Journal of Cryptology.

[25]  Andrew J. Blumberg,et al.  Verifying computations without reexecuting them , 2015, Commun. ACM.

[26]  Srinath T. V. Setty,et al.  A Hybrid Architecture for Interactive Verifiable Computation , 2013, 2013 IEEE Symposium on Security and Privacy.

[27]  Justin Thaler,et al.  Time-Optimal Interactive Proofs for Circuit Evaluation , 2013, CRYPTO.

[28]  Leonid A. Levin,et al.  Checking computations in polylogarithmic time , 1991, STOC '91.

[29]  Craig Gentry,et al.  Pinocchio: Nearly Practical Verifiable Computation , 2013, IEEE Symposium on Security and Privacy.

[30]  Eli Ben-Sasson,et al.  SNARKs for C: Verifying Program Executions Succinctly and in Zero Knowledge , 2013, CRYPTO.

[31]  Amos Fiat,et al.  How to Prove Yourself: Practical Solutions to Identification and Signature Problems , 1986, CRYPTO.

[32]  Ron Rothblum,et al.  Constant-round interactive proofs for delegating computation , 2016, Electron. Colloquium Comput. Complex..