Verifiable computation promises to improve the confidence of users when they choose cloud or outsourced computing to save money rather than maintaining their own servers and retaining the related technical support staff. The existing verifiable computation protocols are not very practical because they mainly rely on complicated cryptographic algorithms, such as fully homomorphic encryption and probabilistically checkable proofs. Furthermore, they cannot provide public verification.
In this paper, the authors propose Pinocchio, which can convert C code to be a specific program. The converted program can provide public verification such that the results of remote computing can be feasibly checked by the verifier. The protocol is simply based on the cryptographic assumptions from bilinear maps.
Moreover, the experiments show that Pinocchio can be very fast. In some applications, the total latency is faster than native C code execution.
I strongly suggest that engineers involved in cloud computing read this paper, especially if they need to verify that their remote execution produces secure and trustworthy results.