Pinocchio: Nearly Practical Verifiable Computation

@inproceedings{Parno2013PinocchioNP,
  title={Pinocchio: Nearly Practical Verifiable Computation},
  author={Bryan Parno and Jon Howell and Craig Gentry and Mariana Raykova},
  booktitle={IEEE Symposium on Security and Privacy},
  year={2013}
}
To instill greater confidence in computations outsourced to the cloud, clients should be able to verify the correctness of the results returned. To this end, we introduce Pinocchio, a built system for efficiently verifying general computations while relying only on cryptographic assumptions. With Pinocchio, the client creates a public evaluation key to describe her computation; this setup is proportional to evaluating the computation once. The worker then evaluates the computation on a… 
Pinocchio : Nearly Practical Verifiable Computation
TLDR
This report focuses on encoding a logic circuit to a quadratic program and compiling it to a cryptographic verification protocol, which consists in systems-level improvements and brings time down 5-7 order of magnitude, which will be discussed in 7 practical applications.
Geppetto: Versatile Verifiable Computation
TLDR
Geppetto introduces complementary techniques for reducing prover overhead and increasing prover flexibility, and efficiently verifies the correct execution of proprietary (i.e, Secret) algorithms.
xJsnark: A Framework for Efficient Verifiable Computation
Many cloud and cryptocurrency applications rely on verifying the integrity of outsourced computations, in which a verifier can efficiently verify the correctness of a computation made by an untrusted
D 5 . 8 : Overview of Verifiable Computing Techniques Providing Private and Public Verification
TLDR
This deliverable investigates the state-of-the-art in cryptographic approaches to verifiable computing and highlights some interesting directions for future work in Privacy and Security Maintaining Services in the Cloud Overview of Verifiable Computing Techniques Providing Private and Public Verification.
Towards practical verifiable computation: Verification outsourcing, linear arguments without linearity tests, and repeated structures
TLDR
This work proposes an efficient verification outsourcing scheme and shows that, without using expensive fully-homomorphic encryption, an honest-but-curious third party can help to verify the result of an outsourced computational task without having to learn either the computational task or the result thereof.
Primitives towards verifiable computation: a survey
TLDR
A chronological study and classify the VC proposals based on their adopted domains is presented and a comprehensive view of their utilization in the state of the art VC approaches is presented.
Practical verified computation with streaming interactive proofs
TLDR
This work advances a recent line of work on "proof systems" in which the service provider proves the correctness of its output to a user, and describes a set of techniques that achieve genuine scalability for protocols fine-tuned for specific important problems in streaming and database processing.
Succinct Non-Interactive Arguments for a von Neumann Architecture
TLDR
A system that enables clients to verify the outputs of programs executed by untrusted servers using a cryptographic proof system for verifying satisfiability of arithmetic circuits, and a circuit generator to translate program executions to such circuits that use just-in-time compilation.
A Certified Compiler for Verifiable Computing
TLDR
This work presents the first certified, semantics-preserving compiler for verifiable computing, based on CompCert and developed in Coq, and targets an architecture whose instructions consist solely of quadratic equations over a large finite field, amenable to succinct verification using the Pinocchio cryptographic scheme.
Verifiable Set Operations over Outsourced Databases
TLDR
This work presents a scheme for verifiable evaluation of hierarchical set operations unions, intersections and set-differences applied to a collection of dynamically changing sets of elements from a given domain and concludes that the cost of updates is optimal involving O1 modular operations per update.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 61 REFERENCES
Pinocchio: Nearly Practical Verifiable Computation
TLDR
This work introduces Pinocchio, a built system for efficiently verifying general computations while relying only on cryptographic assumptions, and is the first general-purpose system to demonstrate verification cheaper than native execution (for some apps).
Resolving the conflict between generality and plausibility in verified computation
TLDR
It is argued that many of the next research questions in verified computation are questions in secure systems, and it is shown that Quadratic Arithmetic Programs, a new formalism for representing computations efficiently, can yield a particularly efficient PCP that integrates easily into the core protocols.
Verifiable Computation with Massively Parallel Interactive Proofs
TLDR
This work identifies abundant data parallelism in a state-of-the-art general-purpose protocol for verifiable computation, originally due to Goldwasser, Kalai, and Rothblum, and recently extended by Cormode, Mitzenmacher, and Thaler, and implements this protocol on the GPU, obtaining 40-120x server-side speedups relative to a state of theart sequential implementation.
Non-interactive Verifiable Computing: Outsourcing Computation to Untrusted Workers
TLDR
A protocol that allows the worker to return a computationally-sound, non-interactive proof that can be verified in O(mċpoly(λ)) time, where m is the bit-length of the output of F, and λ is a security parameter.
A Hybrid Architecture for Interactive Verifiable Computation
TLDR
This work describes a system that extends optimized refinements of the non-cryptographic protocols to a much broader class of computations, and incorporates this core into a built system that includes a compiler for a high-level language, a distributed server, and GPU acceleration.
Practical verified computation with streaming interactive proofs
TLDR
This work advances a recent line of work on "proof systems" in which the service provider proves the correctness of its output to a user, and describes a set of techniques that achieve genuine scalability for protocols fine-tuned for specific important problems in streaming and database processing.
Making argument systems for outsourced computation practical (sometimes)
TLDR
A general-purpose system that builds on work of Ishai et al. (CCC ’07) and incorporates new theoretical work to improve performance by 20 orders of magnitude, suggesting that, as a tool for building secure systems, PCPs are not a lost cause.
How to Delegate and Verify in Public: Verifiable Computation from Attribute-based Encryption
TLDR
This work establishes an important connection between verifiable computation and attribute-based encryption (ABE), a primitive that has been widely studied, and shows how to construct a VC scheme with public delegation and public verifiability from any ABE scheme.
Delegating computation: interactive proofs for muggles
TLDR
This work shows how to construct short (polylog size) computationally sound non-interactive certificates of correctness for any log-space uniform NC computation, in the public-key model, and settles an open question regarding the expressive power of proof systems with such verifiers.
Secure two-party computations in ANSI C
TLDR
A nonstandard use of the bit-precise model checker CBMC is used which enables us to translate C programs into equivalent Boolean circuits and modify the standard CBMC translation from programs into Boolean formulas whose variables correspond to the memory bits manipulated by the program.
...
1
2
3
4
5
...