hi, the way zero knowledge proof is applied in ZCoin is that it sits on top of bitcoin core to provide anonymity.
So the bitcoin public and private key system is the same.
Only when a coin enters the zero knowledge proof module, the bitcoin is transformed into zerocoin.
the public key of Jake is given to Alice to generate the encrypted message - this is to generate (or mint) the zerocoin and destroy the bitcoin
And Jake keeps the private key to decrypt the message - this is to destroy (spend) the zerocoin in order to generate a fresh bitcoin with no transaction history
Your suggestion is very good.
I think the reason for the house and 2 room model is because someone else always have a chance to guess private key without knowing it. This is very small probability and not like the 50% shown in the example. This is why there is a chance of failure and the process must be repeated many times to be sure.