Pages:
Author

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

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Made a post about this on Bitcoin Discussion but was deleted for some reason so ill post it here. I've been reading about JoinMarket and noticed this post on this forum about it. url: https://bitcointalksearch.org/topic/unmixing-joinmarket-transactions-1609980

It describes a potential way to unmix JoinMarket by exploiting its maker taker system. To simplify it says that all outputs of a mix are either maker or taker but it is trivial to determine which outputs are makers as they will continue on to participate in more mixes while the taker order will not therefore it can be unmixed.

Is this still an issue for JoinMarket or have they found a way around it?


First of all, if you want definite answer, you probably want ask this question on other JoinMarket community[1]. These days on this forum, i see almost no one talk technical detail of JoinMarket. Looking at one of community discussion[2], it seems the workaround is multiple CoinJoin which reduce tracking confidence or use different CoinJoin method supported by JoinMarket software.

[1] https://github.com/JoinMarket-Org/joinmarket-clientserver?tab=readme-ov-file#community
[2] https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/948
jr. member
Activity: 46
Merit: 29
Made a post about this on Bitcoin Discussion but was deleted for some reason so ill post it here. I've been reading about JoinMarket and noticed this post on this forum about it. url: https://bitcointalksearch.org/topic/unmixing-joinmarket-transactions-1609980

It describes a potential way to unmix JoinMarket by exploiting its maker taker system. To simplify it says that all outputs of a mix are either maker or taker but it is trivial to determine which outputs are makers as they will continue on to participate in more mixes while the taker order will not therefore it can be unmixed.

Is this still an issue for JoinMarket or have they found a way around it?
legendary
Activity: 2212
Merit: 7064
With my basic technical understanding this seems very promising, but I wonder if there is any chance this can ever become truely mainstream, similar to Electrum wallet for example. Just download a full functioning software with one click and either participate for "join-coining" your own BTC or provide a joincoin-node to make some tiny income for the coin-joins of others.
Anyone knows if there are any plans to in that direction?
Jamapp.org is the best solution I have seen so far.
No central coordinator, no central point of failure, but you still need to run your own node.
You can't have anything like Electrum wallet without using node from somebody else, but I don't think current Jamapp setup is complicated at all.
legendary
Activity: 2114
Merit: 1403
Disobey.
I thought I'd go ahead and give this a friendly bump.
The project seems still alive, just not here on the forum.

With my basic technical understanding this seems very promising, but I wonder if there is any chance this can ever become truely mainstream, similar to Electrum wallet for example. Just download a full functioning software with one click and either participate for "join-coining" your own BTC or provide a joincoin-node to make some tiny income for the coin-joins of others.
Anyone knows if there are any plans to in that direction?
full member
Activity: 223
Merit: 132
What would be the easiest way to make this transition, that could work even for newbies who want more privacy? jamapp.org maybe?

I think it really depends on the comfort level of the user with their OS.  JoinMarket does require a connection to a full bitcoin core node, which may be an obstacle for some new users.  For those comfortable with or currently already running a bitcoin node, I think the install documents are pretty detailed and well written. 

Personally, I think Jamapp.org is a great product for anyone comfortable using Linux based operating systems.  The Windows installation is also very straight-forward, and most people are probably using Windows.

While JoinMarket is a 'power-user' type of tool, a lot of effort has been made to make it easy to use and understand across a wide variety of situations.

 Cool
legendary
Activity: 2212
Merit: 7064
For anyone interested in JoinMarket or still following this thread, a new release was posted in January 2023 on GitHub.
There are certainly people who are interested to make a switch from Coinjoin to Joinmarket, especially since Wasabi and Trezor are going in different direction.
What would be the easiest way to make this transition, that could work even for newbies who want more privacy? jamapp.org maybe?
full member
Activity: 223
Merit: 132
For anyone interested in JoinMarket or still following this thread, a new release was posted in January 2023 on GitHub.

Quote
This release includes some needed changes to address issues with Tor connections, and for this reason principally, all users should upgrade as soon as possible, and should also recreate their joinmarket.cfg file.

This release also includes corrections to transaction fee estimation for non-standard output types, fixes to sendpayment, and corrections to a few minor bugs.

The release now also includes OTS timestamp files of the gpg signatures provided, that can be verified using the opentimestamps client.

