Verifiable delegation of computation has attracted considerable attention in recent years and had resulted in a number of delegation models. In the verifiable computation model of Gennaro et al., a client wants to delegate the computation of a function to a cloud server. The client generates an encoding of the function that will be stored on the cloud server, and has the property that the cloud server can compute the function on any client's supplied input together with a correctness proof. The proof will allow the client to verify the correctness of the computation by the server using substantially less time than performing the computation itself. In all existing verifiable computation schemes the encoding of the delegated function requires at least twice as much cloud storage as the function itself. This stringent requirement on storage can become a bottleneck in practice. In this paper, we introduce batch verifiable computation which enables the simultaneous delegation of multiple functions. We construct batch verifiable computation schemes that effectively reduce the requirement on cloud storage while preserving efficient client verification. To delegate $$s$$s functions, our batch verifiable computation schemes only require $$1+1/s$$1+1/s as much cloud storage as the $$s$$s functions themselves. Our schemes are asymptotically optimal in terms of cloud storage in the sense that $$1+1/s\rightarrow 1$$1+1/s?1 as $$s\rightarrow \infty $$s??. We start with an information---theoretic construction and then introduce computational assumptions to obtain the above efficiencies.
Read full abstract