Zcash (ZEC) is a cryptocurrency focused on maintaining maximum security, privacy and even anonymity of its users in all situations, using first-class cryptographic technology.
What is Zcash?
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.
Project beginnings
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.
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 "Journey" 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 "Zero Knowledge Concise Non-Interactive Knowledge Argument". 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 this type of system, 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 adjustment 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.
The latest update NU5
Network Upgrade 5 or NU5 is the new (and sixth) upgrade of the Zcash network. It is also a critical part of the launch of the Halo Arc product suite. According to the agreement with Zcash, this project is backed by Electric Coin Co and the Zcash Foundation. Likewise, NU5 makes it easier to implement the Orchard protocol and Unified Addresses by providing full support. Furthermore, it represents the continuing evolution of the zk-SNARK technology stack and will bring Zcash into the Halo test system, thereby eliminating the need for trust configurations and thus also updating the cryptography of the protocol.
Regarding the nomenclatures for this and future updates of the Zcash network, it should be noted that these have changed from an alias-based system to a numerical system. In this way, it seeks to provide clarity and consistency to the project for the future.
New NU5 enhancements
Network Upgrade 5 will create a fresh version of Zcashd, the consensus node for Zcash. This will include support for
- ZIP 216: You need canonical Jujub point encodings. It also fixes the Sapling consensus rule implementation bug. It also rejects non-canonical representations of Jubjub points.
- ZIP 224: Includes Orchard Shielded Protocol. It comes with payment addresses and spending keys subject to future scalability enhancements. New pools with separate private pools are also created in major network upgrades in order to increase the security of the monetary base.
- ZIP 225: Adds a new peer-to-peer transaction format intended to add support for the data elements required for the Orchard protocol. Likewise, the new transaction format serves to define better delimited regions of the serialized form in order to serve the different groups of existing funds. It also adds and describes a new region that includes elements specific to Orchard.
- ZIP 239: The following proposal completely alters the peer-to-peer network protocol by adding a new type of inv message that is used to advertise V5 transactions. In this way, it is ensured that the network nodes do not allow the denial of service attack to be carried out on the wallets that are sending V5 transactions to the mempool.
- ZIP 244: This is an update that defines a new transaction digest algorithm for the NU5 network update and beyond to introduce different non-malleable transaction identifiers that commit to different transaction data, except certificates. validity of these.
- ZIP 316: Finally, at this point introduce Unified Addresses or UAs, a really interesting future-proof Zcash address format because it increases ease of interoperability, improves usability and supports Zcash shielding by default. UAs make Zcash easier to use by removing all the complexity of different types of addresses. Thus, it simplifies the user experience and increases interoperability between transparent and shielded applications.