JoinMarket Releases

Release Notes

JoinMarket's Awesome, Man

Happy CoinJoining.
full member
Activity: 933
Merit: 175
This thread is pretty much dead. For anyone who stumble upon this thread, I invite to visit instead:

Community

    Telegram: https://t.me/joinmarketorg

    IRC: #joinmarket on irc.libera.chat https://kiwiirc.com/nextclient/irc.libera.chat#joinmarket

    IRC on tor: #joinmarket on Hackint. This channel is bridged to the above Libera Chat channel.

    Subreddit: https://reddit.com/r/joinmarket

    Bitcoin wiki page: https://en.bitcoin.it/wiki/JoinMarket

    Twitter: https://twitter.com/joinmarket

Source Code:

    https://github.com/JoinMarket-Org/joinmarket-clientserver
sr. member
Activity: 459
Merit: 250
Hello. This thread is really dead, yet I see there are still new releases of Joinmarket, nobody uses it ?

I'm just learning this myself.  The Reddit site might be a better place to ask questions.
https://www.reddit.com/r/joinmarket/

hero member
Activity: 2604
Merit: 961
fly or die
Hello. This thread is really dead, yet I see there are still new releases of Joinmarket, nobody uses it ? I'm interested in the maker thing, that's a good way to mix coins while making some sats, instead of it costing something.

However I have the same questions as aetherist regarding change addresses and how to do things the right way for everyone involved, privacy wise.
newbie
Activity: 21
Merit: 0
I am still a bit unclear by the phrase, "Avoid address reuse." in the high level design doc.  It could me strictly mean do not reuse address, or it could mean do not associate addresses (as in co-joining two addresses into a third address), or do not mix the dirty laundry with the clean laundry.  I found the figure in Wikipedia's coinjoining page more illuminated than the figures in the high level doc and in Gregory Maxwell's.  It appears as though from Wikipedia's figure, that the privacy is a function of the depth level.

Let L represent the depth level and P the privacy, then P=P(L) where P strictly increase with L.   That is to say that change addresses remain tainted.

Also, since the transaction fees are so high now, it seems reasonable to consider consolidating coins into one address (for both makers and takers which would require takers to run a full node), so as to lower the kb of transactions.  I am still a little fuzzy about the the number of UTXO per users.

Is this proposition correct?
Let N=the number of user, then N-1=the number of makers. Let O=the number of UTXO going into the coinjoin. Let M=the average number of transaction inputs per user

N*M<=O

Hence by running a full node the users increase reliability and lower the need for more than one input and lowering the lower bound of each of the following transaction inputs, transaction data size,  the transaction fee.
newbie
Activity: 21
Merit: 0
I did not realize that the new version of JoinMarket does not output to the terminal just logs. So I had to clean my UTXO. I moved each UTXO to a new address, to ?untaint? them and I managed to coinjoin as a taker with absurd_fee_per_kb=925000.  The price was bit high maybe I had set the number of makers, ?N?, too high or maybe the increase is due to the new market value for transaction fees.  I am still tweaking parameters to try to coinjoin as a maker.

How many times, is N used for different parameters? It sounds as though, N represents at least the the target block confirmation time and the number target makers simultaneously.  Perhaps that's theoretically acceptable if each lives in a different namespace, but from a practical perspective why would anyone want to obfuscate that?  I will reread the high level design to rule out the possibility that maker coinjoin attempts are not failing due to something with the protocol.
sr. member
Activity: 261
Merit: 523
Estimated fee per kB greater than absurd value: 350000, quitting.

Without getting any more information, it looks like this is the problem.

Recently demand for block space has been very high, so when your joinmarket bot obtains fee estimations it returned a value higher than 350 sat/b (350000) which joinmarket interpreted as an absurd value.

Try opening `joinmarket.cfg` and changing `absurd_fee_per_kb = 350000` to another higher value.
newbie
Activity: 21
Merit: 0
This morning, I thought if the problem is not with IRC, but with a lack of demand (due to fees), such that, I cannot find a counterparty, then I should just tumble. I should easily find a counterparty.  Makers responded.

