category of computations where a prover and verifier engage in a protocol where the prover attempts to convince the verifier of a certain fact through a series of interactions