Zcash is the first widespread application of zk-SNARKs
It stands for “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge".
Zero-knowledge” proofs allow one party to prove to another that a statement is true without revealing information beyond the statement's validity.
"Succinct" means the proofs can be verified within a few milliseconds.
Currently, the most efficient way to produce zero-knowledge proofs that are non-interactive & short enough to publish to a block chain is to have an initial setup phase that generates a common reference string between prover & verifier.
This common reference string is called the public parameters of the system.
How zk-SNARKs are constructed in Zcash
zk-SNARKs work by first turning what you want to prove. into an equivalent form about knowing a solution to some equations.