Zcash
Add design section (using primary source as this concerns the factual design of the protocol)
| ← Previous revision | Revision as of 16:13, 21 April 2026 | ||
| Line 55: | Line 55: | ||
== Design == |
== Design == |
||
Zcash is modeled on [[bitcoin]], sharing its 21 million coin supply |
|||
Zcash is modeled on [[bitcoin]], sharing its 21 million coin supply cap and [[proof-of-work]] consensus mechanism.{{Cite news |last=Popper |first=Nathaniel |date=2016-10-31 |title=Zcash, a Harder-to-Trace Virtual Currency, Generates Price Frenzy |url=https://www.nytimes.com/2016/11/01/business/dealbook/zcash-a-harder-to-trace-virtual-currency-generates-price-frenzy.html |url-status=live |archive-url=https://web.archive.org/web/20190111120448/https://www.nytimes.com/2016/11/01/business/dealbook/zcash-a-harder-to-trace-virtual-currency-generates-price-frenzy.html |archive-date=11 January 2019 |access-date=26 January 2017 |work=The New York Times}}{{cite web |last1=Elaine |first1=Ou |title=Bitcoin Isn't Anonymous Enough |url=https://www.bloomberg.com/opinion/articles/2016-11-01/bitcoin-isn-t-anonymous-enough?sref=UsAjUhBb |website=Bloomberg.com |publisher=Bloomberg |access-date=17 November 2020 |date=November 1, 2016 }} Zcash uses the [[Equihash]] memory-hard proof-of-work algorithm, which was chosen to resist centralization of mining by specialized hardware.{{Cite web |title=Zcash Protocol Specification |url=https://zips.z.cash/protocol/protocol.pdf |access-date=31 March 2026}} Unlike bitcoin, where all transaction details are publicly visible on the blockchain, Zcash offers an optional privacy layer using a cryptographic technique called [[Zk-SNARK|zk-SNARKs]] (zero-knowledge succinct non-interactive arguments of knowledge).{{Cite web |last=Orcutt |first=Mike |date=2017-11-24 |title=Why America's Biggest Bank Digs Anonymous Cryptocurrency |url=https://www.technologyreview.com/2017/11/24/148040/why-americas-biggest-bank-digs-anonymous-cryptocurrency/ |website=MIT Technology Review}}{{Cite web |last=Hackett |first=Robert |date=2018-01-31 |title=One of Bitcoin's Biggest Asset Managers Says Zcash Could Hit $60,000 in 2025 |url=https://fortune.com/2018/01/31/zcash-privacy-cryptocurrency-grayscale/ |website=Fortune}} This method allows transactions to be quickly verified as valid without revealing the sender, recipient, or amount transferred.{{Cite web |last=Heaven |first=Will Douglas |date=2018-04-19 |title=Sitting with the cyber-sleuths who track cryptocurrency criminals |url=https://www.technologyreview.com/2018/04/19/143375/sitting-with-the-cyber-sleuths-who-track-cryptocurrency-criminals/ |website=MIT Technology Review}}{{Cite web |last=Orcutt |first=Mike |date=2020-04-02 |title=Perfect Online Privacy |url=https://www.technologyreview.com/2020/01/29/276028/a-new-tool-that-lets-you-prove-something-online-without-risking-your-privacy/ |website=MIT Technology Review}} Unlike mixing-based privacy systems, which obscure transactions among a limited set of participants, Zcash's shielded transactions make each spent note indistinguishable from all other unspent notes on the network. |
|||
cap and [[proof-of-work]] consensus mechanism.{{Cite web |title=Zcash Protocol Specification |url=https://zips.z.cash/protocol/protocol.pdf |access-date=31 March 2026}} |
|||
Zcash uses the [[Equihash]] memory-hard proof-of-work algorithm, |
|||
which was chosen to resist centralization of mining by specialized |
|||
payment scheme used by bitcoin with a shielded payment scheme |
|||
secured by [[Zk-SNARK|zk-SNARKs]] (zero-knowledge succinct |
|||
Shielded transactions can be verified as valid without revealing |
|||
Zcash supports two types of addresses: transparent addresses, |
|||
Zcash supports two types of addresses: transparent addresses, which function similarly to bitcoin addresses with publicly visible transactions, and shielded addresses, which use zero-knowledge proofs to encrypt transaction data.{{Cite web |last1=Silfversten |first1=Erik |last2=Favaro |first2=Marina |last3=Slapakova |first3=Linda |last4=Ishikawa |first4=Sascha |last5=Liu |first5=James |last6=Salas |first6=Adrian |date=2020-05-06 |title=Exploring the use of Zcash cryptocurrency for illicit or criminal purposes |url=https://www.rand.org/pubs/research_reports/RR4418.html |language=en |access-date=5 September 2020 |archive-date=21 September 2020 |archive-url=https://web.archive.org/web/20200921065603/https://www.rand.org/pubs/research_reports/RR4418.html |url-status=live }} Users can transact between the two types, allowing funds to move between the transparent and shielded pools. The shielded transaction system has undergone three generations, known as Sprout, Sapling, and Orchard, each improving the efficiency and security of shielded transactions. This optional privacy model is intended to preserve [[fungibility]], ensuring that all units of the currency are treated equally regardless of their transaction history. Users also have the option to share private viewing keys, allowing designated third parties to see their transaction details for auditing purposes.{{Cite web |last=Peck |first=Morgen E. |date=2016-11-18 |title=A Blockchain Currency That Beats Bitcoin On Privacy |url=https://spectrum.ieee.org/a-blockchain-currency-that-beats-bitcoin-on-privacy |website=IEEE Spectrum}} Since the Sapling upgrade, each spending key has an associated full viewing key that allows recognizing both incoming and outgoing transactions without granting spending authority. |
|||
which function similarly to bitcoin addresses with publicly visible |
|||
transactions, and shielded addresses, which use zero-knowledge |
|||
Users can transact between the two types, allowing funds to move |
|||
Value held in a shielded address is represented by a ''note'', |
|||
When a note is created, only a cryptographic commitment to the |
|||
note is published on the blockchain, and the commitment is added |
|||
When a note is spent, the sender publishes a unique value called |
|||
a ''nullifier'' and a zero-knowledge proof that the nullifier |
|||
corresponds to some previously committed note, without revealing |
|||
shared across the network, and a transaction is rejected if it |
|||
would add a nullifier already present in the set, which prevents |
|||
cannot be linked to the transaction that created it, the set of |
|||
notes from which any given spent note could have originated |
|||
Unlike mixing-based privacy systems, which obscure transactions |
|||
among a limited set of participants, this approach makes each |
|||
spent note indistinguishable from all other unspent notes on |
|||
The shielded transaction system has undergone three generations, |
|||
known as Sprout, Sapling, and Orchard, each modifying the |
|||
This optional privacy model is intended to preserve [[fungibility]], |
|||
ensuring that all units of the currency are treated equally |
|||
Users also have the option to share private viewing keys, allowing |
|||
designated third parties to see their transaction details for |
|||
From the Sapling upgrade onward, each spending key has an |
|||
associated full viewing key that allows recognizing both incoming |
|||
== History == |
== History == |
||