Privacy is a topic that doesn’t come up as often as it should in the cryptocurrency world, which is funny, considering their cryptographic background.
Cryptocurrencies like bitcoin have a reputation for anonymity, but they are not as private as you think. Most don’t offer any explicit or built-in privacy features.
Take Bitcoin, for example. Every transaction is recorded in an open and public place – the blockchain. Due to this, a malicious actor can see every transaction ever made with a simple search. They can see every public address and potentially link it to a person’s true identity.
Your transactions can be traced in much the same way a bank can trace your transactions as they move through its system.
What Features Should a Privacy Cryptocurrency Have?
Now that we know why privacy is a good idea, let’s put together a wishlist of what we’d want in the perfect privacy cryptocurrency.
a. Opaque Transactions
Opaque transactions are those that do not show the sender’s address, the receiver’s address or the amount transferred.
The rationale behind wanting opaque transactions is very simple, why should everyone be able to know who you are transacting with?
If a malicious actor knows who you are transacting with, they may be able to use that information to pressure you. Or, a malicious actor can figure out which addresses are worth attacking by looking at the amount being transferred in and out.
b. Provable Transactions
Opaque transactions are wonderful but sometimes you need to be able to prove to someone that the transaction was sent. For example, to prove that a donation took place, prove that you actually paid a vendor for goods or to prove a transfer to an escrow took place.
c. Default On Privacy
Having private transactions is great, but the next problem is getting people to use them.
Only one privacy coin is automatically private right now. All others offer an option between a standard transfer and a private transfer.
If your privacy system requires extra steps to use, most users will end up taking the easier, less-private approach.
Having some transactions be private and others not private simply draws attention to the ones made private. All transactions being the same makes the attacker’s job a lot harder, as there’s nothing drawing attention to itself.
“Trustless” means not having a third-party store data or make the transaction. The current banking system, for example, is not trustless, because you must trust the bank to verify your funds and make the transaction on your behalf.
It’s a pretty standard request for any cryptocurrency, but more so for privacy cryptocurrencies due to the fact that any hole in the armor makes the entire cryptocurrency weakened at best.
Any privacy cryptocurrency that requires a trusted setup should be considered very carefully.
e. Obfuscated IPs
One issue that doesn’t come up as often as it should, even some of the most private cryptocurrencies, is that your IP address is exposed to the network when you broadcast transactions.
This means that someone listening very carefully can figure out where in the world a transaction came from, and potentially which transactions belong to you. From there they may or may not be able to find out further information about the addresses involved, and how much was transferred. In general, it’s a good idea to look as uninteresting as possible.
Keeping your IP to yourself, or using some sort of anonymization layer (like Tor, or I2P) is a good idea. For a privacy coin, having first-party support for such anonymization layers is definitely a plus.
Monero vs Zcash: Best Privacy-Oriented Cryptocurrencies
Now that we have some grounding in what it means for a cryptocurrency to be private and why privacy is a good thing. Let’s take a look at the two best-known privacy cryptocurrencies, Monero and Zcash, to see how they stack up against our wishlist.
Monero tends to be the flagship privacy cryptocurrency. It offers various features and covers our wishlist well.
a. Does Monero Use Opaque Transactions? ✔
Monero’s transactions are opaque. They make use of a technology called Ring Signatures (and, more recently, Bullet Proofs) to hide the sender and amount transferred in a transaction. It does this by mixing various transactions together, creating “decoys” that are difficult, if not impossible, to trace back to a specific person
A one-time-use stealth address is also used for receivers so you can’t be linked to multiple transactions.
b. Does Monero Offer Provable Transactions? ✔
You can prove a transaction occurred on the Monero network by use of a view key, which can be created for both a single transaction and an address.
c. Is Monero Private by Default? ✔
Monero’s privacy model does not allow for non-private transactions to occur on the blockchain. No matter what, your transaction will be private, though you can share a key with others to allow them to look at your transactions in the same way your wallet does.
d. Is Monero Trustless? ✔
Monero’s entire network requires no external trust to use, assuming you are running your own node, anyway. Like with most cryptocurrencies using an external node for your transactions carries some risks around logging. Though even if your transactions are logged, they will remain private.
e. Does Monero Obfuscate IPs? ✘
Monero does not currently have any sort of built-in IP obfuscation. Meaning that your IP can be logged by other nodes when broadcasting transactions.
Though there are some plans for this in Monero’s future, namely, a technology called Kovri which will route and encrypt transactions through I2P Invisible Internet Project nodes.
For the moment, if it is required, IP obfuscation can be achieved via third-party anonymization tools like Tor and I2P.
Zcash offers both private and transparent transactions. A few of the boxes in our wishlist are checked by Zcash, but unfortunately, some of the more major ones are not.
a. Does Zcash Use Opaque Transactions? ✔
ZCASH offers a completely private transaction, known as a “shielded” transaction. With a shielded transaction, neither the addresses or amounts involved are visible on the blockchain. To achieve this, Zcash uses a cryptographic technique called “zero-knowledge proofs.”
Monero also uses a version of zero-knowledge proofs, but Zcash’s system is different in that it requires a small level of trust in its setup. We discuss this in the fourth section below.
b. Does Zcash Offer Provable Transactions? ✔
When the private transaction type is used, those on the secure side can disclose information via an experimental system. It allows you to prove a transaction was made without revealing information about the sender. However, it’s not a simple process.
c. Is Zcash Private By Default? ✘
ZCASH’s privacy scheme is not on by default, meaning that some effort is required for its users to send private transactions. There are four different possible ways for a transaction to occur. Only one of which is completely private for both parties. The other three are sender private, receiver private, and completely public.
A private transaction takes longer and costs more in fees. However, a recent Zcash upgrade aims to reduce the friction and move Zcash to a privacy-by-default system.
d. Is Zcash Trustless? ✘
ZCASH’s zero-knowledge proofs, known as zk-SNARKs, do require trust of third parties. Specifically, some parameters need to be generated and the source material destroyed. The issue with this is that if the source material for the parameters is not destroyed, those that have it can use it to create verified transactions.
The risk is mitigated somewhat by making the source material distributed. That way any one person that helped generate the data can destroy their source material and render the rest useless. Though that does not make the fact that a trusted setup is required, which, in the world of cryptocurrency, is a bad idea.
e. Does Zcash Obfuscate IPs? ✘
Much like Monero, ZCASH does not currently support any built-in IP anonymization technologies. Though running a ZCASH node over Tor does work. So if you do need the additional privacy you have the option of using Tor.
Monero vs Zcash: Which is Better?
While Monero and Zcash have their merits, Monero takes the crown for privacy, checking all but one of the items off our list. But Zcash has more control over how your transactions are done, at the cost of always-on privacy. Zcash’s trusted setup is also questionable, but unlikely to cause an issue in all but the most extreme case.
Bottom line, It’s up to you as the user to decide what cryptocurrency to use. And to weigh pros and cons against your use case. If you want absolute privacy, Monero is your go to, there is nothing quite like it currently. Otherwise, if you want to be able to send both private and transparent transactions, consider Zcash.
Learned something new in this article? Subscribe to the Block Explorer newsletter.