This report describes the state of the art in verifiable computation. The problem being solved is the following: The Verifiable Computation Problem (Verifiable Computing Problem) Suppose we have two computing agents. The first agent is the verifier, and the second agent is the prover. The verifier wants the prover to perform a computation. The verifier sends a description of the computation to the prover. Once the prover has completed the task, the prover returns the output to the verifier. The output will contain proof. The verifier can use this proof to check if the prover computed the output correctly. The check is not required to verify the algorithm used in the computation. Instead, it is a check that the prover computed the output using the computation specified by the verifier. The effort required for the check should be much less than that required to perform the computation. This state-of-the-art report surveys 128 papers from the literature comprising more than 4,000 pages. Other papers and books were surveyed but were omitted. The papers surveyed were overwhelmingly mathematical. We have summarised the major concepts that form the foundations for verifiable computation. The report contains two main sections. The first, larger section covers the theoretical foundations for probabilistically checkable and zero-knowledge proofs. The second section contains a description of the current practice in verifiable computation. Two further reports will cover (i) military applications of verifiable computation and (ii) a collection of technical demonstrators. The first of these is intended to be read by those who want to know what applications are enabled by the current state of the art in verifiable computation. The second is for those who want to see practical tools and conduct experiments themselves.
翻译:本报告描述了可验证计算技术的当前发展状况。所要解决的问题如下:可验证计算问题(亦可称为可验证计算问题)假设存在两个计算代理。第一个代理是验证者,第二个代理是证明者。验证者希望证明者执行某项计算任务。验证者将计算任务的描述发送给证明者。证明者完成任务后,将输出结果返回给验证者。输出结果中将包含证明信息。验证者可利用该证明来检查证明者是否正确计算出输出结果。此项检查并不要求验证计算过程中所使用的算法,而是验证证明者是否按照验证者指定的计算任务正确生成了输出结果。检查所需的工作量应远小于执行原始计算所需的工作量。本最新进展报告调研了文献中128篇论文,总页数超过4000页。其他论文和书籍虽经调研但未纳入。被调研的论文绝大多数属于数学领域。我们总结构成了可验证计算基础的主要概念。报告包含两个主要部分:第一部分篇幅较大,涵盖了概率可检验证明与零知识证明的理论基础;第二部分描述了可验证计算的当前实践应用。后续还将发布两份报告,分别涉及(一)可验证计算在军事领域的应用,以及(二)技术演示实例集。第一份报告旨在帮助读者了解当前可验证计算技术所支持的应用场景;第二份报告则面向希望接触实用工具并自行开展实验的读者。