pull down to refresh

I want to open a debate on something practical: how do we make JoinMarket useful for more people?

But before that, a framing question: how should a normal person use Bitcoin with some privacy? Nothing crazy, not OpSec level. Just "I don't want people I transact with to know what I own."

My current answer would be: buy P2P (Bisq or lnp2pbot depending on the person), run the UTXOs through a few JoinMarket rounds (ideally the tumbler) and then either move them to cold storage or open a Lightning channel with the clean outputs. For Lightning on mobile, honestly only Phoenix works well for non-technical people. Everything else is too fragile or slow or kills your battery.

This workflow sounds reasonable on paper. In practice it's a mess: you need a full node, you need a computer, Bisq has its own learning curve, and JoinMarket's install alone is challenging.

So what's actually worth building?

My guess is a light-client mobile wallet with the tumbler baked in: deposit, wait, get clean UTXOs out, ready for cold storage or a LN channel. Simple enough that you don't need to know what's happening underneath.

But is that the right call? Is there a better abstraction? I'd love to hear where you think the effort should go.

Build in Zeus Wallet! I tried to use join market using umbrel and Jam and I found the fees stupid high and it wasn’t easy to use.

I think if the team can some how develop in a mobile environment I think you will get more usage.

reply

Good idea!

reply
159 sats \ 0 replies \ @anon 2 May
My guess is a light-client mobile wallet with the tumbler baked in

Here's one anon that would use a mobile solution like that. Would help testing too.

reply
101 sats \ 22 replies \ @Lux 2 May
"I don't want people I transact with to know what I own."

Just use electrum, duh

reply

If you pay me onchain, I can see what UTXO(s) you've used to pay me with. No matter if you use electrum.

With that information, I can try cluster your wallet using heuristics and estimate your balance and who you transact with.

reply

never heard of LN?

reply

Lots of caveats there.

If you open a channel to make payments, you have decent privacy. But you did not break the link from whoever you got that Bitcoin from. And if your node is public, opening new channels would be equivalent to address reuse.

Then, for receiving payments you're not in a good position. Would you share your LN node pubkey? Would you share a Bitcoin address instead? And then what, consolidate it together with your preexisting UTXOs?

LN is great but not bulletproof. And for the case of HOLDing into cold storage it doesn't help much.

reply
101 sats \ 2 replies \ @Lux 2 May

All this brain hoops for not learning to use swaps and LN.

NGMI

reply
111 sats \ 1 reply \ @m0wer OP 2 May

I think you don't understand privacy.

reply
1 sat \ 0 replies \ @Lux 2 May

Whatever makes you sleep at night, sweetheart

reply
Would you share your LN node pubkey?

yes why not? never heard about private and disposable LN nodes? Decoy nodes?

Buying a LSP channel in advance, without using any of your UTXOs... using a private disposable LN node... through that single fucking channel you can pass through infinite sats, endlessly.

These are just few examples... Are several scenarios to use.
Nobody is forcing you to run PUBLIC LN nodes. Private and disposable / decoy nodes are just fine.

reply

It's an option, for sure. The question is the privacy and costs that would have over the privacy and costs of CoinJoining.

As a rule of thumb anything over 10M sats will be cheaper to CoinJoin for the same level of anonymity (and the possibility of more, and measurable).

reply
22 sats \ 11 replies \ @Lux 2 May

you are comparing ln costs to on chain costs
two different worlds

reply

Exactly. Ones are proportional to the transaction amount and the others are fixed. Those lines intersect.

If you use a single UTXO onchain to coinjoin, you cannot pass more sats than you have in that UTXO...
Meanwhile through a single LN channel you can coinjoin as many sats you want.
More than that, if you are smart you can make it to leave NO onchain trace..
Just think about, even if you are traced, a single UTXO of 1M sats that is in a public block, in fact it was transferring let's say 10 BTC through that single channel and nobody have any trace (except the channel peers - but that is another aspect).

