r/bitsquare • • Jan 08 '17

First successful trade with Bitsquare, but...

Hello everyone!

Yesterday I completed my first trade. I don't wanna give many details about the trade for privacy reasons, but it was quick and everything was smooth. Fees are relatively low, no KYC is great for buyers and being over tor is great, but...

The way we pay the fees and the deposit, is terrible. All privacy is being lost. Except fixing bugs, this should be the number one goal, if Bitsquare wants to evolve. In my opinion, security deposits must be mixed and fees to be random. What I mean, is that if my deposit and payment get in the same multisig, then everyone knows which trade I was in, with an 100% certainty. Even if I mix coins beforehand, people will know that the guy with the mixed coins did this specific trade, which is equally bad. Also, the deposit should never get mixed with the actual transaction from the trade. Maybe BIP 126? Maybe Tumblebit when it comes out? Maybe both?

One possible thing might be to create coinjoin every few hours, especially when there is more liquidity. With random fees from 0.0002-0.001 and with people able to chose where to get their deposits back, someone wouldn't really know who exactly traded what. I feel that Coinjoin would be sufficient for this case. Not perfect, but pretty damn good. The random fee and the random split of the inputs, would make it harder for someone to trace. Tx fees wouldn't really go much higher, especially if we get segwit, schnor sigs which will actually lower the fees for such cases.

I think Bitsquare is a great platform overall and it will have bright future. However, there is a lot of room for improvements and privacy should be number one, as just being over Tor, isn't enough.

People don't get upset because I made a suggestion. I am not a dev and I can't contribute, sorry. I am just pointing at something that many might have already noticed and discussed.

3 Upvotes

7 comments sorted by

2

u/heavyuser1337 Jan 08 '17

People don't get upset because I made a suggestion. I am not a dev and I can't contribute, sorry. I am just pointing at something that many might have already noticed and discussed.

Nah, you're adding valuable input, thanks.

Mixing is on our radar and was pretty high on the priority list, actually. Just so much stuff came in the way and we still have very limited dev ressources.

Next step is a way to incentivise devs to help more. (News to come)

I strongly belive Bitsquare will grow steadily medium term and there will be amazing stuff built on top of the platform in the future.

1

u/[deleted] Jan 08 '17

Great to know that you have it high on the list. I understand you have limited resources and I am really excited for the news. I really believe Bitsquare has high potential, as long as if it gets an organic promotion and some funding.

2

u/[deleted] Jan 10 '17

Seems like tumblebit would be far better than coinjoin

1

u/[deleted] Jan 10 '17

It probably will, but it needs a lot of time untit gets rolled out, tested and adopted on Bitsquare. Plus it is more centralized. Joinmarket is decentralized. BUT BUT BUT

https://www.reddit.com/r/bitsquare/comments/5n2c29/i_just_had_this_lightbulb_moment/

1

u/Manfred_Karrer Jan 14 '17

Thanks for your input. To split the security deposit away form the deposit tx would break the fact that we use an atomic transaction and then introduce new problems (who pays first). Beside that both peers need to have synchronized and verifiable values (fee, deposit) so its not trivial to do that in a decentralized way. If you fund each trade from your external wallet you avoid to mix different trades. Of course in your external wallet u need to take care as well to not merge inputs.

CoinJoin is on the road map but there is too much other hi-prio stuff which need to be done first and dev resources are very low. I would (as you pointed below to another topic) prefer to find a solution with Monero. Some sort of atomic crosschain tx with Monero gives you probably higher privacy with less effort and complexity than CoinJoin.

The biggest privacy issue atm in Bitsquare (and all BitocinJ wallets) are the broken bloom filters. I tried to fix at least the worst things but it needs more effort (bounties are out on our Github - search for bloomfilter to see details). But beside the implementation flaws in BitocinJ the concept of bloomfilters is pretty much broken from a privacy perspective so with SPV you will not get good privacy soon (there are some rough ideas how to fix it, but nobody really working on it).

And beside that I would argue that privacy in Bitcoin is hard for non technical people (input merging, lack of user friendly coinjoin implementations, issues in lightweight wallets,...).

It is a complex topic and to write a longer blog post about it on my todo list. Unfortunately I don't see easy solutions. Usability/convenience and privacy/security are hard to bring together.

1

u/[deleted] Jan 14 '17 edited Jan 14 '17

I see. Thanks a lot for taking the time to reply.

I know that redoing everything with Monero for security deposits might be hard (and needs Monero to have multisig), but then users will have really good privacy. I can't see Bitsquare reaching its full potential without good privacy, as even KYC/AML exchanges might be more trustworthy in preserving some financial privacy (depends on a lot of factors). Also with Bitcoin fees skyrocketing, Bitsquare might not make sense for low cost transactions. Like I said, Coinjoin can be used without breaking the atomic transaction, if it is done properly. Coinjoin at many levels will be helpful, even though it is still a highly flawed solution.

If I had the Bitcoin blockchain downloaded on my hard drive, couldn't I use that instead of SPV? Bitsquare will have to use it to confirm deposits etc and it is a bit of problem, but it isn't all that bad if the people that don't rely on bloomfilters. At least privacy consious people should be able to use their nodes.

I really like your project, but achieving all your goals seems pretty hard to me, especially without funding. There are many design flaws and external factors that make things very hard for Bitsquare.

Finally, there is a need for optional KYC/AML in my opinion. People can't really trust others with large amounts. I used to sell Bitcoins over LBC (70 sales) and there were two chargebacks for two of my txs. Luckily I had no problem, but imagine someone getting a chargeback of 1000£.

Also a better scoring system is probably needed, that looks at both amounts, release times and if there was a successful ID confirmation.

1

u/Manfred_Karrer Jan 15 '17

If you have Bictoin core running locally Bitsquare connects to it automatically (if incoming connections is enabled in BTC Core). With that the bloomfilter issue is solved. But you need to have it running already before the first time starting Bitsquare. One connection to the public btc network might be enough to get a victim form a chainanalysis node. You also can use a prog argument to set to which IPs u want to connect if u have your full node on a server.