Zcash (ZEC) is an open source decentralized cryptocurrency that guarantees privacy and selective transparency of transactions. Zcash's coin payments are posted on a public blockchain, but the sender, recipient, and transfer amount details are confidential.
This cryptocurrency is based on the Bitcoin protocol, but it has its own blockchain and cryptocurrency. Furthermore, unlike Bitcoin, it is intended to be private and completely anonymous. This is possible thanks to the use of Zero Knowledge Protocols (ZKP). Thanks to this system, it is possible to confirm transactions without revealing additional information, making the use of this currency completely anonymous.
The beginnings of the project lead us to 2014, and the joint work of Matthew D. Green, as well as students Ian Miers and Christina Garman. All of them belonging to Johns Hopkins University. They were the ones who designed the Zerocoin protocol. This project was born with the aim of improving Bitcoin's privacy and anonymity and anonymity. However, its operation had several points of failure, especially the high computational cost that it added to Bitcoin. Despite this, the protocol was implemented in currencies such as ZeroVert (ZER) y Zcoin (ZXC) successfully.
Later, in order to solve several of Zerocoin's problems, the Zerocash protocol. The main difference between Zerocoin and Zerocash, is that the latter makes use of the ZK-snarks. This in order to increase the performance of the protocol and dramatically decrease its computational cost. Given this fact, Green commented that:
Thanks to Zerocash's new protocol, unlike Zerocoin, users can make direct payments to each other using a much more efficient cryptographic protocol that hides not only the origin but also the amount of the payment.
The Zcash project started as a Bitcoin fork to which support for the Zerocash protocol was added. Finally, its launch was officially announced on January 20, 2016 by Zooko Wilcox-O'Hearn. Currently, the Zcash version is called with the code name, sapling and it differs greatly from the Bitcoin code.
Zcash Foundation - A History of Zcash
Zooko Wilcox Tells us a bit about how the Zcash project started and its different vision of privacy and anonymity in its cryptocurrency.
How does Zcash work?
Zcash has two types of addresses: private (z addresses) or transparent (t addresses). Private addresses start with a "Z", and the transparent directions start with a "T".
A zaz transaction appears in the block browser, so it is known that it happened and that the fees were paid. But addresses, transaction amount, and memo field are encrypted and not publicly visible. This is possible through the use of zero knowledge protocols. A job that is possible thanks to the use of zk-SNARKs.
For example, an address owner may choose to disclose the z address and details of the transaction with trusted third parties. For them, it makes use of payment display and disclosure keys. In this way, the option of viewing to trusted third parties can be enabled, for auditing purposes. On the other hand, transactions between two transparent addresses (t addresses) work just like Bitcoin.
Despite having different addresses, both types of Zcash addresses are interoperable. Funds can be transferred between z-addresses and t-addresses. However, it is important that users understand the privacy implications of protecting or unprotecting information through these transactions.
Zcash features and functionality
Zcash has some very interesting features among which stand out:
Low cost transactions. The transactions have costs close to 0,0001 ZEC.
Transaction address and privacy. Zcash offers two types of addresses: private and transparent. Private address transactions are not publicly visible, while transparent ones are. Both types of addresses without interoperable.
Encrypted memoranda. Another feature of Zcash is the ability to send encrypted mems. This is useful for transmitting messages, or to ensure compliance with the "Travel" of the Bank Secrecy Law.
Display keys. These features allow Zcash owners to enable audits on their accounts.
Payment disclosure. The sender or recipient of a transaction may disclose specific details of the transaction to third parties. This as necessary for an audit.
Expiration of the transaction. Zcash supports transaction expiration to minimize the impact of an untapped transaction. By default, a transaction will expire and funds will not be taxed if the transaction is not withdrawn after 50 minutes (20 blocks).
Multi-signature transactions. Zcash supports transactions that require multiple signatures. This means that a transaction may require two or more parties to accept the transaction before funds are shipped. However, multiple signature transactions are transparent and cannot be made private.
zk-SNARKs, the basis of Zcash's anonymous operation
The acronym zk-SNARKs stands for "Succinct non-interactive knowledge argument from zero knowledge". This refers to the construction of a test where the possession of certain information can be demonstrated, without revealing the secret. All this, without any interaction between the tester and the verifier. Shafi goldwasser It is the mastermind behind this cryptographic testing model.
The zk-SNARKs are built based on the operation of a Zero Knowledge Protocol (ZKP). The main characteristic of zk-SNARKs is that their computational cost is very low. This means that its generation and verification is very efficient, which helps scalability.
The acronym for ZK-snarks it can be deconstructed in the following way:
Succinct. It means that the hashes (tests) are very small compared to the duration of the actual process required to create them.
Not interactive. In these types of systems, there is normally no interaction between the parties to a transaction. In addition, thanks to the "public verifier" property, it is not necessary to interact again, for verification in time.
Arguments. It means that the verifier is only protected against computationally limited testers. Providers with sufficient computing power can create evidence / arguments about incorrect claims. Although this is quite unlikely due to the computational power necessary to achieve this.
Zero knowledge. No one within the system knows the secret, they are only sure that it exists. In this case, no one has information about the transaction, but they are sure that it was carried out correctly.
Equihash, a different PoW algorithm, for a different currency
Zcash originally maintained the SHA-256 algorithm inherited from Bitcoin. However, this was changed in 2014 in favor of Equihash. This is a proof-of-work algorithm devised by Alex Biryukov y Dmitry Khovratovich. It is based on a computer science and cryptographic concept called Generalized Birthday Problem (or Generalized Birthday Problem).
This problem defines the probability that in a group of 23 people there is a 50,7% probability that at least two of them will be a year old on the same day. A situation that at first glance does not make sense, since anyone would think that the probability is much lower. That is why this dilemma is also known as the Birthday Paradox.
The reason for your choice is that Equihash provides very efficient verification. This situation proved to be important in the future for thin clients on low power devices or to implement a Zcash client within Ethereum. On the other hand, Equihash is resistant to specialized mining with ASIC y FPGA. This is due to the high memory demand of the algorithm. Given this situation, its developers commented that:
This is because the Generalized Birthday Problem has been extensively studied by computer scientists and cryptographers, and Equihash is closely related to the Generalized Birthday Problem. That is: it seems to us that a successful optimization of Equihash would probably also be an optimization of the Generalized Birthday Problem.
Founders Rewards System
At Zcash there is something called the Founders Reward. This allows 10% of the mining reward to be distributed equitably among all parties involved in the Electric Coin Company. From its founders and investors to employees and advisers. Allowing to finance the company and of course, continue their hard work to promote and improve the characteristics of Zcash.
Although it should be mentioned that this only lasts four years, which means that starting in 2020, miners who maintain the blockchain will finally be able to receive 100% of the reward for their work.
Differences between Zcash and Bitcoin
In principle, the differences between Bitcoin and Zcash are minimal. Zcash is fed by many contributions that are given in the development of Bitcoin. However, there are some subtle changes that point to an improvement by Zcash, among which stand out:
The use of zk-SNARKs to provide privacy and anonymity to Zcash. The latter features in Bitcoin is not 100% possible because Bitcoin is pseudo-anonymous.
Zcash has a much shorter block production interval than Bitcoin's. More specifically, Zcash produces a block every 2,5 minutes, compared to Bitcoin's 10 minutes.
Zcash's block size is 2 MB, doubling that of Bitcoin. This allows the level of scalability of Zcash to be much higher than that of BItcoin. All without compromising security and using a minimum of bandwidth.
A somewhat more “subtle” difficulty setting algorithm has been adopted, based on DigiShield.
Another marked difference is a function of expiration of transactions. This means that if in a certain time the transaction is not processed by the miners, it is automatically canceled. With this the amount is returned to the issuer without any problem, managing to avoid losing cryptocurrencies when the blockchain is overloaded.