A classic example of a proof protocol with zero disclosure is the proof protocol of the knowledge of a password to a door inside a circular cave. Let Alice know this password and want to prove his knowledge to Bob without disclosing the password itself. The following protocol is used: Alice enters the cave and approaches the door from an arbitrary side so that Bob does not know which side Alice is from. Bob enters the cave and asks Alice to come out from either side of the cave (left or right). Alice, knowing the password to the door, can always fulfill Bob’s wish, appearing from either side. After each iteration, Bob’s confidence that Alice knows the secret doubles. Thus, after $ k $ successfully executed operations, the probability that Alice is actually cheating on Bob is $ 1/2 ^ k $.
Question: why is it important that Bob does not know which side Alice is coming from? After all, this knowledge is not related to the secret, and knowing, for example, that Alice enters from the right, Bob can ask her to go to the left and make sure that she has the key.
