Let’s start with Zero Knowledge Proof — arguably the one of the most important discovery of modern cryptography and computer science. Given the fact that cryptographers are not great at naming things, it is no surprise that ZKP is made up of three most philosophical words out there, which is fitting since the concept itself is full of intricacies and subtleties. Worse, the field is moving so fast in both theoretical and implementation directions, that it becomes all but impossible to catch up (I speak this only for myself, of course).
A ZKP is a proof system that is zero-knowledge. A proof system has a Prover and a Verifier, and the former wants to convince the later that a statement is true. There are three security properties.
Zero knowledge: the Verifier learns nothing more during the interaction with the Prover, except for the fact that the statement is true.
Now, if you were like me and went to Wikipedia for some initial explanation of ZKP, you may remember the cave example in which the Prover tries to convince the Verifier that he knows how to unlock a door inside the cave. One thing that really stays with me about that example is that it explains another property: an observer watching the video of the interaction is not convinced that the Prover knows the secret (to unlock the door). Until know, I associated this example with the zero knowledge property: if some third party gains no knowledge from observing an interaction, then the protocol is zero-knowledge. Of course, zero knowledge is far more than that. At the least, my association cannot explain Non-Interactive Zero Knowledge (NIZK) systems, ones being dragged to the spotlight by the usage in blockchains.