4
$\begingroup$

I am struggling with understanding the difference between the two. From what I am putting together, they have different adversarial models, MPC adds the condition of collusion between parties i.e. election voting.

I would appreciate if it anyone could provide both a simple and expanded explanation for this.

$\endgroup$
2

3 Answers 3

2
$\begingroup$

Definition: ZK can be viewed as a special case of MPC.

Use: we know how to use any (potentially weak, i.e. semi-honest security) MPC protocol to construct nicer zk (e.g. sigma protocol). We know how to use ZK to strengthen MPC to protocols with stronger security.

$\endgroup$
1
$\begingroup$

A zero knowledge proof allows the prover to prove a statement to someone else, without giving any bit of information. Consider the following "game": Bob tells Alice he knows how to open a door, and Bob does not want to tell her how. Say this door is in the middle of a tunnel, that has two entries. So people can enter it, open the door in the middle of it, and exit on the other way. Now, Bob enters the tunnel from some side, say left, and Alice didn't see him. Then Alice yells: "Bob, can you get out from the right side of the tunnel, please?". If bob knows the secret, opens the door and exits on the other side, otherwise he got lucky and exits from where he entered. What is the probability for bob to fool Alice the first time? 50%, right? Because is Alice that chooses from where he must exit, once he is inside the tunnel. Think Alice and Bob repeat this protocol many, many times, say 200. The probability for Bob for exiting always from the side asked by Alice, without him knowing the secret, is 1/2^200. This is just an example, but in reality, making a proof be zero knowledge is very difficult.

For more details on it, see also the answer here

Unfortunately, regarding the MPC I don't know very much, so let's hope someone else can help you.

$\endgroup$
1
$\begingroup$

MPC = Compute a function over private inputs from multiple parties without revealing the inputs

Example: Two millionaires compute who is richer without revealing their wealth. (Yao's millionaires problem)


ZK = Prove a statement without revealing anything other than the truthfulness of the statement itself

Example: Prove knowledge of a secret key corresponding to a public key without revealing the secret key. (Proof of knowledge)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.