A zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) is a cryptographic proof that allows one party to prove to another that they know a value without revealing the value itself. It is used for enhancing privacy in blockchain transactions.