Zero Knowledge proof is a cryptographic protocol that can be used by someone to prove someone's ownership (prover) of a confidential information to another person (verifier), without need to disclose information or provide a way for other people to find out the secret