Bitcoin Forum
November 14, 2024, 12:06:49 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 »  All
  Print  
Author Topic: [ANN] Joinmarket - Coinjoin that people will actually use  (Read 85001 times)
spartacusrex
Hero Member
*****
Offline Offline

Activity: 718
Merit: 545



View Profile
August 11, 2015, 12:04:26 PM
 #141

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.

Life is Code.
CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 132



View Profile WWW
August 14, 2015, 02:47:57 AM
 #142

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.

CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 132



View Profile WWW
August 14, 2015, 09:56:41 PM
Last edit: August 15, 2015, 08:48:35 AM by CohibAA
 #143

 Shocked

Alert: Someone sent coins to, and has been using, a null bip32 seed wallet. I have swept 1.59 btc.

Issue #190

edit: resolved

waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
August 15, 2015, 06:13:04 PM
 #144

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.


PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 132



View Profile WWW
August 17, 2015, 09:26:28 AM
 #145

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

windpath
Legendary
*
Offline Offline

Activity: 1258
Merit: 1027


View Profile WWW
August 18, 2015, 01:20:15 PM
 #146


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

go1111111
Full Member
***
Offline Offline

Activity: 187
Merit: 162


View Profile
August 23, 2015, 07:23:59 PM
 #147

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)".
Patel
Legendary
*
Offline Offline

Activity: 1320
Merit: 1007



View Profile WWW
August 25, 2015, 02:06:15 AM
 #148

Do you have to create your own joinmarket.cfg file? Or is there one that comes included?
CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 132



View Profile WWW
August 25, 2015, 05:41:03 AM
 #149

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.

belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
August 25, 2015, 09:45:33 AM
 #150

Also a default one is created if one doesn't exist yet.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 132



View Profile WWW
August 29, 2015, 05:28:07 AM
 #151

The most interesting JoinMarket coinjoin to date.  Very cryptic.

3e1572ca351d743d7bf627bc844da8f3bdc84eab4a9d27934a8dba30a2e05fe1


Shocked

Huh

windpath
Legendary
*
Offline Offline

Activity: 1258
Merit: 1027


View Profile WWW
August 29, 2015, 02:59:40 PM
 #152

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/
CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 132



View Profile WWW
August 31, 2015, 06:37:36 AM
 #153


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).

belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
September 14, 2015, 01:05:01 AM
 #154

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.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
September 14, 2015, 01:44:53 PM
 #155

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.

killerjoegreece
Legendary
*
Offline Offline

Activity: 1680
Merit: 1010


Professional Native Greek Translator (2000+ done)


View Profile
September 14, 2015, 02:27:49 PM
 #156

Joinmarket is an awesome project. thanks for your hard work.
box0214
Sr. Member
****
Offline Offline

Activity: 350
Merit: 252


View Profile
September 14, 2015, 07:22:53 PM
 #157

i wonder if this concept can be combined into the Multigateway project?
Financisto
Hero Member
*****
Offline Offline

Activity: 640
Merit: 771

BTC⇆⚡⇄BTC


View Profile WWW
September 16, 2015, 02:29:58 AM
 #158

This is a nice project.

So interesting that IMO It should even be suggested as a Bitcoin Improvement Proposal - BIP.

LIST • ESCROW providers • Ranking & ScoresLIST • FOSS BrainwalletsBTC ⇆⚡⇄ BTCBTC aka BTC: 16MBvhaJoRBxW3Vk6apnvz3UYT9HAgraVS ⚡ PGP: 2680207AA9A1B69FE7A033D80DE0F221074384C4 ⚡ If you think freedom matters, please support the development of these privacy projects→DONATE some sats: TailsQubes OSWhonixVeraCryptPicocryptKryptorSimpleX Chat
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
September 16, 2015, 11:56:34 AM
 #159

That's not really what BIPs are for. JoinMarket doesn't need any new consensus.
For advice and ideas I'd already talked to many people before I started coding.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
September 23, 2015, 03:51:54 PM
 #160

I've merged the code which implements a timeout for takers. If a maker doesn't respond for some time (default 30 seconds) the taker will connect to a new maker and try to finish the coinjoin. This means a tumbler.py run will not be stopped by one nonresponding maker. In fact in testing me and others ran very long tumbler.py runs and fixed several other bugs.

JoinMarket can now very robustly improve your privacy.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!