Pages:
Author

Topic: So now that blockchain supports CoinJoin, what pitfalls should we be aware of? (Read 11296 times)

VTC
member
Activity: 84
Merit: 14
Shared Coin is currently disabled.

Any updates?
newbie
Activity: 46
Merit: 0
After almost 5 hours and having declined to very poor network propagation again that transaction made it through.

The next one I just sent shows as a double spend after a few minutes, wonder what's gonna happen Wink

UPDATE: Coins got returned into my wallet after a while and I could resend them.

newbie
Activity: 46
Merit: 0
After waiting another 4 hours for the next SharedCoin transaction, which was still unconfirmed, I googled a bit and came up with this post, where someone just 12 hours ago had the same problem and got the coins unstuck by rebroadcasting a transaction manually to another wallet:

http://www.reddit.com/r/Bitcoin/comments/1y7omy/heres_some_good_tools_to_know_about_in_case_you/

Maybe the information/method contained in that post will come in handy for someone.

He points to one transaction with an output < 0.01 BTC and a size > 2KB with no fee attached somewhere down the SharedCoin transaction chain as the culprit. Whether that is a problem in the SharedCoin implementation as suggested in that post, I will leave for others to decide.

I didn't get around to trying his approach to solving the problem anyway, since while writing this post, the transaction finally started to propagate and I expect it to be confirmed soon Cheesy

So I didn't investigate, whether the reason for the delay in processing was the same or similar as described in that reddit link or whether there's another legit reason for the delay in propagation (which sits there at 0% for hours and then suddenly rises quickly). Maybe it's just normal and to be expected waiting for inputs to be confirmed (which still show as partly unconfirmed, while propagation is rising, though - it appears as if blockchain.info is waiting all the time, before it finally broadcasts the transaction in question. Since some inputs are still unconfirmed, while propagation starts, I don't really know for what.).

Just sharing my experiences...

Maybe someone more familiar with the intricacies of CoinJoin and blockchain's implementation of it can fill in the gaps Wink
newbie
Activity: 46
Merit: 0
Unfortunately, today I ran into an issue.

I made a SharedCoin transaction with 10 repetitions, the receiving address showing unconfirmed incoming transactions after some time.

Waited for a few blocks, then these incoming transactions vanished and the balance was restored to my blockchain wallet.

Trying to resend those coins via SharedCoin again to the same address failed with some error messages in JavaConsole:

"executeOffer failed Outpoint [...] already Spent in Completed Transaction"
"Outpoint [...] already Spent in Completed Transaction"

The only way I could resend those coins using SharedCoin was to use a new receiving address.

Then the SharedCoin transaction apparently went through, but the coins were quickly back in my blockchain wallet, before the new receiving address even showed an unconfirmed transaction.

Tried resending again to another new address, which failed again, leaving the coins in my wallet:

"executeOffer failed Outpoint [...] already Spent in Completed Transaction"
"Outpoint [...] already Spent in Completed Transaction"

Can anyone advise how to get the coins out of my blockchain wallet using SharedCoin?

EDIT: Trying a 4th new address with "recover intermediate addresses" before (which as expected recovered 0.00 BTC, since I had the full balance restored) didn't help either. Maybe I should try sending them without SharedCoin to another blockchain wallet and try SharedCoin again from there? Or will it not let me do that either since the coins are "already Spent in Completed Transaction"?



Update:

I sent all the coins to another blockchain wallet to start from scratch.

