Mastodon is a great platform. I have an account there, and I have been using it as a twitter replacement for several months. I have been using nostr for around two months. I have also read fairly deeply into how Mastodon and Nostr work. I think nostr is better. Here’s why.
Background:
Mastodon and Nostr offer basically the same thing: a federated/decentralized replacement to twitter. They share the same basic features: tweeting, following people, a public square w/ trending notes and hashtags moderated by instance rules, DMs.
Mastodon/Lemmy/Kbin all federate through an underlying protocol called ActivityPub. You create an account at an instance which you use to interact with these sites. Your instance can push/pull data to other instances via the AP protocol.
Nostr is an underlying protocol, like ActivityPub. The main service is hosts currently, called Nostr, is a twitter clone, but there’s other stuff like a video streaming platform. They all federate with each other just like Mastodon/Lemmy/Kbin. There is no reddit clone on nostr yet, but I imagine it’s only a matter of time.
Instead of “instances”, nostr has “relays”. The app or site you connect to nostr through will usually connect to multiple relays (just like your mastodon instance will connect to multiple other instances). Relays, like instances, have their own moderation policies and can choose what kind of content they allow.
Here’s why I think nostr simply works better:
- In mastodon your identity is tied to your instance, in nostr it’s not. If your instance decides to close up? You have to make a new account somewhere else. You lose all your followers, the list of who you follow, your tweets, your DMs, etc. This sucks. This happened to me early in my mastodon experience. It was annoying, but it would be way more annoying if I had spent five years building up that account.
- In mastodon, your instance can stop you from seeing content from other instances and ban users from other instances. It can stop you from following them or being followed by them. While this moderation might be nice sometimes, I’d rather it be opt-in than mandatory. Nostr relays don’t have this power. Nostr doesn’t allow this because you are usually connected to multiple relays. While a single relay can do this (as each relay sets its own policies), as long as one relay you are connected to lets the data flow, you are good to go.
- In mastodon, admins can read your DMs. If you DM somebody on another instance, that’s two instances that can read your DMs, and so can anybody who breaks into their server. In nostr, all DMs are encrypted by default and can only be read by the intended recipient.
- If mastodon and fediverse’s goals are to create a P2P or federated network of instances, having users tied to instances is not good. It incentivizes users to pick bigger, more stable instances which will lead to centralization over time.
A question of funding
One question that fediverse needs to solve is: how are we going to fund hosting costs for instances and more broadly, development?
There are many valid options such as: ads on instances, selling “badges” or awards like reddit, subscriptions for extra features, etc. What is not a sustainable plan, imo, is just hoping users donate enough to keep things afloat. Open source and free software projects have a long history of being underfunded leading to them closing up shop or not reaching their full potential. Nostr at least has a potential answer for this, while AP/fedi don’t really seem to yet.
Nostr has an optional built-in tipping functionality where you can leave tips for users whose content you like. You can tip a fraction of a penny or $100. And users can tip you. This has a few effects. For one, it incentivizes people to use nostr. Non-profit orgs, for example, can use it to fundraise.
Secondly, it provides a sustainable funding mechanisms for relays and development. When you make a tip, it goes through your “tip pool” and you can select people or entities to give a % of every tip to. So, for example, you can leave a 10c tip on a tweet and 1c automatically goes to the relay operator.
Where Mastodon/AP is better:
- Mastodon has more people I want to follow. There is a greater user base and diversity.
- Mastodon has a more consistent interface. Pretty much every mastodon site looks the same. Nostr has a dizzying array of apps and web portals. That’s great for user choice, not great for user onboarding.
- While nostr relays in theory can filter content and cultivate public squares with specific sets of values, I’ve found in practice this hasn’t been done as much, most relays seem the same. I think in time as the user base grows this will happen organically, there’s just little reason to separate them out now.
- Password recovery/account loss. With nostr, your identity is a private key generated by your client. This means your identity isn’t tied to an instance (yay!). But, if you lose the private key, you lose your identity and have to make a new one. Likewise, if somebody steals your key, they can post as you. And there is no real password recovery functionality since nobody else has your password. There are good technical solutions for this like social account recovery and key revocation certificates but they aren’t currently implemented. I imagine they will be with time.
- Mastodon/Lemmy/Kbin/etc can all talk to each other through ActivityPub. While Nostr’s underlying protocol supports this kind of federation, the twitter clone is the main platform with users on it and it doesn’t have a reddit clone etc.
- The AP username format of username@website.com is much better than nostrs long public keys. There are some nostr protocol proposals to make this better, some of which are out there and working, but it’s not really standardized yet.
Adding an edit about moderation since there is a lot of confusion about this:
Moderation abilities in AP and Nostr from an admin perspective are identical.
- As a relay operator in nostr, you choose what kind of content your relay accepts. You can block users, filter content based on keywords, de-federate from other instances with weak moderation policies, etc. Same as being an instance admin on AP.
- As a user, you can choose relays which provide you with a good “public square” experience free of bigots, NSFW, or other content you don’t want to see. It’s your choice, same as AP. Most users are connected to multiple relays. You can connect to only one in if you want.
The key difference in moderation is that in AP if your instance blocks a user or relay, it is blocked for all their users globally. This means you as a user can’t keep following or DMing somebody whose username or relay has been blocked unless you make a new account on a different instance and check it separately. On nostr, as a user, this is not a problem. If you disagree with that moderation decision you just add a different relay to your list, as long one relay in your list of relays connects to that user, the data will flow and you will get to see it. It will remain blocked on the relay which blocked them and for users connected to it (if they are only connected to that relay, or if all their other relays also block that user/defederate from that instance).
It’s the best of both worlds: relay operators can set their own moderation policies and vibes and choose which other relays they federate with, users have the freedom to use multiple relays to access the content they want and the freedom to choose which relays they use based on what kind of content they allow.
And yet they don’t.
If you as a user can connect to multiple relays, then most people will do that, making the act of an admin banning a bigot on one relay pointless, because the bigot will still get through on other relays, and once they’re blocked on enough relays, they’ll just make another throw away account. Which means most admins won’t bother acting except in the most egregious cases, leaving it up to the users to deal with their own blocks.
I agree, there needs to be an answer here that lets people keep their identities tied to them rather than an instance, but the nostr approach isn’t it. It just leads to everyone for themselves, which is fine for some people, but it’s exactly what many other folk were trying to escape by coming to the fediverse in the first place.
Just like AP, the bigot can join another instance/relay, if an instance has bad moderation policy, your relay can block that instance/relay entirely.
Admins can block along any spectrum of severity they want, just like AP.
They can do this in AP too. There’s no way to solve this unless we start requiring a passport photo with every account or a payment or something. Blocking naughty instances/relays that have weak moderation is the best solution atm.
Nostr does not reduce an instance admin’s ability to block bigots or the relays that host bigots. None of that is different than AP.
By your own admission, this doesn’t happen though. One relay is the same as the other, and that’s because the bigot can just use multiple relays as well, making the effort of an admin blocking them largely a waste of time.
They can’t though, because on AP, an instance that constantly spawns bigots with throw away accounts gets defederated, and that means that bigots have a barrier that doesn’t exist on Nostr. On nostr they can create unlimited accounts and use unlimited relays to broadcast their content, relying on the admins to block each and every account manually (which they generally won’t do, because what’s the point?), which ultimately leads to the end users having to play whack a mole with the bigots.
I don’t have any answers for you. But I can tell you that I actively prefer APs implementation to Nostr’s because APs current implementation is safer.
That’s not true. Bigots can go into web view and still see posts, they have alts on other instances. I’ve literally had friends that this happened to on Mastodon and the perp was making posts about still being able to see their content even while blocked. You run AP, it is not a secure protocol it was never intended to be.
Absolutely, but nothing we’re talking about here will stop bigots targetting specific people. What we can do though is decrease the drive by bigots, the ones who just spew hate at whoever they happen to stumble across, or whoever pops up in a hashtag search etc.
I’m aware. However the options aren’t “free for all” or “impenetrable security”. There is a whole spectrum of approaches between those two extremes, and that’s what we’re talking about here. Insisting that the issue is all or nothing doesn’t help
I’m sorry Ada, but you’re just wrong here. I don’t know how you are missing my bolded sections explaining how nostr and AP work identically here.
Every relay sets their own moderation policy. They can block users, they can delete posts, they can filter based on keywords. They can block other relays and “de-federate” from them. Relays can share lists of common servers to de-federate from because they host bigots. Same as AP. Early in mastodon/lemmy/etc relays didn’t differentiate themselves much on moderation policies. As problems came up on some servers, they started to do that more, now there is a big difference between different instances. Same can and will happen on nostr, there is already some differentiation, just not as much as it’s a smaller platform.
Same thing happens in Nostr, that relay will get defederated. A bigot can still post to that relay, but their posts won’t be propagated to other relays. All the bigots will filter into the few relays that allow them to post. Same as AP.
Thank you for your patience. I’d have lost my cool a long time ago.
Thank you for your insight. I feel like AP cares more about the community, while nostr is about the individual.
Different kind of people will choose different approaches
Very true, ActivityPub is for building communities.
Nostr is for free speech and user choice but also sucks for building communities because the loudest and most mean people are the ones who dominate the space.