Amid the usual drumbeat of lawsuits, arrests and convictions; and the never ending deadlock over Bitcoin blocksizes (spoiler alert: no consensus is in sight, and some are moving to throw up their hands and split Bitcoin into multiple currencies – good luck with that.), there was a very significant new development: Zcash is now on line and cooking.
As you may recall, one of the fundamental goals of the Nakamoto project was to assure transparency. Conventional financial systems are not only “centralized”, but they are opaque. Sometimes very opaque. Bitcoin, with its public ledger on the blockchain, is radially transparent, every transaction is documented for everyone to see. Whether you like it or not.
Many people don’t like that level of transparency, which precludes private and secret transactions.
Enter Zcash, which is very similar to Bitcoin, with the wrinkle of zero knowledge proofs (ZKP) that makes transactions opaque in the public record, while still verifiable i.e., anyone can confirm that the transaction is valid, but only people with the right key can tell what the transaction actually did..
Bitcoin without the transparency. Yay!
“Our improvement over Bitcoin is the addition of privacy. Zcash uses advanced cryptographic techniques, namely zero-knowledge proofs, to guarantee the validity of transactions without revealing additional information about them.”
Technically, the ZKP allows “optional” levels of transparency, but the obvious default setting will be “keep everything secret”.
What is this for? The main purpose of these dark coins is “privacy”, to be able to move funds without revealing what you are doing. While there are legitimate reasons for private transactions (e.g., to prevent front running), the main use cases are extra-legal commerce, money laundering, and tax evasion. For this reason, Zcash is likely to spark regulatory response.
If Zcash is successful, it will probably drive Bitcoin out of business, or at least force all cryptocurrencies to offer ZKP, too. At that point, it could be the end of cryptocurrency transparency, and possibly the end of legitimate uses of public blockchains. Just as large cash transactions have been driven out of legitimate commerce, zero knowledge ledgers might be driven out of open, legal commerce.
The good news is that it should be possible to create “transparent” interfaces, apps and services that use a ZKP system in ways that “open to the world” and transparent. Thus, it will be possible to behave transparently if you want to, and software should be able to easily filter out opaque data. For example, I think you can make software that simply ignores anything that can’t be read (because they haven’t published the key), so you only see part of the blockchain, the part that isn’t secret.