description | layout |
---|---|
An introdcution to verifiable computing, interactive proofs, zero knowledge proof, zk-SNARKs, and other important terms... |
landing |
Introduced in 1980s, Verifiable Computing (VC) refers to the cryptographic primitive called Interactice Proofs (IPs) and arguments, which allows a prover
In general, VC can be defined as a process where the verifier as a party, checks the output of a computation performed by the prover. This is achieved by using cryptographic techniques, such as homomorphic encryption or other subtle protocols, even with their composition, to allow the verifier to validate the result of the computation without revealing any confidential information (or, to say privacy). The goal of verifiable computing is to provide a way to ensure the correctness and integrity of the computation, while still preserving privacy and security.
For example, in the training procedure of Machine Learning (ML), it's common now to outsource the computation to a trusted third party (TTP), e.g. a cloud service provider. The corresponding question is that how to assure that the result of the training or computation is correct or without pollution (that is, the integrity of the computing result)? The situation may truely happened is that the TTP may be compromised or the computing is exceuted with some error that cannot be ignored.
Generally speaking, we can view verifiable computing as a collection of protocols, that allows the verifier believing in a computation result without cumbersome calculation.
We can say IPs are the most important schemes to implement VC.
An interactive proof can be defined as a system that allows the prover
Formally, an interactive proof system can be defined as follow:
Given a prescribed function
See the article of Goldwasser, Micali, and Rackoff for more details.
An interactive proof should have the following two properties: completeness and soundness.
-
Completeness: For every
$$x \in {0,1}^n$$ and correct claim$$y$$ , it holds that:
-
$$\epsilon$$ -Soundness: For any$$x \in {0,1}^n$$ and a incorrect claim$$f(x) \neq y$$ , it holds that:
These property promises that the system will convince