Zcash project purpose and description
What is Zcash?
Zcash (ZEC) is a privacy-focused cryptocurrency that was introduced in 2016. It is an implementation of a decentralized anonymous payment scheme known as Zerocash.
Zcash was initially launched as Zerocash back in 2014. Zcash implements the code of Bitcoin Core while borrowing the privacy-focused features of Zerocash. It is the first open-source and permissionless cryptocurrency that can fully protect the identity of the sender, recipient and even hide the amount transferred using zero-knowledge cryptography.
Zcash also has some of the properties of Bitcoin. For example, the total number of coins in the case of Zcash and Bitcoin is the same – 21 million units. 10% of the coins that are mined in the first four years are shared between the develops, investors and a non-profit foundation as a “founder’s reward”.
With the Zerocash protocol in place, users can pay each other directly in a much more efficient manner where the cryptocurrency protocol hides both the origin and amount of the payment.
At the time of writing this article, Zcash was trading at 179.07 USD. This is not much, but Zcash has a promising future. Recently, Zcash has partnered with JP Morgan. They plan to integrate the Zcash technology into the JP Morgan Quorum blockchain.
If this happens, then this will be the first time a zero-knowledge cryptography system is being integrated with an enterprise blockchain system. This will be a significant achievement for the Zcash Team.
Zcash uses Equihash as a proof of work algorithm. Equihash does not run on AISC system and requires traditional computing resources. One can use a simple desktop PC. Mining with GPU is more rewarding.
With Equihash, high memory is required. So, computers with a little amount of memory cannot effectively mine Zcash. One can mine Zcash in two ways. One is to join a pool of miners and mine in the clouds. The other way is to mine using a CPU or GPU. Because of Equihash, it cannot be mined on AISC systems.
What is the problem that Zcash Solves?
One of the biggest strengths of Zcash is the optional privacy feature. The USP of Zcash, it’s privacy, is not mandatory. One can choose to either make an auditable transaction or keep it private. This is something called “Selective disclosure”.
The privacy in case of Zcash is auditable. It provides users with two types of addresses – shielded and transparent. Shielded addresses are marked with an ‘s’ whereas the transparent addresses are marked with a ‘t’. Most transactions on Zcash are transparent in nature. Transparent transactions have a much lower transaction fee.
The number of shielded addresses is very few – near 1% of the total Zcash addresses. This indicates that most of the users do not even use the privacy features.
Zooko Wilcox, the founder once pointed out the majority of the coins have passed through shielded addresses at some point. A proof of shield transaction now takes around a minute to be done.
Transactions between transparent addresses are completely transparent. This is similar to how the Bitcoin public ledger operates. In case of the shielded addresses, no details are revealed. So, it is completely up to the user which address they will use.
Another important property of Zcash is fungibility. This means that all the coins are equal in Zcash. Each unit of Zcash can be exchanged mutually without any value alteration.
Since the private nature of the transaction masks the origin of the coins, one cannot discriminate against them based on their history. This means that if a coin was previously associated with an undesirable account or with any undesirable activity, the coin can be blacklisted. It is something that happens in the case of Bitcoins.
However, as Zcash is fungible, all the ZEC units have the same value in spite of their history. So, no coins in the Zcash environment can be blacklisted based on the history, given the coin was received from a shielded address.
Zcash, hence, operates quite like paper money. One would never judge a dollar bill based on its history as there is no history that is attached to the paper currency when transactions occur.
Finally, what makes Zcash even more appealing is the low transaction fee. Back in December 2017, when the value of Bitcoin peaked, it had a transaction fee of $50 per transaction. The peak value of the Zcash transaction fee was recorded on April 2018, where the average transaction fee was $0.0059 according to BitInfoCharts. Hence, it is quite a formidable competitor to Bitcoin.
How does ZCash Solve the problem?
To implement the privacy features, Zcash uses something called Zero-knowledge cryptography.
According to the documentation of Zcash, it is known as zk-SNARK. It stands for zero-knowledge Succinct Non-interactive Argument of Knowledge.
The zk-SNARK mechanism allows you to prove that certain information is true without actually revealing the information itself. This means that if you send money to an address, then without disclosing the address or the amount you have sent, the decentralized mining process can verify the transaction.
Now, to prove that a transaction is valid without revealing any details about the transaction, the zk-SNARK mechanism works as follows:
- The sum of the input values and the output values are equal.
- The control of the private keys is proved by the sender. This shows that the sender has authority over the funds.
- The signature of the transaction is then cryptographically linked to the sender’s private keys. This proves that the one who has the private keys, that is the sender, can only create such a transaction signature
This is a high-level description of the process, but it shows that no details regarding the sender’s address or the amount sent are not involved in the mining process. Moreover, Zcash also allows a user to prove that the user has enough ZEC to actually perform a transaction. This is known as the proof of unspent transaction outputs or UTXOs.
Now, besides the private key, a public key also required in any asymmetric encryption process. Initially, Zcash began with an event that is known as the “parameter sharing ceremony”. The target of this ceremony was to generate a public key.
For this, six key individuals at different geographic locations were chosen to generate a part of the public key, called the “shard”, after which they have to delete their shard. The system ensures that if only one person purged their data, the master key cannot be further compromised. Till date, five of the six key holders are publicly named whereas the sixth holder decided to remain anonymous.
The only way it is possible for this system to fail is if all the six key holders conspire to not delete their shards and be dishonest. This would completely compromise the Zcash system.
Zcash also implements the Equihash proof of work protocol that is used by many other cryptocurrencies. Equihash provides a bunch of advantages over the SHA256 protocol that is used by Bitcoin. Equihash has a very efficient verification algorithm that even allows mobile devices to verify the transactions.
This means that you can even use smartphones to mine Zcash. Moreover, unlike SHA256, Equihash is resistant to AISC mining. This ensures that Zcash is not mined only by those who can afford to buy AISC devices. This improves the distribution of Zcash and democratizes the cryptocurrency.
Equihash requires a lot more memory than SHA-256. It might seem like a bad idea, but this prevents larger organizations to build specialized systems that will outperform the devices of individual miners. To make a system with a lot of memory, the required investment may not be a rational choice for many organizations. However, individuals, on a small scale, can run Equihash effectively and mine Zcash.
What makes ZCash better than its competitors?
Zcash is a Bitcoin fork which makes Bitcoin the biggest competitor of Zcash. Moreover, even though Zcash is advertised as a privacy-focused cryptocurrency, only a small fraction of the users actually use the privacy features.
This makes Bitcoin and Zcash quite similar. Moreover, they also have similar properties – both are open source, both have the same number of maximum units, both are minable.
What sets Bitcoin apart is the SHA256 proof of work algorithm and the public ledger. Bitcoin has a public ledger where all the transactions are recorded. The sender, the receiver and even the amount transferred are recorded in the ledger. In the case of Zcash, this is optional.
However, Bitcoin recently forked into Bitcoin Private that also uses zk-SNARKS to produce a cryptocurrency that is quite similar to Zcash. However, the private transactions of Zcash are more computationally intensive. In the case of Bitcoin private, it is not the case.
Another big competitor is Monero. Even though both are touted as privacy-focused, there are some major differences between them. First of all, in Monero, privacy is not an option.
Monero enforces users to use ring confidential transactions (ringCTs) and stealth addresses. Even though what is achieved is the same as using shielded addresses in Zcash, but the mechanism is completely different.
Other competitors that can compete with Zcash are Dash, Verge and DeepOnion. All of these are considered as private cryptocurrencies.
How can Zcash be categorized?
Zcash is categorized as a private cryptocurrency, even though privacy is an optional feature and the majority of the user base performs transactions publicly.
Zcash and Security?
Zcash is quite secure and moreover, Equihash enables a higher degree of decentralization. With Zcash, you are in complete control of your funds. No one else, the banks or the governments can tell you what to do with the money that you have.
According to the Zcash team, if Bitcoin is like HTTP for the internet, then Zcash is like HTTPS.
Zcash is open source. It provides users with more transparency. They can freely securitize the very construct of the cryptocurrency system. With users being active in the development process, it is easier to find bugs, backdoors or any other security vulnerabilities.
A distributed system also ensures that no one can intercept your transactions. Moreover, events like double spends are also impossible – you cannot make the same transaction twice by mistake. Each transaction is irreversible. This means that once you have sent someone money, you cannot get that back. So, you need to make sure that you always enter the right address.
However, there has been a lot of controversy regarding the security mechanisms of Zcash, particularly regarding zk-SNARK. According to many experts, zk-SNARK is hugely untested and will take a lot of time to be adopted by other platforms.
Moreover, the ceremony that was used to generate the public key is also often frowned upon as there is no certain way to know that all the keyholders have destroyed their part of the key.
Examples of Zcash’s use cases and applications
With all the regulatory pressure faced by the cryptocurrency systems, it is quite important to have private cryptocurrencies in the market. Private cryptocurrencies operate like real paper money. When you buy using cash in real life, no record is kept of what you purchased with which paper currencies. No history is attached with the paper notes.
One of the biggest use of such private currencies is in repressed political regimes. In regions such as Venezuela and Zimbabwe, a surge of private cryptocurrency usage has been recorded as their economies have degraded. The added obfuscation helps maintain individual privacy.
However, Zcash has selective privacy, which means that it can also operate elsewhere and be regulated by the government where transparency is the primary requirement.
However, this can also have an adverse effect on the value of the currency. The market for privacy in cryptocurrency is still not well known, but it is becoming quite evident that in the future, privacy will be a key selling point for many cryptocurrencies. This makes Zcash future-proof.