Difference between Zero Knowledge Proofs and Multi Party Computation 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.
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.