This is @deoxxa's overview of the various components of OStatus: https://www.fknsrs.biz/blog/don-statusnet-node-part-one-read-protocols.html

It's worth reading. IMO the component to think about is PubSubHubbub. Specifically, the hubs, which serve as notification intermediaries between publishers and subscribers.

Key notes:

1. Hubs do NOT need to be Twitter-like user homes.
2. Hubs are very capable of tracking user behavior, even if notifications are encrypted.
3. Hubs need to be reliable.

So the question: how to make hubs that are/have

* reliable
* trustworthy
* non-exploitative of users
* non-authoritarian (wrt censorship)
* proxy-able
* graceful failover
* graceful obsolescence
* potentially anonymous
* potentially transient

I think in the absence of these considerations, mastodon networks will, as others like @bcrypt have pointed out, tend to consolidate around a few large instances that will have too much trust & reliability burden placed on them.

I'm uncomfortable with hub-runners deciding which other instances they do and do not federate with. People can certainly run filtering services, but they should be independent of instances/hubs, not tied to them.

For similar reasons, I don't think hubs/instances should be thought of as communities with individual cultures, because you then turn the hub-runner into the de facto community leader.

Running a SMTP/NNTP/OSocial server shouldn't make you a doyenne. People get high off of that power.

@auerbach I think you've got to be able to cut off potentially bad actors. For example, if an instance takes a friendly policy towards mass spamming or trying to clog queues they've got to be cut off.

The notion of a truly decentralized but fully connected network is not the paradise people seem to think it is. It's something like Twitter but worse.

@Elucidating Agreed. But already we are seeing clustering based not on bad actors but on ideology. I'm in favor of pushing content discrimination as high up in the stack as possible, not putting it at the level of IP blacklisting.

I'm not advocating an absolutist position, but right now I think balkanization is a more pressing problem than spam, precisely because authority to cut off bad actors is already relatively centralized.

@auerbach I think segmentation like that is a feature people want. They come here eager to escape the excess and oppressions of fully connected networks.

There is a strange idea that Twitter's model is what we need or want and I am expressing doubt. It sounds smart, but upon experimentation I think it's wrong.

Most people afraid of "censorship by the graph" are not mad that censorship exists but that in fact they might be in the minority when it all shakes out.

@Elucidating You aren't arguing against my point that it should be modular and separable from federation itself.

It doesn't seem controversial to say that content discrimination shouldn't be determined at the routing level.

@auerbach But when users are also the people who run the routing, I think it does become controversial to say that.

There isn't a real difference between toxic information and toxic peer behavior, in my opinion. It seems quite arbitrary to demand routers cannot participate in this process.

@Elucidating The users aren't running the routing. I don't run mastodon.social. The people who do run it can run a filter as well. The separation would be formal and functional, not organizational.

I don't think users should be required to buy into both to use one. That seems to go against all principles of FOSS.

@auerbach But you COULD run an instance. You could maintain a totally connected instance if you wanted to.
@auerbach Personally, I do not prescribe "principles" to FOSS. It's a largely corporatism-driven movement and has been for some time.