Zcash
Zcash is an open source crypto currency developed by Zerocoin Electric Coin Company [4], providing confidentiality and selective transparency of transactions. Zcash payments are published in the public chain of blocks, but the sender, recipient and transaction amount remain private [5]. The trade symbol Zcash, ZEC, is not the official ISO 4217. The minimum transmitted value is 10-8 ZEC - has been called "carcass", by analogy with "satoshi" - the same amount of bitcoin. Like Bitcoin, Zcash has a fixed maximum total stock of 21 million units [6]. The average block formation time is 150 seconds (2.5 minutes) [7]. Announced on January 20, 2016 [8] [9].
The level of anonymity of Zcash is noted by many well-known companies and individuals. For example, WikiLeaks began accepting donations to Zcash [10], Edward Snowden called the crypto currency the most interesting alternative to Bitcoin [11], and Europol officially expressed concern about the growing popularity of crypto currency [12].
Other popular anonymous crypto-currencies with a similar purpose are Monero and Dash.
History
In 2014, Zerocoin developers from the Johns Hopkins University and groups of cryptographers from the Massachusetts Institute of Technology, the Israel Institute of Technology and Tel Aviv University developed the "Zerocash" protocol. Together they were able to improve the original design, making it more efficient and more private.
"Thanks to the new Zerocash protocol, unlike Zerocoin, users can make direct payments to each other with a much more efficient cryptographic protocol that hides not only the origin but also the amount of payment" [13]. "
The Zcash project was officially announced the executive director of Zooko Wilcox (English). January 20, 2016 as the evolution of the existing project Zerocoin (the work of Matthew Greene, Jan Maier, Christina Garman, Aviel D. Rubin, at Johns Hopkins University, Faculty of Computer Science) [8].
With the use of the new protocol, an independent Zcash (ZEC) crypto currency has appeared, ceasing to be an "addition" to bitcoin. October 28, 2016 Zuko Wilcox was the official "cryptographic ceremony" of the launch of Zcash [14].
Features
Zcash is the first crypto currency [15], based on the cryptographic protocol of the proof with zero disclosure. In the logic of the protocol it is assumed that one of the interacting parties is able to verify the reliability of the mathematical statement, without having any other information from the second party [16]. In fact, Zcash is the first truly anonymous crypto currency, as it can be confirmed that the transaction was committed, but there is no way to find out the amount of the sender and the receiver [17].
The Zcash software produces a number of random values that are accepted as initial parameters. It also generates fragments of the cryptographic key, which together can be used to generate new ZECs. At the launch ceremony on October 28, it was demonstrated how the creation and distribution of these fragments of the cryptographic key is going on so that the key itself is never fully accessible [18].
The Zcash protocol does not store information about the address from which the transaction was made, to which address the transfer was made, and what the amount was; only the fact of the transaction is visible. Information about the transaction in the blockroom can be opened or hidden at the request of users, which is a hallmark of Zcash [19].
Principle of operation
zk-SNARK
Zcash encrypts the contents of secure transactions. To verify the authenticity, the cryptographic protocol zk-SNARK (English) is used. (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), developed by the creators of crypto currency based on evidence with zero disclosure. The protocol allows you to create a safe registry of balances without disclosing the relevant parties or amounts, but you can not prove that the transaction is not a fraud or theft. Zcash also allows users to create public transactions, similar to transactions in Bitcoin. One of the features of Zcash is that sending values from secure addresses to public addresses reveals balance information, while sending from open to secure keeps confidentiality [20] [21].
In order to have zero disclosure in Zcash, the function that determines the truth of the transaction in accordance with network rules should return a response about whether the transaction is true or not, without disclosing any information about the performed actions. This is achieved by coding some network consensus rules in zk-SNARK. At a high level, zk-SNARK turns what you want to prove into an equivalent form of knowledge of the solution of certain algebraic equations [22]. The zk-SNARK designs can be applied in a wide range of applications, providing a sufficiently high efficiency and a variety of functionality [23].