I’ve heard some chatter and misconceptions about the difference between Darkcoin vs Zerocoin, so here’s a write up about the pros and cons of each approach and what they do differently. DarkcoinFirst off, most people start by asking is DarkSend actually real and does it work? Yes! Checkout the development progress here:
https://bitcointalksearch.org/topic/anndrk-darkcoin-darksend-anonymous-technology-pre-alpha-launch-467857DarkSend is based off of Greg Maxwells original idea called Coinjoin, with some added improvements and decentralization. The decentralized approach is important because the logic is self contained in the client, which is managed by the users themselves. This is a trustless solution.
Darkcoin uses the base transaction layer to sign it’s transactions in much the same way that Bitcoin does. The mathematics are tried and true and have been used for years in computer security and banking.
Transactions will be grouped together and the same cost as sending transactions on the normal network. Both DarkSend and normal transactions will be available to choose from, but at some point we might default to DarkSend (and go Dark).
It’s also worth noting that this approach doesn’t bloat the blockchain at all either. Transactions are the same size as the would have been.
ZerocoinThe approach Zerocoin takes is to use some exotic mathematics to hide the identity with a zero-knowledge proof. This allows a higher quality of anonymity, but also could have some unforeseen hole that will be exploited later.
Checkout this link to see the mathematics I'm talking about:
https://github.com/Zerocoin/libzerocoin/blob/master/AccumulatorProofOfKnowledge.cppZerocoin's proof of work is in the 344 byte range, which was reduced from 50kb in Mathew Green’s original work. These proofs must be stored in the blockchain for each transaction that goes through the network for confirmation purposes and the ledger history, so this will cause a lot of bloat. There is also a need for these proofs to be processed by the networks nodes, being larger will cause more intense CPU usage with smaller transaction rates.
Mixing Services - (Fedoracoin, Anoncoin) The revolutionary feature of Bitcoin was not the currency, but the decentralized ledger. Mixing services are great at what they do, but any hosted service is inherently centralized and requires an amount of trust of that entity. Services setup in a centralized way can also be compromised without users knowledge.
---
I think the Darkcoin approach has the best mix of features, with the least risk and it’s decentralized. So we definitely have our place in the market.
EDIT: I accidentally copied misinformation from a bad source on the internet, I was looking for original sources this morning trying to vet my post and found it was wrong. Sorry!
References:
Coinjoin spec:
https://bitcointalk.org/index.php?topic=279249.0;allMatthew Green's paper:
http://www0.cs.ucl.ac.uk/staff/G.Danezis/papers/DanezisFournetKohlweissParno13.pdf