Introduction to Zcash, the anonymous Bitcoin

Bitcoin is an anonymous currency – this is one of greatest misconceptions surrounding Bitcoin which is, In a sense, the exact contrary of anonymous as every transaction is publicly listed on the Blockchain. Even though a wallet address does not reveal personal information about its owner, there are still ways to discover to whom the wallet belongs via blockchain analysis. This means that Bitcoin is a pseudonymous cryptocurrency since it replaces our personal information with a random segment of numbers and letters, a wallet address.

When Bitcoin was first created, Satoshi Nakamoto mentioned the importance of using multiple addresses to preserve one’s privacy, and even doing so won’t save you from potential blockchain analysis. Using a coin mixer Is a less than ideal approach, as fungibility is not assured (The coins you get out may be “dirtier” than the ones you’ve put in). ZCash wants to solve these problems once and for all.

“Privacy is necessary for an open society in the electronic age. Privacy is not secrecy. A private matter is something one doesn’t want the whole world to know, but a secret matter is something one doesn’t want anybody to know. Privacy is the power to selectively reveal oneself to the world.” Eric Hughes, A Cypherpunk’s Manifesto

Forked from Bitcoin, ZCash (ZEC) has many similarities to it, like the 21 million supply cap, the 4 years halving timeframe, and although ZCash offers faster blocks and smaller rewards they add up to Bitcoin’s issuance rate.

ZCash makes use of ZK-Snarks (zero-knowledge Succinct Non-interactive ARgument of Knowledge) to deliver 100% untraceable transactions. In ZCash, coins can be transparent or protected. When value is transparent it behaves just like it would with Bitcoin and can be seen by anyone on the public ledger.

When value is protected it is carried by notes that specify an amount and the destination address. The destination address will have two public keys, the paying key, and the transmission key. The transmission key is used to encrypt the payments in a “key-private asymmetric encryption scheme”, meaning that there is no way to connect the encryption to the public key it was encrypted to. The only person that can decrypt the information is the holder of the private key that corresponds to that transmission key, which is called the viewing key. Since the encryption is key-private, other users cannot see the amount that is being transferred, nor can they associate the encrypted transaction to the transmission key owner. The key owner can now use the viewing key to scan the blockchain and decrypt the note that was sent to him, allowing him to know where the coins were sent from.

To each note there is a cryptographically associated note commitment, and a nullifier that are publicly known. The nullifier ensures that the spent coins cannot be double-spent, and the note commitment allows them to be used by the new owner. Although these are connected, it is impossible to correlate the commitment with its nullifier without knowing the transaction they refer to, and it is also impossible to compute the nullifier without the destination’s spending key, which is the equivalent of a private key in Bitcoin as it allows you to spend the coins owned.

What we’re left with is a system, where the validators know that there is no double-spending going on due to the commitments that are made, but the spender is only required to prove that some commitment has been revealed without revealing which one, meaning that there is no way to link an amount of spent coins to the transaction in which they were spent. This puts Zcash at an advantage when compared with other anonymous cryptocurrencies that mix a limited number of transactions between themselves, and thus are easier to track.

>Bitcoin uses SHA256 as a Proof of Work algorithm, and the development of Application-specific integrated circuit miners for that algorithm has led the mining difficulty to increase exponential putting Bitcoin mining in the hands of a few large operations. ZCash will use a new asymmetric memory-hard algorithm that makes ASIC development unfeasible, Equihash. This is extremely important to ensure that mining does not become centralized as it has become with Bitcoin, but it also has a downside, as it makes Zcash the perfect candidate for botnet mining since it’s an untraceable cryptocurrency with a CPU friendly algorithm.

Zcash will have no premine or Initial Coin Offering period, and will instead have a “Founder Reward”, which will be deducted from the block rewards mined for the first 4 years. 20% of the block rewards will be allocated to the Zcash team and its initial investors during this time, which will amount to 10% of the total zcash supply, 21 million ZEC.

Zcash was set to launch on the 26th of September, but its release date was pushed back to October 28th to give time for additional auditing, which will be performed by three separate auditing companies. The Beta testnet is currently live and can be run by anyone by following the official zcash beta guide. Despite having no value, testnet coins or TAZ can be mined by following the Zcash mining guide.

Despite its anonymous nature, it is highly unlikely that zcash will be used in the deep web markets anytime soon for two reasons:

In order for exchanges to add zcash has a trading pair, a fair amount of Zcash needs to be mined, in order to provide exchange liquidity. Zcash is untested technology and much can go wrong. It took the deepweb 2 years to add Monero, and the same may happen to Zcash.

But if Zcash withstands the trial of time, it is possible that it may one day become the currency of the deepweb.

“As much as people now love the idea and the benefits of blockchain technology, time and time again they bring up two issues that blockchains currently do not address: scalability and privacy. I believe that the technology that Zcash is working on is currently the best in class in its ability to address the privacy challenge.” Vitalik Buterin, Founder and Chief Scientist at Ethereum.