Pages:
Author

Topic: [ANN] Joinmarket - Coinjoin that people will actually use - page 11. (Read 85018 times)

legendary
Activity: 1680
Merit: 1010
Professional Native Greek Translator (2000+ done)
Joinmarket is an awesome project. thanks for your hard work.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
Notes from the Privacy and Fungibility roundtable from the ScalingBitcoin workshop in Montreal.

http://diyhpl.us/wiki/transcripts/scalingbitcoin/privacy-and-fungibility/


I had a few thoughts on fungibility and how JoinMarket could help.

CoinJoin only improves fungibility if it's actually used. I was worried that there might be tragedy-of-the-commons type situation where everyone benefits from fungibility but nobody wants to take the time and money to set up JoinMarket?

The answer is no. Here's why. If fungibility becomes degraded, it would first show up that large bitcoin institutions will reject your coins with the message "Your money is no good here. Those coins were used for illegal or immoral uses 3 transactions ago". When this happens the owner of those coins is going to google the problem. He'll notice that if he uses JoinMarket, he can thwart the analysis of the coins. So I think the fungibility problem solves itself once you have easy access to privacy. Any attempt to enforce non-fungibility of bitcoin will push people to seek out privacy solutions.

This means in all our literature we have to add as a feature unlinking coins from previous owners to our reasons for privacy. Also we should explicitly write a few words about how JoinMarket could help you if you've coins have been rejected. Companies intending to deploy anti-fungibility services might then think twice if they see people can un-taint their coins so easily and cheaply.

Maybe this insight was obvious to others but I just realized now.

It is a good point and well worth highlighting. There are many valid and legitimate cases why a person might come to possess coins that need to be de-linked from their past, for reasons that have nothing to do with the current holder, coins that have become tainted through no fault of theirs. There are also many valid and legitimate cases in business where there is a legal or contractual requirement for confidentiality of transactions.

It goes against the vast history of monetary markets selecting fungible goods as the best money, and just basic common experience, to expect all money transfers to be completely public knowledge, that's just a simplistic utopian fantasy trap fallen into recently by some poor reasoning. Good money needs to have strong privacy properties.
sr. member
Activity: 261
Merit: 523
Notes from the Privacy and Fungibility roundtable from the ScalingBitcoin workshop in Montreal.

http://diyhpl.us/wiki/transcripts/scalingbitcoin/privacy-and-fungibility/


I had a few thoughts on fungibility and how JoinMarket could help.

CoinJoin only improves fungibility if it's actually used. I was worried that there might be tragedy-of-the-commons type situation where everyone benefits from fungibility but nobody wants to take the time and money to set up JoinMarket?

The answer is no. Here's why. If fungibility becomes degraded, it would first show up that large bitcoin institutions will reject your coins with the message "Your money is no good here. Those coins were used for illegal or immoral uses 3 transactions ago". When this happens the owner of those coins is going to google the problem. He'll notice that if he uses JoinMarket, he can thwart the analysis of the coins. So I think the fungibility problem solves itself once you have easy access to privacy. Any attempt to enforce non-fungibility of bitcoin will push people to seek out privacy solutions.

This means in all our literature we have to add as a feature unlinking coins from previous owners to our reasons for privacy. Also we should explicitly write a few words about how JoinMarket could help you if you've coins have been rejected. Companies intending to deploy anti-fungibility services might then think twice if they see people can un-taint their coins so easily and cheaply.

Maybe this insight was obvious to others but I just realized now.
full member
Activity: 223
Merit: 132

Silly, the odds of anyone having a private key for that address are so remote I'd have a better chance of throwing a baseball to the moon...


Indeed, it seems to be a burn, for whatever reason(s).
legendary
Activity: 1258
Merit: 1027
The most interesting JoinMarket coinjoin to date.  Very cryptic.

3e1572ca351d743d7bf627bc844da8f3bdc84eab4a9d27934a8dba30a2e05fe1


Shocked

Huh

Silly, the odds of anyone having a private key for that address are so remote I'd have a better chance of throwing a baseball to the moon...

I researched some of these a while ago (most created by Luke Jr. with bible references): https://www.reddit.com/r/Bitcoin/comments/2mkmoq/til_where_the_bitcoins_at_mysteries_of_the/
full member
Activity: 223
Merit: 132
The most interesting JoinMarket coinjoin to date.  Very cryptic.

3e1572ca351d743d7bf627bc844da8f3bdc84eab4a9d27934a8dba30a2e05fe1


Shocked

Huh
sr. member
Activity: 261
Merit: 523
Also a default one is created if one doesn't exist yet.
full member
Activity: 223
Merit: 132
Do you have to create your own joinmarket.cfg file? Or is there one that comes included?

You need to create one with a text editor.  There is a sample joinmarket.cfg on the wiki.
legendary
Activity: 1320
Merit: 1007
Do you have to create your own joinmarket.cfg file? Or is there one that comes included?
full member
Activity: 187
Merit: 162
I made this commit https://github.com/chris-belcher/joinmarket/commit/be8b63fa332d18a4ba71d68e3894d29d4c9db7c8
It displays the coinjoin fee as a percentage and prints out a huge warning banner if its above 2%

