Zcash is a privacy-preserving cryptocurrency that operates a blockchain where transactions can be shielded using zero-knowledge proofs. Its reference full node, zcashd, stores the complete transaction history and validates both transparent and shielded transactions, preserving confidentiality for sender, receiver, and amount.
The node implements the Sapling and Orchard shielded protocols, with Orchard using the Halo2 proving scheme to eliminate the need for a trusted setup. It offers a dual-address model that lets users choose per transaction between transparent (fully public) and shielded (private) addresses. To prevent double-spending in shielded transfers, the network maintains a commitment tree and nullifier set without revealing which notes were used. Consensus is secured through Equihash proof-of-work, a memory-hard algorithm designed to resist ASIC centralization.
The full node validates every shielded transaction via zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs), ensuring privacy while preserving network integrity and historical auditability.