Replying to 21823843...

nostr has no global source of truth, and that is a good thing

Out of interest, I follow the progress of a lot of other projects similar to nostr, and a couple links surfaced today:

BlueSky has a big "firehose" connection that streams all updates (new posts, reactions, etc) to subscribers. Unsurprisingly, this is difficult to process except on beefy servers with lots of bandwidth. So, one proposed solution is to strip out all that pesky cryptography (signatures, merkle tree data, etc): https://jazco.dev/2024/09/24/jetstream/

And over on Farcaster, keeping their hubs in sync is too difficult, so they want to make all posts globally sequenced, like a blockchain. The details are still being worked out, but I think it's safe to assume there will be a privileged global sequencer who decides on this ordering (and possibly which posts are included at all): https://github.com/farcasterxyz/protocol/discussions/193

In my opinion, both of these issues are symptoms of an underlying errant philosophy. These projects both want there to be a global source of truth: A single place you can go to guarantee you're seeing all the posts on a thread, from a particular user, etc. On BlueSky that is https://bluesky.app and on Farcaster that is https://warpcast.com .

Advocates of each of these projects of course would dispute this, pointing out that you could always self-host, or somehow avoid depending on their semi-official infrastructure, but the truth is that if you're not on bluesky.app or warpcast.com, you don't exist, and nobody cares that you don't exist.

nostr has eschewed the concept of global source of truth. You can't necessarily be sure you are seeing everything. Conversations may sometimes get fragmented, posts may disappear, and there may be the occasional bout of confusion and chaos. There is no official or semi-official nostr website, app, or relay, and this is a good thing. It means we are actually building a decentralised protocol, not just acting out decentralisation theatre, or pretending we'll get there eventually and that the ends justify the means.

Back when computers were primitive and professional data-centres didn't exist, it was impossible to build mega-apps like Twitter. Protocols had to be decentralised by default -- there was simply no other way. We can learn a lot by looking back to protocols of yesteryear, like Usenet and IRC, and still-popular protocols like email and HTTP. None of these assume global sources of truth, and they are stronger and better for it, as is nostr.

Out of the 4 example you provided only Email could potentially be considered decentralized. Usenet may store articles in a distributed manner but you still have to connect to a central server to download a list of articles and the majority of articles in a Usenet network are stored on centralized servers, it is the contributions that are decentralized. That is why Usenet is so much faster that torrents, you pay the service so they can host and serve the files from beefy servers. IRC is entirely centralized, the only way to communicate on an IRC channel is to connect to the server it is hosted on. Same with HTTP, there is no way to access the web page without connecting to the central server. Even email is centralized, you could say it is federated but even federated services are just a distributed centralized system. Email is the only one of these services that you could argue doesn't have a centralized source of truth but I would argue that it still does.

Reply to this note

Please Login to reply.

Discussion

I'm not saying decentralized systems are bad. Imo they are the only way the internet survives. However those examples aren't examples of decentralized systems.

Interesting perspective. We could debate what decentralised means, but I doubt we'd ever be able to find a universal definition -- it is too much of a spectrum. If your definition of decentralised is that there are no servers at all, then I guess you'd think only purely P2P protocols are, and not even nostr would qualify. From a total purity perspective, probably anything using DNS would be disqualified too.

My view on these protocols is as follows:

Usenet has essentially the same model as nostr. Yes, there are servers (relays), but people are free to choose which ones they use. They can post their messages to any of them, and those messages may get propagated to other servers. Each server can have its own message acceptance/forwarding policies, and choose which other servers to connect with.

IRC is also a decentralised network (the R stands for relay). An IRC network consists of many different servers relaying messages. Each server agrees roughly with the rules of the wider network, but is generally free to administer its server as it sees fit (including user bans, preventing relaying certain channels, etc). Sometimes server operators disagree, and this results in them leaving the network and establishing their own. That's why there are many different IRC networks, EFnet, IRCnet, DALnet, etc.

HTTP and email are both decentralised in the sense that you don't need to get anybody's permission to connect to the network, and there are no single points of failure.

Usenet, IRC and nostr replicate data that's how they're decentralized. HTTP doesn't that's why it's so easy to censor.