It might be good to have a second layer of confirmation in this case too, just in case someone accidentally hits 'y' once. Like "The fee is extremely high. Are you sure? (y/n)".
legendary
Activity: 1258
Merit: 1027

New issue in Bitcoin Github this morning from Greg Maxwell:

Improve transaction privacy / fungibility in Bitcoin Core and the Bitcoin system [meta tracking issues] #6568

https://github.com/bitcoin/bitcoin/issues/6568

full member
Activity: 223
Merit: 132
Quote
There are assumptions, but I think that doesn't state it very well.
...

Fair enough.  Not the same thing, but certainly related, I believe.

I think #156 could be a serious privacy issue, if an entity were properly motivated.  The cost to find all the utxos on the market would be next to nothing using the method described.  I don't think it would be terribly difficult to follow the coin trails, again with sufficient resources and motivation.

It would be trivial for most state agencies to be currently doing this (although it doesn't seem it's happening based on current activity).  Depending on the situation, a maker could potentially be dragged into being a test case for joinmarket relations to illicit bitcoin sources used in coinjoins.  At least I don't think this has been tested legally.  Maybe maker privacy should also be looked at further, as they go hand-in-hand from what I see.  Maybe I'm just paranoid. Whatever the outcome, this whole bitcoin project is still incredibly interesting to me for lots of reasons, and coinjoins should to be a standardized part of it, imho.

 Cool
sr. member
Activity: 469
Merit: 253
When a transaction is created from JoinMarket, the utxo sources are only known to the taker (sender).  It is currently assumed that takers will want to maintain their privacy and won't share that information.  Something, something, assumptions...

There are assumptions, but I think that doesn't state it very well.

The taker pays for the service, and gets the assurance that *as long as not all the makers are colluding together*, then no one else knows the mapping of his outputs. The "as long as not all the makers are colluding" is the assumption. There is no assumption that, as a yield generator, you get the privacy feature that no one apart from you knows your output; the taker *definitely* knows. So your position acting as a maker/yield generator is that you offer a service and get paid; if you also get extra privacy (which in practice you certainly do), that's extra. But not assumed.

Quote
The idea of someone creating "fake" coinjoins to farm information about market maker utxos is discussed in issue 156 a bit, and maybe elsewhere on the repo.

Yes, true, it's at least related if not exactly the same thing. What we want to avoid is to break the fundamental promise - that as a taker, someone else (any anonymous IRC bot, or any individual maker) is not able to identify your outputs just by "pinging" the makers and finding their utxos. That's (at least to my mind) what the #156 discussion is about.

full member
Activity: 223
Merit: 132
JoinMarket - love it.

If the joinmarket buy/sell data is completely public, is it not possible by looking at the txn's, which inputs came from the market ? And by reduction what the original inputs are ?

If you wanted to implement this 'on-chain' somehow, for instance.


Every JoinMarket transaction is done on the blockchain.  The project is live and working, but needs quite a bit more development for widespread adoption and use.  Sorry if you already knew this.

Some work has been done to create tools to hunt coinjoins on the blockchain (issue 19).  edit: Also this one

When a transaction is created from JoinMarket, the utxo sources are only known to the taker (sender).  It is currently assumed that takers will want to maintain their privacy and won't share that information.  Something, something, assumptions... The idea of someone creating "fake" coinjoins to farm information about market maker utxos is discussed in issue 156 a bit, and maybe elsewhere on the repo.

I believe there are some posts in this thread about how the tumbler.py script affects taint analysis as well.
hero member
Activity: 718
Merit: 545
JoinMarket - love it.

If the joinmarket buy/sell data is completely public, is it not possible by looking at the txn's, which inputs came from the market ? And by reduction what the original inputs are ?

If you wanted to implement this 'on-chain' somehow, for instance.
legendary
Activity: 2156
Merit: 1131
 
This project is really interesting but without a light and very simple wallet it is hard to imagine a lot of transactions going on.

With a lot of transactions, whales would come.

Idiot-proof softwares are the ones that work the best.
newbie
Activity: 12
Merit: 0
sr. member
Activity: 261
Merit: 523
Has everyone updated for BIP66?

JoinMarket Alert Message: Please update from the latest github to fix the bip66 bug

What, if any, repurcussions would takers and makers see if trying to create a coinjoin with someone that has not yet upgraded?  More frequent signature errors?


Yep, just more frequent signature errors. Then the transaction fails to broadcast.
Nobody loses any money, at worst they fail to gain money.
That was the situation we had up until now and there were not even that many bug reports about it. I'm guessing most people used sendpayment.py and just tried it again then it would work.

It would be a mild inconvenience to people using sendpayment.py but would stall a tumbler.py process. Also anyone who doesn't understand the details of the error message might be very put off, especially if they're using some eventual GUI like an Electrum plugin or Bitcoin Core integration.
full member
Activity: 223
Merit: 132
Has everyone updated for BIP66?

JoinMarket Alert Message: Please update from the latest github to fix the bip66 bug

What, if any, repurcussions would takers and makers see if trying to create a coinjoin with someone that has not yet upgraded?  More frequent signature errors?

Pages:
Jump to: