Compare

Here’s how CredaCash compares to Zcash:

Feature CredaCash Zcash
Project announced Nov 2015 Jan 2016
Private transactions using Zero Knowledge Proofs Yes Yes
Based on “zk-SNARKs” from Parno, et al. (see Note 2) Yes Yes
Uses BN128 254-bit elliptic curve Yes Yes
All transactions completely private Yes No
All transaction outputs completely fungible Yes No
Runs exclusively over Tor network Yes No
Blockchain can publicly record payment amount and source even if recipient requests privacy (see Note 3) Absolutely Not Yes, and there is no way to opt out
Maximum private inputs in Zero Knowledge Proof 16 2
Maximum private outputs in Zero Knowledge Proof 16 2
Time to create private transaction on laptop
   (2.4 GHz dual-core Intel Core i5)
3 seconds 125 seconds
Time to create private transaction on embedded device
   (1.5 GHz quad-core 64-bit ARM)
7 seconds not supported
Memory needed to create private transaction (see Note 4) 70 MB 3 GB
Zero Knowledge Proof size (see Note 5) 288 bytes 296 bytes
Typical private transaction size 491 bytes 2022 bytes
Blockchain guarantees transaction finality Yes No
Time to clear transaction 5-10 seconds not supported
Maximum transaction outputs in private pool (see Note 6) 1 trillion 500 million
Maximum private transaction rate (see Note 7) 1,750 per second 0.9 per second
Blockchain supports permissioned miners/witnesses Yes No
Blockchain supports unpermissioned miners/witnesses Future Yes
Anyone can set up their own public or private blockchain Future No
Transactions seamlessly routed across multiple blockchains Future No
First live version Mar 2017 (target) Oct 2016
Windows support Yes Future
Linux support Yes Yes

Note 1: The Zerocash-Project.org website and @ZerocashProject twitter account were set up in 2014 and were completely inactive in 2015. The Zcash project, which was not started by the authors of the Zerocash paper, was announced in January 2016.

Note 2: CredaCash and Zcash are both based on the Pinocchio zero knowledge proving system created by Parno, Gentry, Howell and Raykova in 2013. See https://eprint.iacr.org/2013/279. The Pinocchio protocol was used by Ben-Sasson, Chiesa, Tromer and Virza in a lightly modified (and flawed) construction they called zk-SNARKs, see http://eprint.iacr.org/2013/879, which was corrected by Parno in https://eprint.iacr.org/2015/437. The name zk-SNARKs has become more commonly used than the original name Pinocchio.

Note 3: Zcash has both public (which Zcash calls “transparent”) and private transactions. Critically however, when receiving payments, if someone sends transparent funds to your “private” address, then both the payment amount and a link back to the sender are publicly published in the Zcash blockchain. This compromises your privacy, even if you only use private addresses, and there is nothing you can do to stop it because it is beyond your control. With CredaCash, all payments are completely private.

Note 4: CredaCash is fast and efficient because it internally uses a subsum Diophantine hash that was specifically designed for use in the Zero Knowledge Proof. Zcash internally uses a SHA256 hash, which is ill-suited for the Zero Knowledge Proof and leads to its lengthy proving times and excessive memory use.

Note 5: The authors of both the Pinocchio and Zerocash papers correctly stated that a proof only requires 288 bytes. The Zcash programmers decided those authors were mistaken and that a proof required 296 bytes (see Zcash Protocol Specification, Version 2016.0-beta-1.9, Section 7.9 “Miscellaneous”, second paragraph). The Zcash programmers are incorrect; a proof only requires 288 bytes, although in Zcash it is encoded as 296 bytes.

Note 6: The number of transaction outputs in the private pool is limited by the size of the Merkle tree. CredaCash uses a 40-bit Merkle tree that can hold 2^40 private outputs, while Zcash uses a 29-bit Merkle tree that can hold 2^29 private outputs.

Note 7: Maximum transaction rate per blockchain assuming transaction outputs are kept in the private pool for 10 years.