https://github.com/BUSEC/TumbleBit/
TumbleBit
Proof of Concept implementation of TumbleBit as an untrusted classic tumbler as described in: "TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub".
Description: TumbleBit is a new anonymous payments protocol that is fully compatible with today's Bitcoin protocol. TumbleBit allows parties to make payments through an untrusted Tumbler. No-one, not even the Tumbler, can tell which payer paid which payee during a TumbleBit epoch. TumbleBit consists of two interleaved fair-exchange protocols that prevent theft of bitcoins by cheating users or a malicious Tumbler. TumbleBit combines fast cryptographic computations (performed off the blockchain) with standard bitcoin scripting functionalities (on the blockchain) that realize smart contracts. TumbleBit was used to mix 800 input addresses to 800 output addresses on Bitcoin's blockchain.
We will be posting a development roadmap shortly.
Warning
This code is very early in its development (proof-of-concept phase) and is currently not ready for production.
- Don't use the default keys if you plan on posting transactions on testnet or mainnet.
- We have not audited this code for vulnerabilities and we are actively fixing memory corruption vulnerabilities.
- There are known memory leaks in the networking code of the servers.
- The servers currently do not handle more than one client at a time.
- There are known side channel attacks on ECDSA in openssl.
So If I buy coins from Coinbase, and send them through TumbleBit, what prevents them from closing my account due to the person who received my coins sending them to a DNM?