ELI5: Explain Like I'm 5

Witness-indistinguishable proof

Imagine you go to a candy shop and you want to pick a chocolate. The shopkeeper gives you two options - you can either take one that he picks or you can pick one yourself and show it to him. The shopkeeper wants to make sure that you can't cheat and show him a different chocolate that is not the one you picked. So, to make sure that you don't cheat, he asks you to pick a chocolate and then place it inside a box. Now, he can't see which chocolate is inside the box but he wants to be convinced that the chocolate you picked is indeed in the box.

This is somewhat similar to what witness-indistinguishable proof means. In computer science, there are situations where someone wants to prove that they possess some information without revealing the information itself. For example, a person may want to prove to a bank that they have a password to access their account without actually giving away the password.

So, witness-indistinguishable proof is a way for someone (let's call them the prover) to prove to someone else (let's call them the verifier) that they possess some information (let's call it a witness) without revealing any additional information that the verifier should not know. Just like in the candy shop example, the verifier should not be able to tell if the prover is showing the actual witness or something else that looks like the witness. This way, the prover can prove their claim while maintaining the confidentiality of the witness.

Overall, witness-indistinguishable proof is a way for someone to prove that they have a particular piece of information without revealing the content of the information itself.