The Future Was Federated

7 points by fiatjaf


david_chisnall

Most notably, NOSTR establishes sovereign identity. Just like old, well tested and popular technologies such as GPG/PGP, my identity is not a URL granted by an admin and rented from a registrar. It is a cryptographic key pair, generated offline on my own device, on my own terms

Systems like this always have the same problem: If identity ownership is fully decentralised, how do you handle account recovery? A lot of things can go wrong, but they're mostly covered by these two:

If I'm expected to store my private key on every device that I use that identity on, the chance of a compromise is high. So I actually want some personal PKI where I can give a device a revokable certificate that allows it to be me as long as I periodically renew the certificate (or don't tell the computer that's renewing the certificate to stop). But that's a lot of complexity for the end user.

Most people do not have a robust backup strategy (other than 'let some vendor sync my stuff to their computer', which makes the first problem worse).

I can imagine a fully distributed recovery system based on something like Shamir's secret-sharing algorithm, where a bunch of your friends each hold a secret that, if N of them agree, allows you to recover your identity. You would need to tell them not to release the key unless they'd validated your identity somehow. Making that work with the device-compromise thread model remains hard. The key that they recover would need to be a key that is used with some KDF to do key rollover for you, preserving your identity somehow. And then you have the problem in the world of software monocultures, that an at-scale attack can probably recover a load of secret shares and can assemble some moderately large number of these keys.

TL;DR: Sometimes, systems are centralised because the distributed-system version of the same thing involves a number of unsolved research problems. I very-much encourage people to work on these research problems but simply deploying a system that ignores them is not helpful.

rushsteve1

I've been doing a lot of research on federated social protocols lately, I made this chart to organize my thoughts.

The author seems very Bullish on NOSTR and I honestly can't share their enthusiasm. The protocol is amateurish; Core features are half-baked, the encryption section is especially suspect, and there's an strong trend of cryptocurrency related features being prioritized. The author mentions being able to post many different kinds of content, but the spec only outlines a few varieties and has very little to say about binary content distribution.

They spend a lot of time comparing to ActivityPub but I think their complaints are more about the network model that Mastodon promotes. ActivityPub itself doesn't prescribe much about that. No mention of other protocols either, I would have loved to see a Scuttlebutt comparison.

I also don't think NOSTR is as "sovereign" as the author claims. The relay model tends toward centralization (Ex: Bsky, CDNs) in order to get a wide enough view to be useful. You can still get de-platformed if major relays choose to block you. I'm also personally somewhat worried when "censorship" is the major concern of a protocol.

Key management is not sovereignty, it's just bad UX. As a NOSTR user I control nothing, my content only gets disseminated at the whim of Relay operators. Deleting content assumes that Relay operators respect my request. If want to get around those I have to self-host or stick to ideologically aligned relays, losing out on much of the benefits of social media and trending toward echo chambers.