- Of Zerocash with respect to Zerocoin:
Advantages (The most widely known implementation of Zerocash is ZCash:
- introduced efficiency improvements (i.e., smaller proof size and faster verification)
- enhanced privacy (with added encryption of the amount and both sender & receiver addresses)
Disadvantages
- The lack of auditability of its total supply: balances are hidden with the Zerocash protocol. On the other hand, the Zerocoin protocol does not hide them.
- Less testing in its underlying cryptography (the main implementation of zkSNARKs is ZCash) and the general complexity of the cryptographic underlying the protocol, making it complex to audit the system
- the time to generate a private transaction locally is high owing to its computationally intensive process.
-
In 2019, four of the eight major Zerocoin implementations switched from Zerocoin protocol to Sigma.
-
The technical cause behind the 2017 āfake spendā incident was an exploited due to a typo in its source-code - to mint 370,000 additional ZCoins.
-
Different responses to the 2019 attack on the Zerocoin core protocol:
4.1. Zcoin: As an urgent fix, the team decided to disable zerocoin mints and prevent any zerocoin spend to be conducted. Hence, they effectively froze the funds in the accumulator until the release of Sigma, bypassing the need for any trusted set-up,
- after: ZCoin introduced a feature to remint zerocoins, i.e., transfer zerocoins to Sigma mints.
4.2. PIVX:
- had deactivated the privacy features from Zerocoin, through a spork. Since then, zerocoins have been used in a public mode i.e., in a similar fashion as normal UTXO transactions.
- zerocoin minting has been disabled while zerocoin spending remains enabled
- the team relies on Schnorr Signatures to ensure that zerocoins could be spent back to basecoins, without any exposure to the pre-existing vulnerability
4.3. Veil:
- decided to deactivate the anonymizing feature from the Zerocoin protocol, it initially prevented the attack from being conducted on the Veil chain; as the attack evolved:
- Work with exchanges: withdrawals & deposits were suspended to prevent any transaction on the network,
- Return to a ātrueā state by adding back stolen balances to the zerocoin pools and ban the remaining zerocoins that had not been shuffled with RingCT
- disabled zero-knowledge proof making zerocoins behaving in a similar fashion to other (normal) UTXO transactions
- unlike PIVX, minting and issuing zerocoins were not disabled (as staking was only possible in zerocoin), but privacy features have been non-existent since then
- adjusted the emission schedule
- accelerated its departure from the Zerocoin protocol