This is a summary of zero-knowledge (ZK) proofs and SNARKs in simple terms. If you only have five minutes before your meeting and no idea what this stuff is, start reading.
Proof
Alice claims she knows where Waldo is in her picture book, but Bob does not believe her. Alice points at the figure of Waldo on the page.
In cryptography, a “proof” is an exchange between a “prover” (Alice) and a “verifier” (Bob) that demonstrates that a given statement (“I know where Waldo is”) is true. This is not an axiomatic proof, like in math where 2 + 2 = 4 with 100% certainty, but a probabilistic proof, along the lines of, “the chance the statement is true given this ‘proof’ is 99.99%.” After all, there is a tiny chance that Alice may not have known where Waldo was on the page and just pointed someplace random, and by pure luck Waldo was in that spot!
Zero-Knowledge
Alice claims she knows where Waldo is in her picture book, but Bob does not believe her. Alice places the picture book behind a large piece of cardboard, with a small hole positioned right above where Waldo is.
This proof is “zero-knowledge” because the exchange between the “prover” (Alice) and the “verifier” (Bob) demonstrates that the given statement (“I know where Waldo is”) is true, without revealing any other information (like where Waldo is). Bob can later enjoy the challenge of finding Waldo himself because it has not been spoiled for him! Hence, zero other knowledge was exchanged.
Credit for this example goes to this ELI5 explanation video with Amit Sahai, PhD.
Interactive
Alice claims she visited Charlie’s house before, but Charlie does not remember her visiting. Charlie questions Alice on every detail about his house that only someone who has visited would know, and Alice answers every question correctly (let’s assume she has photographic memory).
This is again a proof, namely an exchange between the “prover” (Alice) and the “verifier” (Charlie) which demonstrates that the given statement (“I visited your house”) is true. This proof is not zero-knowledge, because the exchange involves (a lot of) extra information besides the statement itself, namely all those details about Charlie’s house.
Let’s replace the word “proof” with its more formal cousin: argument of knowledge. Also, notice that this exchange is interactive, because Alice and Charlie must keep talking back and forth with each other. So let’s call this an interactive argument of knowledge (this is going somewhere, I promise).
Non-Interactive
Alice claims she visited Charlie’s house before, but Charlie does not remember her visiting. Alice draws the house with every detail that only someone who has visited would know in ultra photo-realistic quality. Charlie looks at the drawing.
This is again a proof that is not zero-knowledge, but now it is no longer interactive: Alice just performs a single action, handing over her drawing, and no further exchange is required. This is a non-interactive argument of knowledge.
Succinct
Alice claims she visited Charlie’s house before, but Charlie does not remember her visiting. Charlie divides his house into 100 equal sections, selects 10 random sections, and questions Alice on every detail in those sections. Alice answers every question correctly.
This is the same proof as before, except it takes a fraction of the time and effort, so we call it succinct. Notice that this exchange is once again interactive, so we have sort of taken a step back to a succinct interactive argument of knowledge.
You might protest, “Charlie only asked Alice about a fraction of his house, so that does not count as verifying that she visited!” However, Charlie does not have all day, and he reasons that, if Alice did not visit his house, the chance she answers the questions about each randomly selected section correctly is very small, say, 1%. If Alice did not visit his house, the chance that Alice answers the questions about those 10 randomly selected sections correctly is thus 0.000000000000000001%, which is close enough to zero for Charlie to be satisfied. Even if Charlie asked Alice about all 100 sections, there is still a tiny, tiny chance Alice answers all the questions correctly without having visited! If Charlie wanted to be even more sure, he could divide his house into, say, 1 million equal sections and select 1,000 random sections to question Alice about.
For actual cryptographic proofs, these probabilities become infinitesimally small, so small that they would likely never occur in the history of the universe.
Putting It All Together
Alice claims she visited Charlie’s house before, but Charlie does not remember her visiting. Alice uses a (verifiable) random number generator to pick 10 random sections of Charlie’s house, then draws each section with every detail that only someone who has visited would know. Charlie looks at the drawings.
This is equivalent to the previous proof, except we have made it non-interactive again. It is important that Alice picks (verifiably) random sections of Charlie’s house, otherwise Alice might pick the sections that are the easiest to draw even if she has not been, like the garage or the front lawn! This final example is a succinct non-interactive argument of knowledge (SNARK).
Congratulations! That is several weeks of cryptography coursework summed up in a few minutes. To summarize: a proof, or argument of knowledge, demonstrates that a given statement is true with almost 100% certainty. If it is zero-knowledge, that means no other information was exchanged in the process. If it is non-interactive, that means the exchange only required one action, from prover to verifier. If it is succinct, that means the exchange is very (very!) short, much shorter than what is required to naively verify the whole statement. Zero-knowledge proofs have the first benefit, while SNARKs have the latter two benefits.
And yes, we can also build zero-knowledge SNARKs (zk-SNARKs) which have all three benefits! Despite my best efforts to conjure another Alice and Charlie example, it would be too grotesque and complex to be enlightening, so we will conclude here.