2017-12-20 12:12:50,549 [MainThread  ] [INFO ]  fee breakdown for J59guRuX5ct5H2KF totalin=8090451 cjamount=6280195 txfee=22 realcjfee=245
2017-12-20 12:12:50,551 [MainThread  ] [INFO ]  fee breakdown for J58pyc32abnCjf9V totalin=13236610 cjamount=6280195 txfee=8064 realcjfee=8074
2017-12-20 12:12:50,554 [MainThread  ] [INFO ]  fee breakdown for J549nFYzjyWtkd9k totalin=7000000 cjamount=6280195 txfee=74 realcjfee=166
2017-12-20 12:12:50,568 [MainThread  ] [INFO ]  fee breakdown for J5Dm1LNSVD71cPGg totalin=250000000 cjamount=6280195 txfee=0 realcjfee=63
2017-12-20 12:12:50,571 [MainThread  ] [INFO ]  fee breakdown for J582pgC6GjfA8mj8 totalin=11810274 cjamount=6280195 txfee=0 realcjfee=685
2017-12-20 12:12:50,580 [MainThread  ] [INFO ]  fee breakdown for J54B3A58fYh1WEdU totalin=30000000 cjamount=6280195 txfee=0 realcjfee=6374
2017-12-20 12:12:50,582 [MainThread  ] [INFO ]  fee breakdown for J59w76vRTjNiqLKR totalin=7592378 cjamount=6280195 txfee=22 realcjfee=188
2017-12-20 12:12:50,583 [MainThread  ] [INFO ]  fee breakdown for J5F9XcX6aiZ86Ufg totalin=9916408 cjamount=6280195 txfee=0 realcjfee=2506

Unhandled Error
...

Estimated fee per kB greater than absurd value: 350000, quitting.

Amp server or network failure unhandled by client application.  Dropping connection!  To avoid, add errbacks to ALL remote commands!
Traceback (most recent call last):
Failure: twisted.protocols.amp.UnknownRemoteError: Code: Unknown Error

At the moment, I have no clues.  I will digest this later when I have time.
newbie
Activity: 21
Merit: 0
JM daemon setup has completed, but the terminal has output anything beyond

2017-12-19 19:37:02,808 [MainThread  ] [INFO ]  Warning: too high txfee to be profitable, halfing it to: 590
2017-12-19 19:37:02,808 [MainThread  ] [INFO ]  Warning: too high txfee to be profitable, halfing it to: 295
2017-12-19 19:37:02,808 [MainThread  ] [INFO ]  Warning: too high txfee to be profitable, halfing it to: 147
2017-12-19 19:37:02,808 [MainThread  ] [INFO ]  starting yield generator
2017-12-19 19:37:03,189 [MainThread  ] [INFO ]  Listening on port 27183
connection was made, starting client
2017-12-19 19:37:07,645 [MainThread  ] [INFO ]  JM daemon setup complete

I have forwared port 27183 on my router, but I don't read anything happening on that port when I run nmap on my laptop.  When I run top, on my home server I don't see any additional process under the user under which I started the yield generator.  Is my IRC setup dysfunctional, or has the high fees from the blocksize cap priced out takers? Or perhaps something else?  I have just run the yield generators with default settings.
sr. member
Activity: 261
Merit: 523
Looks like electrum uses the WIP version byte to choose which kind of address it generates https://github.com/spesmilo/electrum/blob/3.0.1/RELEASE-NOTES#L46-L55
legendary
Activity: 1246
Merit: 1000
Is there a problem in importing a private key from JM 0.3.2 to Electrum? When I try that, I get a totally different address (non-segwit) in Electrum...
sr. member
Activity: 261
Merit: 523
JoinMarket-clientserver release 0.3.1(!)

https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/release-notes/release-notes-0.3.1.md

https://twitter.com/joinmarket/status/911647821958393859

Bugfixes and new features, notably syncing your wallet from Electrum servers.

As mentioned before this supports segwit, has a GUI, more stable sendpayment and tumbler that can be restarted if it crashes prematurely.
newbie
Activity: 37
Merit: 0
"Joinmarket - Coinjoin that people will actually use"

It's been 2,5 years since this topic was started and my only question is simple: haven't you yet understood that people will NOT actually use something that doesn't have friendly UI?

I like this whole project and idea behind it, however being someone without basic coding background I find this thing quite challenging to deal with Sad
RTFM

yeah good luck in accomplishing anything with such an attitude
Pages:
Jump to: