Some users have previously referenced the cryptocurrency Zerocoin (‘Zcoin’) and wonder why we forked Zcash instead of Zcoin. There seem to be some misconceptions about what Zcoin and Zcash are and so we thought we should address these, while at the same time helping to ensure that our users can understand the underlying technology behind the Komodo Platform.
The first question we wanted to address when we came up with the idea for this article was: why did we decide to fork Zcash and not Zcoin? However, it seems that time has taken care of answering that question with a very practical example:
A single typo let hackers steal $400,000 from a bitcoin rival - Zcoin
While we acknowledge that Zcoin is a project with merit, this is simply a perfect example of why we didn’t use the Zcoin protocol to develop Komodo. Zcoin is using a 3 year old development library which was previously set aside by the Zcash team. Unlike Zcoin, Zcash went through a lot of testing, peer and professional reviews and audits. Zcash took time, effort and money to be developed and if you ever wondered why, now you know.
However, there seem to be some misconceptions about Zcoin and what it actually is. Unlike Zcash, Zcoin does not hide the amount of coins sent in a transaction, and so Zcash is less prone to privacy timing attacks than Zcoin.
Another fundamental difference is the minting process in Zcoin, which requires users to burn Bitcoin that is then converted into Zcoin which can be spent privately. Although this is an interesting method that provides benefits over the traditional mixers, it is flawed in the sense that these coins can’t be converted back into Bitcoin. Although some projects like RSK are working on sidechain/drivechain solutions that allow for a 2-way-peg, Zcoin is still limited in this respect.
Jl777, Lead developer and founder of SuperNET, commented on the used of the Zcoin protocol:
I rejected using the libzerocoin as it was a lot of code, bloated size and not-field tested... too risky.
Bugs happen, the only question is the scope of the bugs, that is why there is a need for review and testing. You can't know what the bugs will be ahead of time; if you did, you would fix it.
Reviewing this code is quite difficult as it uses cutting edge crypto, that is why I only considered Zcash, which has a very thorough development team, the original scientists who came up with the cutting edge math, $250,000 USD external code audit, lots of test vectors. Reusing an existing proof is a pretty basic test that was overlooked. If that was missed, what else of that magnitude was also missed?
Peer-reviewing and testing is vital, especially when it comes to new technology like anonymous blockchain technology. The amount of effort and funding that has been put into Zcash is considerable. By forking from this project Komodo has been able to start off with a strong and secure basis on which to build innovative features.