3 ms·
EDIT: Check out [1] for a better explanation. Specifically, page 2 has a nice description. Its been a while since I read about it, so the method may have chang
by gizmo686 12y ago
EDIT: Check out [1] for a better explanation. Specifically, page 2 has a nice description.
Its been a while since I read about it, so the method may have changed (or I may be misremembering), but here is my understanding:
Every zerocoin has a secret key associated with it (that only the creator of said zerocoin knows). Using a cryptographic primitive called a zero knowledge proof, it is possible for someone to prove that they know the secret without revealing the secret itself.
There is another cryptographic primitive called an accumulator, which represents the set of all zerocoins that have been created. It is possible to prove that you know the secret of some zerocoin within this set, without revealing which zerocoin it is. It is further possible to prove that the zerocoin you know is different from all of the other zerocoins which have been claimed in this manner.
To 'transfer' a zerocoin from party A to B, party B generates a new zerocoin, and sends the (public) details to A, keeping the secret to itself. Party A then uses the above mechanism to show that it has an unspent zerocoin, and spends that coin to insert B's coin into the accumulator. Simmilarly, A could spend a normal bitcoin to do so (or do anything else that would convince the network that A has the right to insert a zerocoin into the accumulator).
[1] http://spar.isi.jhu.edu/~mgreen/ZerocoinOakland.pdf http://spar.isi.jhu.edu/~mgreen/ZerocoinOakland.pdf
EDIT 2: s/crystallographic/cryptographic/
- prawn 12y agoYou were doing so well until "crystallographic primitive"! ;) Is this the same thing? http://en.wikipedia.org/wiki/Primitive_cell http://en.wikipedia.org/wiki/Primitive_cell (Upvoted and appreciated though. The rest is a lot clearer.)
- gizmo686 12y agoProbably, that's the first result I got when googling "crystallographic primitive", my comment problem makes more sense reading it as "cryptographic primitive" :). Unfortunately, primitive cells seem mathy enough to be plausibly to cryptography for that to be a confusing mistake (especially given the existence of lattice based cryptography).
- maaku 12y agoZerocash != Zerocoin (What you describe is Zerocoin, the OP is about Zerocash)
- gizmo686 12y agoGood catch. I haven't thoroughly read the OP, but from the little bit I have read, it looks like they refer to the currency of Zerocash as zerocoins (the uppercase on Zerocash and lowercase on Zerocoin come from the paper), and the OP seems to be by the same authors. Can anyone comment on how simmilar/different Zerocash is from the original Zerocoin? Did they just improve the underlying crypto, or is there a more high level change involved?
- nullc 12y agoIt's a radically different approach. Zerocoin basically implemented a decenteralized 'mix' via a blind accumulator. Zerocash uses zero knoweldge proofs of execution for general computation so that basically all properties of a coin can be completely blinded. In ZeroCoin, coins— all of equal denomination— go into a bag (one bag per denomination), and coins come out of the bag and you can't tell which was which (except, of course it can't come out until after it's gone in.). In Zerocash its more like everything is completely encrypted, even the values, the network knows that its all valid due to zero knoweldge proofs, but only the transaction participants know any of the details of the transactions at all. In some ways Zerocash is really the some of the most pedestrian applications of the ZK-SNARK technology, ... prepare to have your mind blown and go read some at http://www.scipr-lab.org/ http://www.scipr-lab.org/