Zcash: Anonymous Blockchain

Zcash | Anonymous Blockchain

Zcash is a privacy driven cryptocurrency, which is due to launch in September 2016, created with the single goal of bringing real anonymity to the cryptocurrency world. Many users mistake Bitcoin for an anonymous cryptocurrency when in reality it can be just the opposite, since every transaction is recorded on the blockchain (including sender, receiver and amount). Bitcoin is, in reality, a pseudonymous cryptocurrency. It allows us to make payments under a randomly generated pseudonym (wallet address), which are recorded In the Blockchain. Experts are known to be able to connect a wallet address to an identity, by studying transaction history, patterns, services used and IP addresses. Mixers provide some level of anonymity but they require us to trust a third party service, which can be shut down, malicious or simply incompetent.

Zcash comes as the first solution to provide a completely Anonymous payment system, after attempts like Darkcoin and Monero. In Zcash there are no built-in mixers, Ring transactions or any other feature that may help users make their transactions untraceable, in Zcash there is no need for such features, as the blockchain is fully encrypted by default. Roughly speaking, if we’d open the Zcash block explorer all we will see about the transactions is the time in which they took place. Having an encrypted blockchain is something that may confuse users, since if all the transaction is encrypted how can we make sure that there isn’t any double spending?

Zcash uses a decentralized anonymous payment scheme (DAP scheme) that does not rely on digital signatures to validate coins, nor does it require a central bank to prevent double spending. Instead, it relies on zero-knowledge Succinct Non-interactive Arguments of Knowledge (zk-SNARKs) that allow a proving key and a verification key to be created out of a nondeterministic decision. The proving key enables any (untrusted) prover – user – to produce a zk proof of knowledge of the given transaction. Anyone can use the verification key to verify the proof produced by the users’ software in an encrypted public ledger, meaning that users don’t have to reveal ownership of a specific private key, only ownership of a specific amount of Zcash.

Having a completely encrypted blockchain can, however, pose functionality problems, in a sense that not much can be done when there is no information. Smart contracts, for one, need information as variables to act. In order to accommodate these types of features, Zcash plans to be a “privacy optional” cryptocurrency, in which users will be allowed to choose layers of data they wish to reveal, such as sender, amount, balance, etc… These features are not yet possible in the current state of Zcash and will probably not be available upon release. The Zcash team, however, plans to develop the currency in a dynamic way, introducing soft and hard forks to improve the network and implement new features.

Zcash will follow the same emission rate as Bitcoin, with 21 Million ZEC ever to be produced and a halving every 4 years (840,000 Blocks), but unlike Bitcoin, Zcash will have a 10% founders’ reward where the reward is only spendable as it is mined. This is significant because of the incentive it gives the founders’ to maintain the health and usability of the currency. The founders will keep 20% of the 12.5 ZEC Block reward during the first 4 years of mining, which will leave 2.1 million ZEC in the hands of the developers and investors.

Unlike Bitcoin, however, Zcash will use an asymmetric memory-hard Proof of Work algorithm based on the generalized birthday problem. It relies on high RAM requirements to bottleneck the generation of proofs and making ASIC development unfeasible.

Zcash is due to be released in the end of 2016 and is currently in the Alpha stage. Users can keep up with the project progress through github milestones: https://github.com/zcash/zcash/milestones.