Skip to content

Commit

Permalink
Merge pull request #437 from Hardaeborla/patch-29
Browse files Browse the repository at this point in the history
ZK vs Decoy-Based.md
  • Loading branch information
zksquirrel authored Aug 12, 2023
2 parents b21e86f + 1533432 commit 6e177b5
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions site/guides/ZK vs Decoy-Based.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
There's definitely no doubt that ensuring user privacy remains a top priority for various Cryptocurrency projects and they achieve this through the implementation of diverse technological tools and algorithms to safeguard user data from public exposure. This can also be observed in the words of Ian Miers at [Devcon4 Conference](https://youtube.com/watch?v=9s3EbSKDA3o&feature=share9) when he stated that "Cryptocurrency exposes all your spending activities to the public since it's just like a twitter to your Bank account and this is a great issue that must be solved by adopting on chain privacy.

Additionally, certain crypto projects have gained recognition for their privacy-centric approaches. For instance, Zcash is renowned for employing Zero Knowledge Proofs (ZK) to protect user privacy effectively, while Monero stands out for its utilization of a Decoy-based algorithm to maximize user privacy on the blockchain.

In today's discussion, we will delve into the advantages of Zero Knowledge Proofs and Decoy Based Systems in protecting user privacy. Both methods have proven to be highly effective in ensuring confidentiality and security. To facilitate a better understanding, we will use Zcash with its adoption of ZK proofs and Monero with its Decoy-based algorithm as case studies to illustrate their respective capabilities in safeguarding user privacy.

***Understanding The Concept of Zk Proofs and Decoy Based System***

Certainly, let's start by gaining a proper understanding of both "Zero Knowledge Proofs" (ZK proofs) in relation to Zcash and the "Decoy-based algorithm" in relation to Monero.


Zero Knowledge Proofs (ZK proofs) are cryptographic protocols that allow one party (the prover) to demonstrate to another party (the verifier) the validity of a statement without revealing any underlying information about the statement itself. In the context of Zcash, ZK proofs are employed to verify the correctness of a transaction without disclosing any sensitive transaction details such as the sender, receiver or transaction amount. This ensures that user privacy is preserved as the transaction remains confidential while still being validated. This technology is designed to ensure the confidentiality of financial transactions on the Zcash network.


On the other hand, the Decoy-based algorithm used by Monero is designed to enhance privacy on the blockchain. In this algorithm, multiple transactions are combined making it challenging or difficult to trace the actual source and destination of funds. The algorithm introduces decoy inputs and outputs in transactions making it difficult for observers to determine the true origin and recipient of funds. This approach significantly enhances privacy for Monero users as it obfuscates the transaction trail. The use of decoy inputs makes it challenging for anyone analyzing the blockchain to identify the real sender, receiver, or transaction amount, thereby providing a high level of transactional privacy on the Monero network.


By comprehending these fundamental concepts, we can now explore the differences and advantages of Zero Knowledge Proofs and the Decoy-based algorithm in protecting user privacy for both Zcash and Monero.

***Advantages of ZK Over Decoy Based Systems***
Both Zcash and Monero are privacy-focused cryptocurrencies, but they achieve privacy in different ways. Here are some advantages of Zcash's zero-knowledge proofs (ZK) over Monero's decoy system:

1) Selective Disclosure: With Zcash's ZK technology, users have the option to reveal transaction details to specific parties as explained by Paige Peterson on [ECC Blog](https://electriccoin.co/blog/viewing-keys-selective-disclosure/). In Zcash, shielded transactions' encrypted contents allow individuals to selectively reveal data from a particular transfer. Additionally, a viewing key can be provided to disclose all transactions associated with a specific shielded address.This feature allows for regulatory compliance and auditability without compromising the overall privacy of the network.

