Zero Knowledge Proof of Knowledge
Hi All !
Hope you all are doing great. !
This Blog is regarding Zero Knowledge Proof. The advance research in the area of Blockchain and Cryptographic Algorithm makes this concept very dominant.
Zero Knowledge Proof :
Let R be a polynomial time decidable binary relation. The corresponding language L which is patches of statements x such that there holds or exist witness w and (x,w) ∈ R. We specify L as an NP Language.
Consider two entities P and V which is called as Prover and verifier term as zero knowledge proof if it has two mandatory Properties i.e. Completeness and Soundness.
A. Completeness : It means ∀x ∈ L, (P,V)(x) is always 1.
B. Soundness : It means ∀x ∉ L, every Prover P*, Pr[<P*,V>(x) = 1] is always negligible.
Example : Consider two
friends Kuk (Prover) and Goa (Verifier). Goa has color blindness. Goa has two
identical apples but of different colors green and red he wants to give red
apple to Kuk but due to color blindness he is confused. Then zero knowledge
proof can be like this: > Goa holds the apples in their hand and asks to the Kuk which apple is in which hand. Then Kuk gives the reply. Now Goa applies a strategy, behind their back he might be switch the apple or not switch the apple. Then he asks to the Kuk. If Goa not switch the apple then after listing the Kuk reply Goa may think Kuk is not may be right so he again repeat the step. Suppose Goa switch the apple and then he asks to the Kuk and kuk gives the correct reply then Goa thinks that now Kuk is right. So now Kuk and Goa can eat the apple. 😀 This entire procedure is term as Zero
Knowledge Proof. |
We have seen the apple case so it might be possible that the convincing time is very large. Zero Knowledge Proof is of further two types .Interactive ad Non- Interactive.
1. Interactive Zero Knowledge Proof : It means Prover and Verifiers interacts several time until they got the success.
2. Non- Interactive Zero Knowledge Proof : It means Prover and the verifiers interacts very minimum time say one and on the behalf of one interaction they give their decision.
Now lets us understand this concept with the help of One example means how to apply the types of zero knowledge proof.
Consider, 3-Colorable Graph. (Hope you know the concept of graph coloring and my favourite chromatic number. It means to color the entire vertices of a graph such that no two adjacent vertices have same color and the set of total number of colors should be minimum.)
> Non-Interactive Procedure : Color the graph and permutate the colors to different possible sets if you find different sets after permutation then stop and return the graph is not 3 colorable. If not then pick an adjacent edge and note the color if the color is different then return 3 colorable else not 3 colorable.
> Interactive Procedure : Color the graph and Permutate the color to different possible sets if finds different set then write not 3 colorable else pick an adjacent edge and not the color if same color then write not 3 colorable if not then pick another adjacent edge and write the color and repeats the procedure until you scan the entire edge.
Note: In most research study, we apply non interactive zero knowledge
proof due to complexity issue because if we apply interactive proof then it
is time consuming but I think it is correct but time is major factor while
executing any program so non interactive plays a dominant role. |
Hope You enjoy the beautiful Journey of Zero Knowledge Proof. You reading not stops here it is recommended to think different scenario and try to apply zero knowledge proof. If you have any doubt then fill the comment section. 😎
***************************************************************************************************************
Comments
Post a Comment