# computationally unbounded strategy of prover in zero knowledge proofs

I am currently studying zero knowledge proofs. (specifically A short tutorial of zero knowledge -- Oded Goldreich)

In the interactive proof system Definition it is required that the prover has unbounded computation capabilities (i.e. executes a computationally unbounded strategy) while the verifier has somehow bounded computation capabilities (i.e. executes a (probabilistic) polynomial time strategy ).

What are the reasons for the prover to have more computational power than the verifier? Is it because we want the prover to be able to "cheat" in theory but not in practice (i.e. we prove soundness for the given the zkp protocol)?

Also: isn't it strange that the prover has more computation capabilities than the verifier, given that the verifier in principle can present transcripts as simulator?

If the prover in an interactive protocol has the same power as the verifier, then there is no point of having a prover: the verifier can do, by itself, whatever the prover does in the protocol.$$^*$$ The prover need not always be necessarily unbounded though -- the notion of interactive protocols is meaningful as long as there is a `gap' between the capabilities of the two parties.
$$^*$$This is not the case, however, when the prover possesses some auxiliary information about the statement that the verifier doesn't, e.g., its witness when the statement is in $$\mathbf{NP}$$. Then one can talk about limited provers (e.g., as in this paper).