Avatar
Kristaps K.
6182e711a1def15e43664a85619e176c80739d148a88d27e119f5a6334ae21a9
Bitcoin dev (Bitcoin Core, JoinMarket, SatSale, etc) PGP - 70A1 D47D D44F 59DF 8B22 2443 33E4 72FE 870C 7E5D

Agree with this! With exception that they cannot be bought, only rented from registar.

Between Two Cats nostr:note1ur9ykfhtqh5zt03d0hadcp30422g3u58auxsxyefj76r9lk4a6gqzkfa3e

Sex workers on Nostr would help with more widespread adoption! nostr:note146vhytttm44ggsuy530mxyhrzuuue2gz3srgyunqac7ehcewyvqq6v98ld

I haven’t, but will check it out!

Comments there. Some get it, some don’t. nostr:note10fhy9kam0fl39lfsausezwc5vcul5ug29mmqkws0sx3qunzav94s4al7f4

I prefer CLN. But also run LND node at home.

nostr:note1222svkh4z9yhmh54lecc5x9ymdjvgdnu8v0fznfdeeksuzg482nqr6l2fq

You can create transactions with external tools, there is PSBT signing support in wallet-tool.py.

The nine most terrifying words in the English language are "I'm from the government, and I'm here to help."

Tres Comas! nostr:note1gaz74ufg2glv7yywcrxql8zdf6fs8m6s9s335p48ac296yhm5g7qthjkq4

It didn’t work with 1.4.2 for me.

I don’t have TestFlight access, will need to wait for App Store release.

Thoughts on #nostr.

Nostr is a websockets-based text protocol for logs of authenticated (but unauthorized) tagged (and otherwise unstructured) messages stored at public relay servers. The rest is a specific nostr application (like social networking or payments) on top of it.

Nostr takes several decisions on possible tradeoffs, which I try to analyze here:

1. Websockets. Good: pub/sub data access, web-integratable. Bad: high load on relay servers limiting scalability. Verdict: ⚠️

2. Elliptic curve (secp256k1) for identities. Good: bitcoin-based. Bad: very low performance, not GPG/SSH compatible, sidechannels. Overall: ❌.

3. Signature scheme: BIP-340 Schnorr. Good: batch verification, standard. Bad: optimized for onchain, discarding y coord, making verification ~50% more expensive than non-BIP Schnorr. Verdict: ⚠️

4. Hashing function: SHA256. Good: standard, bitcoin. Bad: slower than BLACKE3. Verdict: ⚠️

5. Text JSON encoding. Good: easy to implement. Bad: hard to pass & slow to encode/decode non-text/binary data; no limits on data sizing opening a door for DoSing relays and clients. Verdict: ❌

6. No authorization scheme. Good: easy to implement. Bad: limits use cases, limits scalability. Verdict: ⚠️

7. No encryption on the transport level, relying on TLS. Good: easy to implement. Bad: centralized, not end-to-end. Verdict: ⚠️

So I see most of selected tradeoffs by Nostr as a bad or poor decision. This us arguable of course.

Can Nostr survive and success? For sure, if even much worse systems had done that in the past (Ethereum, JavaScript, PHP).

What is the greatest Nostr weakness? Limited scalability and possible DoS (not even DDoS) attacks.

If I were the one who did nostr, what I would had made differently? I would had used Ed25519 signatures on Ristretto25519 (speed), binary encoding with strict limits on data sizes, use Noise_XK encryption - and provide bridges to Websockets only when they are needed for the web. But we have what we have.

Is BLAKE3 really also faster if hardware accelerated instructions are taken into account, like Intel SHA extensions?

Riga Central Station was beautiful before Soviets fucked it up.