As an example for how feasible and accessible is anonymity and privacy in bitcoin I'd like to introduce you to an elegant concept presented by a newbie in bitcointalk two years ago, to which I was honored to contribute as well as another newbie account who made an excellent contribution too.
The idea is swapping coins using a homomorphic hash function that allows users to claim funds without disclosing a shared/common secret ever!
It is the thread:
Anonymous Atomic Swaps Using Homomorphic HashingInterestingly you can observe that how sharing ideas and collaboration makes it possible to do fantastic jobs when everybody is welcoming and humble enough to share and to learn. As far as I am concerned, this proposal is finalized and ready for implementation and provides the basis for serious improvement in bitcoin anonymity and privacy.
Edit:
For those who may be lost in the mathematical details:
Suppose we have support in bitcoin (and for swap purposes in another coin, Xcoin) scripting language for a
secure hash function
H which is homomorphic in the sense that:
H(a) + H(b) = H(a+b) //---> homomorphism
Two chains (two coins) anonymous atomic swap use case1- Alice privately chooses secret
a calculating:
ha =
H(
a)
2- Alice privately sends
ha to Bob offering a swap for her bitcoins with Bob's Xcoin
3- Accepting the trade, Bob chooses secret
b calculating:
hb =
H(
b)
hs =
hb +
ha4- Bob generates an HTLC transaction tx
B locked on
hs and publishes it on the Xcoin chain.
5- Bob privately sends
hb to Alice along with the id of tx
B.
6- Alice verifies that
hs which tx
B is actually locked on is the sum of
ha and
hb.
7- Alice generates an HTLC transaction tx
A locked on
hb publishing it on bitcoin blockchain.
Now for Bob to claim his bitcoins he needs to reveal the secret
b, letting alice to compute a+b and use it as the secret necessary for claiming her Xcoins.
The point is that the secrets used to claim bitcoins and the one used for Xcoin
are not the same, so there is
no way for third parties to track down the relation between Alice and Bob.
Chip Mixing in bitcoinThe protocol can be used as a path for swapping coins anonymously on the same chain where both parties' roles are played by one person, some considerations about tracking down the path using similar amounts should be taken into account while there is potential for making regular transactions by multiple independent users synchronized loosely that can help with anonymization very effectively.