Sent a part of the total balance (thought, I'd split it up this time in several SharedCoin transactions) via SharedCoin again with 10 repetitions, which went through (as in the SharedCoin process completed).

The resulting transaction to the receiving wallet is still unconfirmed after almost 2 hours.

I can't spend the remaining funds in the blockchain wallet, since the change output of that SharedCoin transaction (the whole remaining balance) sits there unconfirmed, too:

"Some funds are pending confirmation and cannot be spent yet (Value [...] BTC)"
"No Free Outputs To Spend"

Clicking on the "Unconfirmed Transaction!" button under "My transactions" shows a network propagation of 0% (no double spend detected).

Any kind of help or advice would be much appreciated.

EDIT: A few minutes after posting, the network propagation finally became a non-zero value (5%), so something seems to be happening now.
Update: Change output at 3, receiving address at 1 confirmation now. It appears, it just needed patience or maybe the transactions got stuck and were rebroadcast after 2 hours and then quickly picked up. Still wondering, if the original problem of not being able to resend the coins from the first blockchain wallet after a SharedCoin transaction got returned to my wallet could have been solved without sending them to another wallet.
Another update: Now the second time, it took 3 hours to propagate for first confirmations. But the service works Smiley Maybe it's normal for it to take some time, which is not a problem, I am not in a hurry. It's just that the first time I used it a few days ago, it was much faster.
newbie
Activity: 46
Merit: 0
Unfortunately, today I ran into an issue.

I made a SharedCoin transaction with 10 repetitions, the receiving address showing unconfirmed incoming transactions after some time.

Waited for a few blocks, then these incoming transactions vanished and the balance was restored to my blockchain wallet.

Trying to resend those coins via SharedCoin again to the same address failed with some error messages in JavaConsole:

"executeOffer failed Outpoint [...] already Spent in Completed Transaction"
"Outpoint [...] already Spent in Completed Transaction"

The only way I could resend those coins using SharedCoin was to use a new receiving address.

Then the SharedCoin transaction apparently went through, but the coins were quickly back in my blockchain wallet, before the new receiving address even showed an unconfirmed transaction.

Tried resending again to another new address, which failed again, leaving the coins in my wallet:

"executeOffer failed Outpoint [...] already Spent in Completed Transaction"
"Outpoint [...] already Spent in Completed Transaction"

Can anyone advise how to get the coins out of my blockchain wallet using SharedCoin?

EDIT: Trying a 4th new address with "recover intermediate addresses" before (which as expected recovered 0.00 BTC, since I had the full balance restored) didn't help either. Maybe I should try sending them without SharedCoin to another blockchain wallet and try SharedCoin again from there? Or will it not let me do that either since the coins are "already Spent in Completed Transaction"?

newbie
Activity: 46
Merit: 0
I can confirm, it's working, too - 10 repetitions transaction without an issue.

Thanks blockchain.info Wink
member
Activity: 68
Merit: 10
Seems to be working now, was able to make a couple of Shared Coin transactions. Thanks blockchain.info! Smiley
newbie
Activity: 46
Merit: 0
Okay, thank you for the confirmation!

Any decent alternatives you can recommend, maybe even trusted ones working like the old "shared send" feature?

full member
Activity: 229
Merit: 101
Yes shared coin hasnt worked now for 4+ days
newbie
Activity: 46
Merit: 0
Well, now api.sharedcoin.com returns 500 and in the wallet the message "Shared Coin is currently disabled to the issues affecting the bitcoin network." appears.

So it's officially down now.
member
Activity: 68
Merit: 10
Would anyone be so kind to confirm or deny whether the shared coin service is currently operational?

All I get, when trying to access it with the "shared coin" feature of my wallet is "fetching sharedcoin info" in the upper right corner briefly with the repetitions menu just offering "loading" as its only option forever with "review payment" being greyed out.

api.sharedcoin.com is giving me 502, which is shown in the Java console, too. So I assume the service is most likely just down?

I've been experiencing the same thing since yesterday. Thought maybe it had to do with NoScript even though I did allow scripts for blockchain.info and sharedcoin.com, so I tried again with NoScript disabled in FF, IE, Chrome, and Safari and all had the same problem. Tried on a different box with a different OS, and still same thing. I'm assuming the service is just down, but the lack of reports online make me wonder if it's not all that widespread. I could only find 2 tweets and a random website post, though I can't find the link to it now.
newbie
Activity: 46
Merit: 0
Would anyone be so kind to confirm or deny whether the shared coin service is currently operational?

All I get, when trying to access it with the "shared coin" feature of my wallet is "fetching sharedcoin info" in the upper right corner briefly with the repetitions menu just offering "loading" as its only option forever with "review payment" being greyed out.

api.sharedcoin.com is giving me 502, which is shown in the Java console, too. So I assume the service is most likely just down?

If so, anyone knows since when and when/if it will be back?

Any recommendations for trusted mixing services (doesn't have to be CoinJoin, I actually preferred blockchain's older "shared send" approach)?
hero member
Activity: 910
Merit: 1005
Is this feature still working? I haven't been able to click the "review payment" button for quite some time now when I try to submit a shared coin transaction.

Yes sharedcoin is still functional. What browser are you using? Are there any errors in the javascript console.
sr. member
Activity: 342
Merit: 250
Is this feature still working? I haven't been able to click the "review payment" button for quite some time now when I try to submit a shared coin transaction.
hero member
Activity: 910
Merit: 1005
I like the recent updates to the Shared Coin website. It looks like you are standardizing the name of the service to Shared Coin from SharedCoin, which will help SEO if used consistently.

Yep some more information is now available on the sharedcoin.com site. Over 500 transactions completed today.
sr. member
Activity: 285
Merit: 250
I like the recent updates to the Shared Coin website. It looks like you are standardizing the name of the service to Shared Coin from SharedCoin, which will help SEO if used consistently.
sr. member
Activity: 285
Merit: 250
Thanks for the comparison. The information on the SharedCoin website makes the service seem a clone of Shared Send, coinjoin is never mentioned.
hero member
Activity: 910
Merit: 1005
Can you expand on this point please: since blockchain.info is now offering two mixing services, if Shared Coin can not guarantee 0% taint but Send Shared can, why would anyone choose to use Shared Coin rather than Send Shared? Thanks.

Shared Coin

- "Trustless mixer"
- Free
- Quick (30 seconds)
- Coins never leave your control so requires less trust in the operator.
- Service not hosted by blockchain.info.
- Design to be used to everyday for the majority of your bitcoin transactions.

Shared Send

- "Traditional mixer"
- 0.5% Fee
- Can be slow sometimes
- Coins sent to the operator, trust is then required that the operator will actually send the coins back.
- 0% taint

Trustless mixers are the future of bitcoin mixing but arguably at the moment provide weaker anonymity. However the techniques are still new and there is much room for improvement (P2P, Coinswap). So in time Shared Send will likely be depreciated in favour of Shared Coin but it is not quite ready yet (they do not have to be mutually exclusive, use both if you want).
sr. member
Activity: 285
Merit: 250
Quote
So I have a basic understanding of what CoinJoin is doing however I am wondering if there is a FAQ out there on how to use it safely without accidently leaking info?

The website and FAQs are not available yet, so as a quick summary:

Coinjoin is a method of coin mixing which requires less trust in the mixing service. The coinjoin service available on blockchain.info is known as "Shared Coin" and is a separate entity to blockchain.info hosted at https://sharedcoin.com. Shared coin hosts a server which acts as a meeting point for multiple people to join together in a single transaction. Having multiple people in a transaction improves privacy by making transactions more difficult to analyse. The important distinction between traditional mixing services is the server cannot confiscate or steal your coins.

A sharedcoin transaction will look something like this: https://blockchain.info/tx/e4abb15310348edc606e597effc81697bfce4b6de7598347f17c2befd4febf3b (picked at random). As you can see multiple inputs and outputs make the determining the actual sender and receiver more difficult.

The server does not need to keep any logs and transactions are only kept in memory for a short time. However If the server was compromised or under subpoena it could be force to keep logs and deanonymize the users. If this were to happen although you haven't gained any privacy you haven't lost any either. For this reason, especially for those desiring strong anonymity, it will likely be wise to rely on multiple different coinjoin implementations (even if using a p2p system). Infiltrating one system is much easier than infiltrating multiple systems and correlating everything together. If enough people use coinjoin and it is integrated into multiple different clients the privacy of everyone in the bitcoin network improves.

Quote
How to use it safely without accidently leaking info?

- Tor can prevent leaking of information through your ip address.

- Sending coins to or from tagged addresses reduces privacy.

- When creating a shared coin transaction your browser generates a number or temporary/intermediate addresses. The balance of these addresses is not checked on blockchain.info itself unless the "Recover Intermediate Addresses" button is used. Looking up the balance of these addresses is an information leak as if blockchain.info was keep logs it would show you had an interest in these addresses. So don't use the "Recover Intermediate Addresses" tool unless there has been an error with a transaction.

Quote
What limitations does it have?

Coinjoin can never completely sever the link between the input and destination address, there will always be a connection between them, it is just more difficult to analyse.

Quote
Why would I pay 0.5% for blockchains mixing service when CoinJoin is free?

Shared send can handle larger amounts more effectively, it also guarantees 0% taint which coinjoin can never do. Shared send will most likely be depreciated in time but at the moment there are use cases for both services.

Can you expand on this point please: since blockchain.info is now offering two mixing services, if Shared Coin can not guarantee 0% taint but Send Shared can, why would anyone choose to use Shared Coin rather than Send Shared? Thanks.
hero member
Activity: 910
Merit: 1005
So sharedsend does not give you a link between the destination and input address?

Correct.

Thanks for such service, now i wonder why we need sharedcoin.com

Soon there will be a purpose to sharedcoin.com, at the moment it is just a placeholder.

Can we have an option to specify change addresses for shared coin transactions? And an option to send to multiple addresses (similar to how is possible in custom send)?

Also, will the shared coin feature be coming to the browser extensions and mobile apps in the foreseeable future? Thanks a bunch.

Good suggestions, we have plans to implement them all.

Lots of improvements to error handling and recovery made today, so if you have experienced any errors previously please give it another try now.
Pages:
Jump to: