Bitcoin receives a lot of mainstream press that describes it as “an anonymous currency”. The truth is, pseudo-anonymous is a better description. While transactions are hidden behind seemingly random strings of numbers, anyone with any knowledge of the workings of Bitcoin can easily use the blockchain to find the source of the transaction, or even “follow the money” watching Bitcoin change multiple hands.
Mixers are not a perfect solution, as it requires a certain amount of trust that the platforms will not run away with your money nor are honeypots monitored by law enforcement. Same can be said for coinjoin solutions, where groups of people collectively sign transactions.
ZCash launch approaches
Due to the desire from many users for increased privacy, Zcash is seen as one of the most viable solutions. Not only is Zcash based on the Bitcoin source code, but it could also easily be implemented as a sidechain, an embedded Bitcoin protocol, or as an Ethereum contract, all things the Zcash team has explored “in varying degrees” according to their FAQ on GitHub.
Zcash, an evolution of the Zerocash protocol into a fully fledged digital currency, is described as “an implementation of the Zerocash cryptographic protocol operating over a blockchain provided by a fork of the Bitcoin source code.”
Making ether transactions anonymous
Through the implementation of zk-SNARKs (zero-knowledge Succinct Non-interactive Arguments of Knowledge), Zcash can make the sender, recipient, and amount of a transaction private while still publishing that the transaction occurred on a public blockchain.
Not only are they able to accomplish this incredible cryptographic feat, but transactions are also less than one kB and take under 6 milliseconds to verify. Note this is according to Zerocash protocol paper, which Zcash is based on. An alternative to Bitcoin that is competitive regarding transaction speed as well as being significantly more anonymous has great appeal for a number of users.
In fact, a new decentralized smart contract system is aiming to do that for Ethereum at least. Hawk, a program spearheaded by Andrew Miller, utilizes the Zcash protocol for,
“a decentralized smart contract system that does not store financial transactions in the clear on the blockchain, thus retaining transactional privacy from the public’s view.”
Better yet, a programmer not specialized in Hawk could easily write a program; the compiler would do all the heavy lifting of creating a cryptographic protocol.
While Zcash sounds like a perfect solution and could easily enhance the transactional capabilities of both Bitcoin and Ethereum, as well as many other altcoins, Zcash has some potential concerns to take into consideration.
Firstly, in its current state, it uses quite an amount of resources to operate. The Public Alpha guide recommends at least 4GB of memory; running a full Bitcoin node is frequently accomplished on a Raspberry Pi which has a quarter of that.
Second, anyone with the private key used to anonymize the network can create as many Zcash coins as they please, making the currency easily susceptible to counterfeiting. From the Zcash blog,
“The obvious way to construct SNARK public parameters is just to have someone generate a public/private keypair, similar to an ECDSA keypair [*], and then destroy the private key. The problem is that private key. Anybody who gets a copy of it can use it to counterfeit money. (However, it cannot violate any user’s privacy — the privacy of transactions is not at risk from this.)”
ZCash is working on a solution to this, with time being the only solution to building trust and confidence in the startup,
“We’ve devised a secure multiparty computation in which multiple people each generate a “shard” of the public/private keypair, then they each destroy their shard of the toxic waste private key, and then they all bring together their shards of the public key to to form the SNARK public parameters. If that process works — i.e. if at least one of the participants successfully destroys their private key shard — then the toxic waste byproduct never comes into existence at all.”
If they pull it off, however, ZCash will allow business globally to transaction sensitive financial transactions and commerce will flow readily as there is no need to worry about fungibility. Individual users will rejoice at the ability to transact with other users, knowing only the information they consented to reveal is shown.
ZCash is still a long way from being a finished product, but could be the answer to near-perfect online anonymity and could pose a threat to Bitcoin’s dominance; depending on the evolution of the regulatory landscape for Bitcoin and the demand from users who seek and value privacy, Zcash could turn out to be very successful.
ZCash invites everyone to try out their testnet while they continue to iron out issues.