How does Zero Knowledge Proof (ZKP) enable Privacy By Design?
closed as unclear what you're asking by otus, user61539, Reid, Maarten Bodewes♦, e-sushi Nov 26 '18 at 9:46
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
I got some information about zero knowledge proof which is shared below:
Zero Knowledge Proofs enable a way to share validated data with a third party without actually sharing the data itself. This is a fascinating concept, as intuitively it takes a little time to wrap one’s mind around the fact that you can share sensitive information without actually sharing sensitive information.
Zero-knowledge proofs work in the following way: If I would like to prove something to someone (let’s say Person A), I generally would need to have a piece of evidence that backs up my claim to Person A, who is trying to verify my claim. Zero-knowledge proofs create an irrefutable way to prove that I have evidence to back up my claim, by sharing a proof instead of the evidence with a verifier that can be used to validate my claim. Using a zero-knowledge proof, I do not actually need to share any information/data, but a cryptographic proof (that does not leak any data) to prove my claim to Person A. Zero-Knowledge Proofs effectively provide a riskless way to share data (assuming we trust the process of setup that creates the proof).
There are countless ways that we can use Zero-Knowledge Proofs to protect our data. One way that has not been widely discussed in realistic terms and that solves two big problems is calling into call centers. Suppose Alice needs to call her bank to initiate a transfer from one of her bank accounts to another bank account. Wouldn’t it be great if when Alice called the bank, instead of going through a process of answering questions about herself to verify her identity (account number, social security number, address, mother’s maiden name), Alice could send a cryptographic proof from her mobile phone to the bank that automatically authenticates her identity. That would save time, and increase privacy.
A Zero-Knowledge Proof enables one party (Alice the prover) to prove to another party (Bob the verifier, the call center agent) that Alice can prove that Bob is speaking with Alice (Alice is looking to prove her identity). All this occurs without revealing any of Alice’s private and sensitive information while proving that Alice is in fact Alice.
Typically, the way Bob would believe that Alice is Alice, is to ask Alice questions about herself to prove to Bob that Alice is in fact Alice (ex: What is your address, social security number, mother’s maiden name, etc.). However, this relies on sharing information, which can be costly as well as become a reputation risk if the data is leaked through the bank’s computer system and shared with unauthorized third parties.
There is a form of a zero-knowledge proof called a zk-SNARK (Zero-Knowledge Succinct Non-Interactive ARgument of Knowledge) that can be used to satisfy the condition of proving Alice is Alice with 100% certainty and without revealing any more information than the cryptographic proof generated from the zk-SNARK. A key element in the zk-SNARK is the non-interactive element: there only needs to be one set of data that is shared with Alice’s Bank, hence there is no interaction between Bob and Alice where they exchange sensitive and private information to prove Alice’s identity. Remember: the cryptographic proof shared cannot be linked to the data that was put into the creation of the proof. This means that if Alice provides her social security number to the Zero-Knowledge Proof program, she can be 100% confident the verifier (Alice’s Bank) will not be able to derive her social security number from the proof Alice provides. Utilization of zk-SNARKs start us on a path where we can retain ownership of our data by simply not sharing sensitive data any longer, thus significantly increasing privacy, and significantly reducing risk for organizations.