A Data-Driven Review of Zcash & Zclassic’s Network Privacy
“The main feature of cryptocurrencies is their anonymity.”
- Bill Gates, February 2018
Not exactly. Bitcoin is only pseudonymous, with every transaction recorded and connected on its blockchain for all to see. This is why privacy coins that solve Bitcoin’s lack of anonymity form an important class in the cryptonetwork ecosystem.
Within the privacy coin category, Zcash has emerged as a leader, alongside Monero. Zcash is noted for being the first widespread application of a novel zero-knowledge cryptographic technique called zkSNARKS. It has gained support from many crypto influencers. There is even a Grayscale Zcash Investment Trust.
Zcash development is primarily controlled by the Zcash Company. As a “founders reward,” 20% of all newly mined coins in the first four years are distributed to the company’s stakeholders. This controversial reward drove developer Rhett Creighton to fork Zcash into Zclassic, deleting the 20%. And this week, Creighton is starting a new network called Bitcoin Private, which is a YAZF (“Yet Another Zcash Fork”) with 1-to-1 airdrops to existing Zclassic and BTC addresses.
Despite the privacy focus of Zcash and its forks, anonymity is actually optional for these networks. One reason is that it can be computationally expensive, taking up to 40 seconds and 3+GB of RAM, to anonymize a Zcash transaction. As a result, some Zcash wallets don’t support anonymity at all. This should improve over time, starting with Zcash’s next release.
Given the optional privacy, my partner Edwin Ong and I took a closer look at these blockchains to understand the actual practice. Please note that we are not examining the strength of Zcash’s well-regarded cryptographic approach, but rather the actual uptake of anonymity features on the networks.
Fundamentally, Zcash is a Bitcoin fork with a similar supply (21 million total units), faster block time (2.5 minutes), founders rewards, and privacy protection via zero-knowledge cryptography. Zclassic and Bitcoin Private use the same code base, absent the reward and with minor adjustments.
In Zcash’s first four years, as each block is mined, 20% of newly generated coins are distributed as rewards. Per below, currently 10 ZECs are going to the miner and 2.5 ZECs are going to stakeholders.
There are 2 different types of addresses available for Zcash transactions: (1) transparent addresses that are similar to Bitcoin addresses and (2) shielded addresses that anonymize the sender or the receiver. Either form of address can send to itself or to the other. As such, the possible types of transactions on the network include:
- transparent-to-transparent: These are public transactions that are similar to Bitcoin transactions
- transparent-to-shielded: These are shielding transactions that break transaction linkability
- shielded-to-transparent: These are deshielding transactions that return previously shielded ZECs publicly; however, the returned ZECs are no longer linked to prior transparent addresses
- shielded-to-shielded: These are true private transactions in which the addresses and transaction value are anonymous
- hybrid: These are transactions in which the sending addresses and/or the receiving addresses are partially shielded. For example, in the transaction below, there is a transparent address for both the send and the receive but the input and the output don’t match, which means that there is at least an additional shielded address in the transaction.
Zcash Transaction Trends
We first looked at the overall transaction trends, focusing on the number of public and (at least partially) shielded transactions for each chain. We consider any transaction that involves one or more shielded addresses (2, 3, 4, and 5 above) to be a shielded transaction.
For Zcash, the number of transactions has been increasingly steadily over the past year, growing 3.5x from 64K in February 2017 to 229K in February 2018.
Despite the significant increase in overall transactions, the number of shielded transactions has stayed relatively constant around 20K. This means that, as a percentage of overall transactions, the number of shielded Zcash transactions has declined from 32% in February 2017 to 11% in February 2018.
Zclassic Transaction Trends
Zclassic’s transaction growth is more abrupt. The network, which is smaller than Zcash, has stayed flat until December 2017, when Bitcoin Private was announced. Since Bitcoin Private is a 1-to-1 airdrop to either Bitcoin or Zclassic, there was a rush to acquire Zclassic as some perceived Zclassic to be a discounted way of acquiring Bitcoin Private.
Similar to Zcash, while the overall transaction count for Zclassic has grown, the number of shielded transactions has remained constant. As such, shielded transactions as a percentage of all transactions has dropped.
While the percentage of shielded transactions of Zclassic may seem higher than that of Zcash, there is a base level of shielded transactions required for these networks.
All newly generated Zcash and Zclassic coins (coinbases) must be sent to shielded addresses prior to spending. In practice, some miners immediately send newly mined coins to shielded addresses while some miners aggregate rewards from multiple blocks before shielding them.
In fact, the number of shielded transactions and the number of coinbases for Zclassic are fairly correlated.
Given that many shielded transactions are actually a necessary part of circulating mined coins, it can be assumed then that the real level of organic, user-driven shielding on these networks is even lower.
For overall transaction distribution, both Zcash and Zclassic exhibit similar patterns. For both networks, the vast majority (85% for Zcash, 69% for Zclassic) of transactions have been completely unshielded transactions.
For Zcash, 7.6% of transactions have been shielded-to-transparent compared to 6.1% for transparent-to-shielded.
For Zclassic, 15.3% of transactions have been shielded-to-transparent compared to 13.8% for transparent-to-shielded.
In both cases, the number of shielded-to-shielded transactions is remarkably small. The number of truly private Zcash transactions is just 0.3% of the total number of transactions. For Zclassic, the number is even smaller.
The Zcash Company says it hopes “shielded addresses… will someday become the norm.” At the present moment though, the on-chain data indicates that the vision of full transaction privacy is still far off for Zcash, Zclassic, and probably Bitcoin Private. Clearly, the current growth of Zcash is not driven by user adoption of the network’s privacy features, or alternatively users are misunderstanding how to activate said features.
When Zcash releases its next version, anonymizing a transaction will supposedly be a lot faster. Will Zcash users more fully embrace privacy then? We will continue to monitor the blockchain to find out.