Interactive proof system¶
In computational complexity theory, an
interactive proof system
is an abstract machine that models computation as the exchange of messages between two parties: aprover
and averifier
.The parties interact by exchanging messages in order to ascertain whether a given string belongs to a language or not. The prover possesses unlimited computational resources but cannot be trusted, while the verifier has bounded computation power but is assumed to be always honest.
Messages are sent between the verifier and prover until the verifier has an answer to the problem and has “convinced” itself that it is correct.
All interactive proof systems have two requirements:
1. Completeness:
if the statement is true, the honest prover can convince the honest verifier that it is indeed true.
2. Soundness:
if the statement is false, no prover, even if it doesn't follow the protocol, can convince the honest verifier that it is true, except with some small probability.