In the beginning, Bitcoin was efficient for excellent privacy. That is why darknet based illegal marketplaces were so fond of it. Bitcoin blockchain is a public ledger. Anybody can see each and every transaction from the beginning.
You might ask, “All those Bitcoin addresses are gibberish, how can one pin it to a real person?”
When addresses analyzed deeply, it is not impossible. And these addresses only provide pseudo-anonymity. In fact, Satoshi Nakamoto designed Bitcoin as a peer to peer payment system, not as a heavy-weight anonymous cryptocurrency.
There are methods like mixing bitcoins and using a log less VPN. However, these methods are futile.
America’s FBI (Federal Bureau of investigation) in the past decoded Bitcoin transaction data. And, anyone can do the same. If you’re not troubled by weak privacy, don’t bother. Just use any currency you want.
For the privacy-minded people, it is often hard to go through technical jargon to find which one suits them.
For a transaction to be private from prying eyes, three things should be hidden from open.
- Sender Address
- Receiver Address
- Amount being sent
First, in Zcash, sending a private transaction is optional. And it is based on the Bitcoin codebase, though more features have been added.
Let’s look into how a private transaction works.
To send an anonymous transaction a stealth address is required, and that starts with a z. Mind that not all wallets would support stealth addresses. Anyhow, the Zcash official wallet clients will support private transactions.
So, how can a miner verify these transactions?
Zcash uses zk-SNARKs, a zero-knowledge proof mechanism, that verifies the transactions mathematically without knowing the details. And the transaction goes onto the blockchain encrypted.
How does a transaction as a whole work?
- Let’s say a sender holds X amount of ZEC in an address tA.
- To anonymize the address, a random serial number R1 is added to tA making it zB.
- Now X belongs to zB.
- The sender selects a new random number R2 and sends X to the receiver address.
- Also, the sender publishes hashes of X and R2.
- If those hashes never published before, then the transaction is valid.
But, how can the miner verify sender is the real owner of X?
The sender must also publish a proof-of-string to the miners convincing he has control over the address, private key, and he knows the random number. Here is where the zk-SNARKs come into the picture.
This explanation is for understanding purpose only. In reality, all this will work behind the scenes embedded into the network protocol.
How good is the mechanism?
So far the majority of the transactions are transparent. And only a few wallets available that support private transactions. The less the private transactions, the weaker privacy would become; as somehow at one point, a coin enters into a private transaction and exits to a public transaction.
Moreover, Zcash founding team takes a 20% cut of the mining reward for the first four years.
And the team consists of academic cryptographers. So, you can be confident about the technology behind the Zcash.
Edward Snowden, the NSA whistle-blower, said that Zcash’s privacy tech makes it the most interesting Bitcoin alternative.
Here, every transaction is private by default. And it is based on CryptoNote protocol.
Four things are involved in a transaction.
Ring Signature: Multiple transactions are signed together so that it is impossible to detect who sent funds.
Ring CT: The CT stands for Confidential Transactions. An improved version of Ring Signature which works alongside. Simply put, the inputs and outputs are mixed up furthermore. Thus, hiding how much was being sent.
Kovri: It is an I2P (A Tor like anonymous peer to peer network) router. So, the transaction is broadcasted from sender to miners without revealing from which IP address the transaction was initiated.
Stealth Addresses: Similar to Zcash, the sender has to create a random one-time address based on recipient’s address. Only the sender and recipient would know to whom the transaction is sent to and how much it was.
However, one can share a key called view-key so that intended people can see how much you hold, spend, and receive. But they cannot control your address. This is for auditing purposes, and purely optional.
How good is the mechanism?
All transactions are private, and with an I2P routing system, the Monero looks solid. Due to a fault in the previous implementation, transactions made before Jan 2017 are traceable. However, the Monero network does not have such an issue with the transactions after that.
Critics say that Monero way of mixing transaction is not very secure when mixing an uncommon number of transactions. One can make a self-transaction before sending funds to the actual recipient to be more confident.
It is ambiguous to decide which one does better in terms of privacy.
In our view, Zcash lags behind, not just because the anonymous transactions are optional, but the number of wallets supporting the anonymity feature are quite a few.
On the other hand, Monero, being very popular with illegal dark web marketplaces, seem to be much viable and practical.
Have you ever used ZEC and XMR? Which one do you think is better? Comment below.
Raghunath is a Writer and Cryptocurrency Researcher. He is enthusiastic about Bitcoin, and the underlying technology, and tries to understand how the future evolves with blockchain tech. He frequently writes about Cryptocurrency Guides, Facts and News at ecoin4dummies.com.