Zero-Knowledge (ZK) Proof

Zero-knowledge proof is a cryptographic principle that allows to check transactions with encrypted data of the sender’s address, receiver’s address and the transferred amount. Zcash coin uses a specific type of the zero-knowledge proof that is called zk-SNARKs.

zk-SNARK

Non-interactive zero-knowledge proofs— also known as NIZK, zk-SNARK, zk-STARK — are zero-knowledge proofs that require no interaction between the prover and verifier. The first widespread application of zk-SNARKs was in the Zerocash blockchain protocol, where zero-knowledge cryptography provides the computational backbone, by facilitating mathematical proofs that one party has possession of certain information without revealing what that information is.

Zero-Confirmation Transaction

After a transaction is broadcast to the Bitcoin network, it may be included in a block that is published to the network. When that happens it is said that the transaction has been mined at a depth of 1 block. With each subsequent block that is found, the number of blocks deep is increased by one. To be secure against double spending, a transaction should not be considered as confirmed until it is a certain number of blocks deep.