We all know what happened with one big mixer recently and reading reports we could see that authorities seized a lot of coins and other data stored on 7TB drives.
There is a lot of competition for remaining mixers and there is certainly demand for bitcoin mixing, but it's hard for me to trust any new mixer.
I know it takes time for this, so I hope you will remain active in bitcointalk forum in future.
We will launch a review campaign shortly with funds held in escrow by minerjones, you'll be able to try out the service safely. It's going to take time to build trust, but we'll be here to prove ourselves.
My question is, what is Whirlwind.money doing differently that will prevent something like this happening for you in future, and do you store coins in hot or cold wallets?
Thanks for the question - we went to great lenghts to protect against any kind of hack/attack on our service and this is mostly the reason why it took us over 2 months to develop and test Whirlwind. I'll quote some answers
Since we are using a single aggregate address for all deposits and withdrawals, holding its private key on a server would be a risky move. That is why we decided to use a backend+validator model. The backend’s job will be to interact with end users by generating deposit addresses, processing withdrawals, etc. In the initial design, there will be x validators which will validate all of the backend’s actions (verify funds were received from the deposit address to the main aggregate address, verify submitted credit notes for withdrawals). These x validators will hold the multi-sig keys for the main address and will be hosted on different servers. Whenever a withdraw transaction is being sent, the signatures must be retrieved from all validators which are able to verify the transaction is correct. If an attacker manages to gain access to the backend, it would be pointless, as he will not be able to steal the funds (since the keys are on different servers), and he will not be able to forge proofs in order to withdraw another user’s BTC to his wallet. Using this model, we will be able to further decentralise this service by allowing other trusted members to run their own federated validators so that a single entity will no longer hold all of the multi-sig keys.
When a user deposits BTC using the fast withdraw method, the backend sends the deposit hash to the validators and whitelists the receiving addresses. After the signature is sent to the backend, the validators delete all proofs of those receiving addresses, keeping only the deposit transaction hash so that they would not accept a “duplicate proof”.
When a user deposits BTC using the slow withdraw method, the backend sends the deposit hash to the validators and they assign credit to the note’s public key. When the user wants to withdraw his BTC, he must send a signature to the backend which will process this. This signature will also be sent to the validators which will check it and remove credit from the note’s public key and whitelist the receiving addresses. If an attacker compromises the backend server, he would not be able to forge user note signatures in order to fool a validator to send him funds, because only the users have access to the notes’s private keys. Again, the proofs are deleted after their use.
At the moment, with whirlwindmoney being the sole operator of the site, then they are in control of all 3 keys in a 3-of-3 multi-sig. This provides additional security against a single server being seized or infiltrated, but it still requires complete trust from the end user that whirlwindmoney won't scam them, as it would in a normal single-sig set up.
Bottom line is that compared to the service you asked me about that was running on 2 servers, I can't say our exact number,but we have >5. And if you don't get access to all of them at the same time then it's the same as getting access to none, there is nothing you can do. The only server that is public is the clearnet frontend, which we assumed is infiltrated from day 1, so nothing to worry about there. The others are behind lots of layers so even if it would be possible to somehow get to them, it would definitely take a lot of time. (Servers are not exposed between them, so even if you get access to the backend, you won't know the IPs of the signers and other servers)
All servers are from different providers and we will change them with new ones once every month or so, just in case.
I see that you are using multisig setup, and I like this approach, but are Notes ever stored anywhere online by you or not?
All funds are stored in the multi-sig, Notes are proof that you are owed
BTC from the pool. We only keep the public key of the Note and the balance, nothing else. There is no identifiable information such as deposit address/timestamp, that's why it's so important that you store your Note private key safely, you will need it to withdraw.
Apologies if it's too much info and it's hard to follow, but I want to be as transparent as possible and not leave out important details. It's normal if some are skeptical because the service works differently than what they're used to and because of the latest events, but i'm confident that once we get over the trust issues and users understand how everything works, Whirlwind will become the benchmark in this niche.
For any other questions I'm always here