Avatar
waxwing
675b84fe75e216ab947c7438ee519ca7775376ddf05dadfba6278bd012e1d728
Bitcoin, cryptography, Joinmarket etc.

I saw a shift occur in the years after btcpayserver started up, nowadays of the 10+ online merchants I that I use regularly, and accept Bitcoin, I think only 1 is limited to a bitpay option, and several have a btcpayserver interface; it used to be, pre-2017, that that list would have been dominated by them.

I certainly haven't used them since 2017 (maybe once or twice when I had really no choice, but that never happens now). They are indeed utterly appalling and it's insane to think that people are actually using that shit thinking that this is how cryptocurrency payments work ...

Yes, i would guess you're right. However interesting tidbit: I noticed this week a warning on the bitrefill payment page that chivo was not compatible, although vague on details (now i can't find it).

Interesting data from Matt Ahlborg (h/t to nostr:npub1pu5pjm8dzqjtul8t84a3jsehh78jreadp297sqa3as98c5hfym0qu6pn0a for pointing it out) on twitter re: payment type usage stats *in El Salvador* via bitrefill:

https://twitter.com/MattAhlborg/status/1648058964985237514?s=20

Over 70% LN is pretty remarkable!

Also notable (even if, not very surprising) is how different these stats are from the global stats - see upthread for those.

Yeah that article makes precise the mist important point that I forgot, I agree that bitfinex themselves *probably* have the ethical claim on the funds, but it's not 100% clear. Meanwhile I remember saying at the time, and still think: there's not a cat in hell's chance that US GOV will hand over the coins to bitfinex, it doesn't matter what the 'law' says.

Power cut in my district in San Salvador.

But I still paid for my phone data topup in Bitcoin :)

Yes but as I said, this is fixed length data - a secp256k1 pubkey. LEA applies to the scenario where you're trying to check the authenticity of an arbitrary length string that is authenticated with a secret. I don't think it applies here, nor in sighashing, nor in standard hash commitments.

AFAIR LEA aren't a concern here. The classic example of a LEA attack vector is a badly designed HMAC in which the data to be authorised is appended *after* the secret key. Then you can add more data that is erroneously authorised. For a commitment to fixed length data this doesn't apply.

Haven't looked it up, but I *think * that's right.

To state the probably obvious, this website, while linking to the real joinmarket github, and showing an image of the JAM interface, is almost certainly malicious:

https://joinmarket.net/

(h/t Alex Waltz for reporting on telegram)

(I haven't actually downloaded the (presumably malware) Windows wallet on a VM myself, but .. do NOT do that. Don't download and run any bitcoin wallet without verifying signatures, at absolute minimum).

Please feel free to share this information anywhere you think it might be helpful.

Big shout out to #[0] for what is to me unquestionably the best public discussion yet about the (potential, and .. actual) evils of chain analysis:

https://www.podpage.com/citadeldispatch/cd100-the-disturbing-chainalysis-led-prosecution-of-roman-sterlingov-with-mike-hassard-and-tor-ekeland/

Seriously, get past the bad audio and listen to the whole thing. This bitcoinfog case is incredible. If you didn't previously understand the mechanics, and how seriously bitcoin surveillance software is being misused in the legal system, this will educate you.

Btw #[1] I know you've done a lot of investigative work in this area, would love to hear your thoughts on it.

An important nuance on the technicals: remember there is a difference between efficacy for *investigation* and the ability to prove something. Bitcoin's basic privacy is shitty specifically in that it can allow the former .. but not the latter.

Have an old Bitfinex account, and was inspired to try the lightning withdrawal experience on there (since I still had some sats pocket change there, so why not?).

To be honest I feel like it's a bit of a shit show as a user experience, but it *did* work, for me.

1/ their interface is full of garbage (like 1000 shitcoins) but to be fair, that doesn't need to bother you. They have multiple different accounts (that always confused me), but they somehow made that worse with the LN integration: you can't just specify an amount of sats to withdraw from your bitcoin *funding* account (not exchange, not margin - must be funding!) - no, you have to *convert your BTC to LN-BTC first*. On reflection this isn't totally crazy since they presumably maintain separate LN wallets, but it gives the user the wrong idea. Still, whatever.

2/ Here's the fun part: the withdrawals have to go through the same security checks as other withdrawals, which involves *both* 2FA and manual response to an email. So it's, first, create invoice on your off-exchange LN wallet, then paste or scan that into the bfx interface, then do 2FA, then wait for email, then click email, then copy out *another* security code, then wait for 'processing' - and the site states that this can take up to 48 hours!

This is hardly compatible with a typical LN wallet invoice of course. But, in my case, the 'processing' was done in a minute or two and the invoice was paid fine.

Overall, this seems very dubious, but (a) it did actually work for my small amount and (b) if you were doing it regularly I guess you'd overcome the foibles.

Tricky business.

The entirety of the Chinese governmental system is profoundly racist in exactly this sense. You can be born and spend your entire life in China and never be given citizenship due to a lack of the required genetics.

Hmm, that's not too bad, just 84->44, but the important thing is, what scriptpubkey do they use? that's the reason people started using 49, 84 etc - because the problem with pure BIP44 is it doesn't tell you the scriptpubkey type.

Not sure what you mean? Run joinmarket but with different HD derivation path?

Clearly you *can*, but I wouldn't advise it. Note that it's explicitly BIP84 and is compatible with a lot of other wallets (it might be tricky sometimes, because we use accounts 0..4 whereas other wallets mostly use just account 0, but it can be done e.g. Electrum, Sparrow, Fully Noded etc.. the list changes over time, but BIP84 doesn't!).

In order to do it you'd have to edit the BIP32Wallet class in `jmclient.jmclient.wallet.py` ; seeing how it's different for legacy p2sh/p2wpkh in `SegwitLegacyWallet` might help you understand it, if you really want to!

Oh. Violent but I guess effective 😉

I don't think that would work for me, but it does indeed seem like a very difficult task ... I wonder, could I change the size of the mempool to something stupidly small and then crowd out an earlier one?

It's not a science, and my theory is, it can't be, because it attempts to describe a system of agents who are conscious and therefore know about it, which means it cannot have predictive value, and therefore fails Popper's criterion for science (falsifiable predictions which are not falsified by experiment).

Debatable but I think it's at least mostly true - it cannot be science. Economists are a bit like what used to be called "pundits" in India, and "sophists" in ancient Greece.

There can be good reasoning in it, sometimes, but it's all contingent.