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?