In contrast, Monero's decoy system does not offer this level of selective disclosure. While Monero's decoy algorithm (ring signature) helps in providing privacy, it does not offer selective disclosure in the same way as Zcash's viewing key. This means that, by default, all transaction details remain private in Monero, and it is not possible to selectively disclose specific transaction information to a third party.

2) Opt-in Privacy: Zcash allows users to choose between transparent (non-private) and shielded (private) transactions. This connotes that Zcash offers users the flexibility to either keep their financial information private (shielded) or make it transparent and publicly available similar to most other blockchains as explained on [Zcash official website](https://z.cash/learn/what-is-the-difference-between-shielded-and-transparent-zcash/) . This opt-in privacy allows for greater flexibility and acceptance in various use cases, as some transactions may require less privacy for public scrutiny, while others benefit from enhanced privacy.

On the other hand, Monero offers privacy transactions through its ring signature and stealth address technology. Ring signatures ensure that the true sender in a transaction remains obscured among several possible participants providing strong privacy and anonymity. In this case, users don't have the ability to select their desired form of shielded or unshielded transaction of their choice.

3) Shielded Pool Size: The size of the shielded pool in Zcash is typically smaller than the entire transaction pool as seen in [Zcash Metrics](https://electriccoin.co/zcash-metrics/) , which may offer some advantage in terms of scalability and performance unlike Monero's approach, where all transactions are private.

4) Trusted Setup: Zcash's initial setup, which was conducted during its launch, utilized a multi-party ceremony known as the "trusted setup" which has now been upgraded to NU5 in the year 2022 as explained by [ECC](https://electriccoin.co/blog/nu5-activates-on-mainnet-eliminating-trusted-setup-and-launching-a-new-era-for-zcash/). This is to ensure the integrity of the system and to prevent the creation of counterfeit coins. While controversial, the trusted setup is considered an advantage in that it guarantees a known fixed supply of Zcash coins.

5) Data Privacy
Zcash is designed with a strong focus on data privacy, offering users the option to conduct shielded transactions to keep their financial information confidential and private. This privacy is achieved through the use of zero-knowledge proofs, specifically zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge).The zk-SNARK technology used in Zcash allows for the creation of "zero-knowledge proofs," which allow network participants to verify the validity of shielded transactions without revealing any sensitive information. This significantly enhances the anonymity of users on the network which shows the high level of efficiency using Zero Knowledge technology.

Regarding the Monero Decoy system, a software developer from the United States discovered some bugs. These bugs could potentially lead to the identification of the true transaction if a user spends the funds they received in a transaction within approximately 20 minutes according to a report from [Coindesk](https://www.google.com/amp/s/www.coindesk.com/markets/2021/07/27/bug-found-in-decoy-algorithm-for-privacy-coin-monero/%3foutputType=amp). This doesn't justify the fact that Decoy based system isn't efficient when it comes to protecting user information but what really matter the most is to reduce or eliminate the leak of user information and data as explained by Zooko at the [Orchid(priv8) AMA live session](https://youtube.com/watch?v=XpRzKqEfpP4&feature=share9)



Also, Monero's decoy system has its strengths as well, such as being a privacy-by-default solution, not requiring trusted setups and having a larger anonymity set which can potentially provide stronger privacy guarantees.

Ultimately, the choice between Zcash and Monero depends on the specific use case and the level of privacy desired by the user or organization. Both cryptocurrencies aim to protect user privacy and offer different trade-offs in achieving that goal.


***Reference Links***
https://z.cash/learn/

https://www.getmonero.org/get-started/what-is-monero/

https://youtu.be/9s3EbSKDA3o

https://electriccoin.co/blog/nu5-activates-on-mainnet-eliminating-trusted-setup-and-launching-a-new-era-for-zcash/

https://youtu.be/XpRzKqEfpP4

https://electriccoin.co/blog/zcash-evolution/

https://electriccoin.co/zcash-metrics/
https://electriccoin.co/blog/viewing-keys-selective-disclosure/






0 comments on commit 6e177b5

Please sign in to comment.