Lably
Skip to content

Proof of knowledge

  • 4 min read
  • 4 chapters

Related on Lably

Through Turing machine, Linearity and Relation (mathematics)

Let x be a statement of language L in NP, and W(x) the set of witnesses for x that should be accepted in the proof. This allows us to define the following relation: R={(x,w):x∈L,w∈W(x)}.

A proof of knowledge for relation R with knowledge error κ is a two party protocol with a prover P and a verifier V with the following two properties:

  1. Completeness: If (x,w)∈R, then the prover P who knows witness w for x succeeds in convincing the verifier V of his knowledge. More formally: Pr(P(x,w)↔V(x)→1)=1, i.e. given the interaction between the prover P and the verifier V, the probability that the verifier is convinced is 1.
  2. Validity: Validity requires that the success probability of a knowledge extractor E in extracting the witness, given oracle access to a possibly malicious prover P~, must be at least as high as the success probability of the prover P~ in convincing the verifier. This property guarantees that no prover that doesn't know the witness can succeed in convincing the verifier.

Details on the definition

This is a more rigorous definition of Validity:

Let R be a witness relation, W(x) the set of all witnesses for public value x, and κ the knowledge error. A proof of knowledge is κ-valid if there exists a polynomial-time machine E, given oracle access to P~, such that for every P~, it is the case that EP~(x)(x)∈W(x)∪{⊥} and Pr(EP~(x)(x)∈W(x))≥Pr(P~(x)↔V(x)→1)−κ(x).

The result ⊥ signifies that the Turing machine E did not come to a conclusion.

The knowledge error κ(x) denotes the probability that the verifier V might accept x, even though the prover does in fact not know a witness w. The knowledge extractor E is used to express what is meant by the knowledge of a Turing machine. If E can extract w from P~, we say that P~ knows the value of w.

This definition of the validity property is a combination of the validity and strong validity properties. For small knowledge errors κ(x), such as e.g. 2−80 or 1/poly(|x|) it can be seen as being stronger than the soundness of ordinary interactive proofs.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication