10.02.2016 Views

Bitcoin and Cryptocurrency Technologies

1Qqc4BN

1Qqc4BN

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The only thing that the ledger records publicly is the existence of these transactions, along with proofs<br />

that allow the miners to verify all the properties needed for the correct functioning of the system.<br />

Neither addresses nor values are revealed on the block chain at any point. The only users who need to<br />

know the amount of a transaction are the sender <strong>and</strong> the receiver of that particular transaction. The<br />

miners don't need to know transaction amounts. Of course, if there is a transaction fee, the miners<br />

need to know that fee, but that doesn't really compromise your anonymity.<br />

The ability to run as an entirely untraceable system of transactions puts zerocash in its own category<br />

when it comes to anonymity <strong>and</strong> privacy. Zerocash is immune to the side-channel attacks against<br />

mixing because the public ledger no longer contains transaction amounts.<br />

Setting up Zerocash. ​In terms of its technical properties, Zerocash might sound too good to be true.<br />

There is indeed a catch. Just like Zerocoin, Zerocash requires “public parameters” to set up the<br />

zero-knowledge proof system. But unlike Zerocoin, which requires just one number ​N​which is only a<br />

few hundred bytes, Zerocash requires an enormous set of public parameters — over a gigabyte long.<br />

Once again, to generate these public parameters, Zerocash requires ​r<strong>and</strong>om <strong>and</strong> secret inputs​, <strong>and</strong> if<br />

anyone​knows these secret inputs, it compromises the security of the system by enabling<br />

undetectable double-spends.<br />

We won’t delve any deeper into the challenge of setting up a zk-SNARK system here. It remains an<br />

active area of research, but as of 2015 we don't know exactly how to set up the system in practice in a<br />

sufficiently trustworthy way. To date, zk-SNARKs have not been used in practice.<br />

Putting it all together. ​Let’s now compare the solutions that we have seen, both in terms of the<br />

anonymity properties that they provide <strong>and</strong> in terms of how deployable they are in practice.<br />

System Type Anonymity attacks Deployability<br />

<strong>Bitcoin</strong> pseudonymous transaction graph analysis default<br />

Manual<br />

mixing<br />

mix<br />

transaction graph analysis,<br />

bad mixes/peers<br />

usable today<br />

Chain of mixes<br />

or coinjoins<br />

mix<br />

side channels, bad<br />

mixes/peers<br />

bitcoin-compatible<br />

Zerocoin<br />

cryptographic<br />

mix<br />

side channels (possibly)<br />

altcoin, trusted setup<br />

Zerocash untraceable none known altcoin, trusted setup<br />

​Table 6.14: A comparison of the anonymity technologies presented in this chapter<br />

190

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!