HomeGLOSSARYWhat are zk-SNARKS?

What are zk-SNARKS?

zk-SNARKs (Zero-Knowledge Succinct Noninteractive Argument of Knowledge) are a cryptographic technology that allows one party (the “prover”) to demonstrate knowledge of certain information to another party (the “verifier”) without revealing the information itself. These proofs are both succinct — small and quick to verify —and noninteractive, meaning no ongoing communication is required after the proof is generated.

zk-SNARKs are most famously used in privacy-focused cryptocurrencies like Zcash, where they enable private, encrypted transactions that remain hidden while still being validated on the blockchain. In contrast, Bitcoin, while offering pseudonymity, does not provide the advanced privacy protections that zk-SNARKs can deliver. The use of zk-SNARKs in Bitcoin has been a topic of interest, but challenges arise given Bitcoin’s focus on simplicity and security.

The technology builds on the concept of zero-knowledge proofs, first introduced in 1985, which allow one party to prove they know something without revealing the underlying data. zk-SNARKs extend this idea, creating a practical, efficient proof system that is ideal for maintaining privacy in decentralized networks.

Key Features of zk-SNARKs

  • Zero-Knowledge: The prover can demonstrate knowledge of a fact (e.g., a valid transaction) without revealing any sensitive information.
  • Succinct: The proof is small and can be verified quickly, regardless of the complexity of the underlying information.
  • Noninteractive: A single message from the prover to the verifier is sufficient for verification.
  • Argument of Knowledge: The proof is only valid if the prover actually possesses the knowledge, ensuring the integrity of the proof.

zk-SNARKs: How It Works

zk-SNARKs enable private and encrypted transactions to be verified without revealing sensitive information. For example, zk-SNARKs can prove that a sender has enough funds to make a transaction without exposing their balance or any other transaction details.

Imagine Alice wants to send Bob a payment. Using zk-SNARKs, Alice can prove she has sufficient funds for the payment without revealing her total balance or the payment amount. The transaction’s validity can be verified without needing to know any specifics, maintaining privacy while ensuring security.

Origins of zk-SNARKs

The concept of zero-knowledge proofs dates back to a 1985 paper by Shafi Goldwasser, Silvio Micali, and Charles Rackoff. This was the foundation for proving knowledge of information without revealing it. However, early zero-knowledge protocols were interactive — they required multiple rounds of communication between the prover and verifier.

In 2012, a breakthrough paper by Nir Bitansky, Ran Canetti, Alessandro Chiesa, and Eran Tromer introduced zk-SNARKs, a noninteractive version of zero-knowledge proofs. The significance of zk-SNARKs is their efficiency and practicality in real-world applications, where speed and noninteractivity are critical.

One of the paper’s co-authors, Alessandro Chiesa, went on to co-found Zcash — a privacy-focused cryptocurrency that launched in 2016. Zcash uses zk-SNARKs to enable shielded transactions, allowing users to send private transactions that are fully encrypted on the blockchain.

zk-SNARKs and Bitcoin: An Intriguing Contrast

Bitcoin, while offering pseudonymity, is not private in the strict sense. All transactions are recorded on a public ledger, meaning anyone can trace the movement of bitcoin between addresses. This transparency is fundamental to Bitcoin’s design, which aims for decentralization and trustlessness. However, this transparency also limits privacy, requiring other privacy-enhancing technologies like CoinJoin in the Bitcoin ecosystem.

While zk-SNARKs are not implemented in Bitcoin, they represent a plausible method for achieving stronger transactional privacy in the future. However, caution is encouraged for several reasons:

  • Complexity: zk-SNARKs introduce considerable cryptographic complexity, which could increase attack surfaces and vulnerabilities in the system. Bitcoin prioritizes security and simplicity over experimentation with cutting-edge cryptographic techniques.
  • Trust Assumptions: zk-SNARKs often require a trusted setup — a secure, initial ceremony to generate cryptographic parameters. Bitcoin’s ethos of trustlessness makes this requirement somewhat controversial.

Nonetheless, the success of zk-SNARKs in Zcash demonstrates that cryptographic privacy solutions are feasible, and research into more efficient and trustless implementations of zk-SNARKs (such as zk-STARKs, which do not require a trusted setup) is not without merit.

Conclusion

zk-SNARKs represent a powerful cryptographic tool for achieving privacy. While zk-SNARKs are operational on Zcash, creating fully private transactions, Bitcoin’s design choices prioritize simplicity, security, and sound money principles over zk-SNARKs — at least for now.

Conor
Conorhttps://bitcoinnetwork.ie/
Conor. Conor is a founding member of BitcoinNetwork.ie, a Bitcoin policy group in Ireland. He also does SEO for Bitcoin Magazine. Fix the money, the rest will take care of itself.
RELATED ARTICLES

The Witness Discount

What are BRC-20 Tokens?

What is a Private key?

Bitcoin Bitcoin BTC/USD
$0.00
24hr %:
0.0%
24hr High:
$0.00
24hr Low:
$0.00
Error loading data. Check console for details.
VIEW 150+ BITCOIN CHARTS

LATEST NEWS