Does the bitcoin block contain minimal transaction detail? (Is it as private as possible given the proof-of-work design?) From https://crypto.stackexchange.com/questions/508/could-one-prevent-double-spending-in-decentralized-digital-currencies-like-bitc

"Now, the only information about the transaction that needs to be public is enough information to prove I have the coins and prove that I didn't transfer them elsewhere. As it happens, the Bitcoin protocol leaks much more information than this (for example, the account I transferred the coins to). The protocol could have been designed to make less information public if that was desired."

Is this true, could the block-chain report less data but still gain the proof-of-work mechanism's benefits?  If so, what aspects of the blockchain are non-essential and what is the reason for including them?
In order to send someone some coins, you need to know their public address.
In order for them to redeem their coins, they have to show everyone that they possess the private address associated with that public address.


You could try encrypting your public key by some means and later decrypt it when you want to spend the coins, but you'd probably have to provide something that could identify you similarly to using a public key.

You could alternatively encode only transaction hashes in the block, rather than actual transactions and only send the actual transaction to the peer you are sending the coins to. This approach though creates a lot of new problems with validation and so forth.

All in all, Bitcoin protocol doesn't have much excess data. In fact, by today's standards one may say it is trying to be too slick at times (say by using something like VarInt).