Verifiable computation schemes enable a client to outsource the computation of a function F on various inputs to an untrusted worker, and then verify the correctness of the returned results. Critically, the outsourcing and verification procedures
must be more efficient than performing the computation itself.
In more detail, we introduce and formalize the notion of Verifiable Computation, which enables a computationally weak client to “outsource” the computation of an arbitrary function F on various dynamically-chosen inputs x_1,…,x_k to one or more workers. The workers return the result of the function evaluation, e.g., y_i=F(x_i), as well as a proof that the computation of F was carried out correctly on the given value x_i. The primary constraint is that the verification of the proof should require substantially less computational effort than computing F(x_i) from scratch.
News
- February, 2016 – Our Pinocchio paper (opens in new tab) was published as a CACM Research Highlight (opens in new tab). You can watch a short video overview (opens in new tab) to learn more.
- July 22, 2015 – The source code (opens in new tab) for Geppetto (opens in new tab), our system for improving the versatility and performance of verifiable computations, is now also available on CodePlex.
- August 5, 2013 – The Pinocchio source code (opens in new tab) is now available via CodePlex, which supports faster updates and external contributions.
- June 3, 2013 – Coverage from the MIT Technology Review (opens in new tab).
- May 16, 2013 – The Pinocchio source code is now available!
People
Antoine Delignat-Lavaud
Principal Researcher
Craig Costello
Researcher
Cédric Fournet
Senior Principal Research Manager
Michael Naehrig
Principal Researcher