Think in perspective. Mastering LN is an art of using all its properties and solutions.

reply
  1. https://darth-coin.github.io/wallets/lightning-cleaning-machine-en.html
  2. https://darth-coin.github.io/wallets/bitcoin-and-privacy-en.html

People thatt are lazy and don't want to read and learn... fuck'em'all they do not deserve BTC in the first place.

reply
245 sats \ 1 reply \ @Scoresby 2 May

I used bisq frequently for a while. I've used wasabi and samurai, but not join market.

I have not met a normal person who would be willing to do even 1/10th of what use of those tools requires.

Most normal people I have met are not even willing to use a self custody Bitcoin wallet. Writing down seed words (and not losing them) seems a bridge too far.

So: whatever solution there is needs to require an absolute minimum from users. Like ideally, it just does coinjoins in the background and there is nothing more than send and receive in the wallet.

My experience has been that privacy tools can be built for power users and the anonymity set will always be tiny. Or there can be things that take no effort from the user and fold into the normal user experience and lots of people will use them.

The light client you describe sounds good. But I worry that even something like that won't be easy enough for the normal user. The distinction between lightning and on chain is probably too much for a normal user to grasp.

reply

Very good points.

reply
242 sats \ 0 replies \ @kruw 2 May

Focus on steering the UX towards sweeping entire UTXOs using the taker role. Each payment you receive and change output you create (from payments) should be isolated and swept into the next mix depth with a coinjoin. Then, automatically switch back to maker in between your regular transactions to blend in with the rest of the pool.

reply
23 sats \ 3 replies \ @OT 2 May

I'd like to see something that converts the change into LN during a CJ round.

reply

Thanks for the idea. That would be technically possible already without changing the protocol.

And doing so (with a few other additions) would bring great improvements to privacy. See CoinJoinXT

For now we're experimenting with LN swap inputs and outputs for avoiding change or getting it back on lightning:

reply
1 sat \ 1 reply \ @OT 2 May

Wonder if it would be possible to add JoinMarket as an Electrum plugin....

Is Floppy still working on Joinstr?

reply

It would be possible.

Yes he is!

reply

would likely get banned from app stores but as long as it works with fdroid it moves the needle I would say.

it the mobile client could be utreexo / floresta based rather than trusting an electrum server not to dox your utxos. that would be ideal.

reply

i like it!

reply

IMHO

  • coinjoin was good and necessary in the pre-LN era
  • nowadays devs should focus more on improving LN and the apps.

Trying to add privacy onchain is like trying to patch today a Windows 95. It doesn't work, no matter what you try, is obsolete. Focus on LN and leave onchain in peace.
Of course there are some improvements for LN that need change in onchain, that I agree. But trying to do onchain what already is doing LN is kind of useless.

reply
1 sat \ 0 replies \ @Lux 2 May

payjoin has a pass with me

reply
Simple enough that you don't need to know what's happening underneath.

In other words you want dumb people to use Bitcoin.
I call that bullshit. Bitcoin needs HARD education, to make people to use those smooth brains.

reply
1 sat \ 2 replies \ @Lux 2 May

to open a channel w Blixt or Zeus is more complicated than all the hoops and spending they promote?

fucking make it make sense

reply

from now on we should do an IQ test with all nocoiners that want to get into bitcoin, to see if they are capable to use their brain.

reply
1 sat \ 0 replies \ @Lux 2 May

i would rather test all these gatekeepers and talking heads

reply
1 sat \ 0 replies \ @Solomonsatoshi 2 May -100 sats

Most downzap censored post of the last 24 hours-

https://stacker.news/items/1475219

1 sat \ 0 replies \ @Cairn_Shadow 4 May -30 sats

The light client mobile wallet idea sounds good in theory but how do you keep it trustless? Someone has to coordinate the joins and on mobile you cant run a full node to verify everything yourself. How are you thinking about making sure the coordinator can't link inputs to outputs or log participants? Because that's usually where the tradeoff between usability and privacy gets made.