# zcash/zcash

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zcash-zcash).**

5,370 stars · 2,183 forks · C++ · other

## Links

- GitHub: https://github.com/zcash/zcash
- Homepage: https://z.cash/
- awesome-repositories: https://awesome-repositories.com/repository/zcash-zcash.md

## Description

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.

## Tags

### Networking & Communication

- [Full Node Implementations](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-platforms/full-node-implementations.md) — The reference implementation that stores the complete Zcash blockchain and validates transactions with full historical data.
- [Privacy-Maintaining Validators](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/cryptocurrency-nodes/privacy-maintaining-validators.md) — Runs a blockchain node that supports both transparent and private transactions validated with zero-knowledge proofs.
- [Transparent-Shielded Address Models](https://awesome-repositories.com/f/networking-communication/network-addressing/anonymous-addressing/transparent-shielded-address-models.md) — Provides a dual-address model enabling per-transaction choice between transparent public and shielded private addresses.

### Data & Databases

- [Full Blockchain Histories](https://awesome-repositories.com/f/data-databases/atomic-transaction-models/accounting-engines/account-databases/transaction-history-views/full-blockchain-histories.md) — Stores the complete Zcash blockchain transaction history to enable full validation and historical queries. ([source](https://cdn.jsdelivr.net/gh/zcash/zcash@master/README.md))

### DevOps & Infrastructure

- [Equihash Implementations](https://awesome-repositories.com/f/devops-infrastructure/proof-of-work-mining-clients/equihash-implementations.md) — Ships the Equihash proof-of-work algorithm for ASIC-resistant consensus in the Zcash blockchain.

### Security & Cryptography

- [Full Node Transaction Histories](https://awesome-repositories.com/f/security-cryptography/full-node-transaction-histories.md) — Stores and validates the complete transaction history of the Zcash blockchain for audit and network consensus.
- [Nullifier Sets](https://awesome-repositories.com/f/security-cryptography/merkle-tree-utilities/nullifier-sets.md) — Implements a commitment tree and nullifier set specifically for preventing double-spending in shielded transfers.
- [Shielded Transaction Protocols](https://awesome-repositories.com/f/security-cryptography/privacy-focused-cryptocurrencies/shielded-transaction-protocols.md) — Uses shielded transactions with zero-knowledge proofs to hide sender, receiver, and amount for private value transfer.
- [Halo2 Proving Schemes](https://awesome-repositories.com/f/security-cryptography/privacy-preserving-transaction-protocols/halo2-proving-schemes.md) — Implements the Orchard protocol with Halo2 to eliminate the trusted setup requirement for shielded transactions.
- [Privacy-Preserving Transactions](https://awesome-repositories.com/f/security-cryptography/privacy-preserving-transactions.md) — Validates private transactions using zero-knowledge proofs to preserve confidentiality of sender, receiver, and amount. ([source](https://cdn.jsdelivr.net/gh/zcash/zcash@master/README.md))
- [Private Fund Transfers](https://awesome-repositories.com/f/security-cryptography/private-fund-transfers.md) — Validates transactions using zero-knowledge proofs to hide sender, receiver, and amount in private fund transfers.
- [Sapling zk-SNARK Circuits](https://awesome-repositories.com/f/security-cryptography/zero-knowledge-proof-frameworks/blockchain-zk-proof-audits/sapling-zk-snark-circuits.md) — Implements the Sapling protocol with a trusted-setup zk-SNARK circuit for efficient shielded transaction verification.
- [Shielded Transaction Clients](https://awesome-repositories.com/f/security-cryptography/zero-knowledge-proof-frameworks/shielded-transaction-clients.md) — Validates shielded transactions using zk-SNARKs to preserve sender, receiver, and amount privacy as a full node client.
- [Shielded Transaction Verifiers](https://awesome-repositories.com/f/security-cryptography/shielded-transaction-verifiers.md) — Verifies private transactions on the blockchain by checking zero-knowledge proofs without revealing sensitive details.
- [Zero-Knowledge Proof Frameworks](https://awesome-repositories.com/f/security-cryptography/zero-knowledge-proof-frameworks.md) — Operates a blockchain that relies on zero-knowledge proofs to enforce privacy and correctness of transactions.
