Thanks. Yeah - I saw (and appreciated) the footnote.

Reply to this note

Please Login to reply.

Discussion

As for participation privacy, users don't seem to accept the lack of in-built transport level protection. As long as relays can track on the IP level who reads which groups, they would have a good enough picture of who participates where. That's why we design future chat relays that would handle group broadcasts as high-traffic messaging clients that don't have any network connections with group members (not even indirect connections).

Can you explain that last point a bit more? I'm not sure what you're saying there.

What I mean is that Nostr relays can track which IP addresses read messages from which group IDs, creating an association with transport level identities of the users. While it's indeed mitigated to some extent by Tor/VPN, which was SimpleX design defence early on, the valid criticism of this argument that either Tor should be built into the clients (which wasn't and won't be the case with SimpleX, and is not the case with Nostr clients), as most users won't use Tor, and will assume that declared security properties hold without any additional measures.

What's worse is that even with Tor or VPN, Nostr relays can associate the list of group IDs with client sessions that read them, and observing sessions over time they would be able to statistically "recognise" users by the list of groups they get messages from. To mitigate this risk clients have to use different connections (and Tor circuits) when reading from different groups, and it's neither practical nor part of the spec. SimpleX clients offered this feature (transport isolation) as opt in.

So the response of SimpleX network design that addressed this criticism was using two independent relays in the message routing path, where the first one can see client session and transport address, but cannot see destination message queue address. And the second relay can see destination queue address, but has no information that could identify the transport session of the client. And the clients are programmed to choose relays operated by different parties to mitigate collusion risks.

What I was saying about our future chat relays design is that they are the usual messaging clients under the hood, just high volume, and won't have any network connection to the group members, even an indirect one, as they will be communicating via the existing messaging network.

There is a POC by nostr:nprofile1qqsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3cppemhxue69uhkummn9ekx7mp0qyv8wumn8ghj7un9d3shjtnxda6kuarpd9hzuend9uwxmad5 that implements a similar idea as a nostr proxy relay: https://github.com/Origami74/nostr-epoxy-reverse-proxy

nostr:nprofile1qqspwwwexlwgcrrnwz4zwkze8rq3ncjug8mvgsd96dxx6wzs8ccndmcpzamhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuegpzamhxue69uhkummnw3ezu6rpwd5xyctwvuhxumqpz3mhxue69uhhyetvv9ujuerpd46hxtnfdu8cev2y

Wonder if a bloom filter for ID's could help mitigate per connection fingerprinting?

We were actually talking about this yesterday in the team. Short answer; maybe? But we're not going to look at it right now.

Make the thing work, then make it work better.

nostr:nprofile1qqs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjcpzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tcppemhxue69uhkummn9ekx7mp0qyg8wumn8ghj7mn0wd68ytnddakj703s8dt (a NOSTR client) has used built-in TOR for almost a year