Zerocoin: making Bitcoin anonymous
The key idea in Zerocoin is that each coin commits to (read: encrypts) a random serial number. These coins are easy to create – all you need to do is pick the serial number and run a fast commitment algorithm to wrap this up in a coin. The commitment works like encryption, in that the resulting coin completely hides the serial number . At the same time this coin ‘binds’ you to the number you’ve chosen. The serial number is secret, and it stays with you.
http://blog.cryptographyengineering.com/2013/04/zerocoin-making-bitcoin-anonymous.html