The issue would be polarized matters wouldn’t it? If any popular/heated political issue comes up for example and some people would block each other then all of a sudden your algorithm starts filtering away those you would disagree with but also people you’d potentially agree with.
Then there is the issue of the nature of me and others blocking people from time to time. Most of the time I don't block people because they are bad, but because they are too great hubs of links, relations, etc for my poor 64gb iPhone to deal with. These people aren’t bad and probably don’t deserve being “canceled” by automated algorithms. I very much like that this platform is gardened by humans right now.
I do however think that SSB has passed an important turning point and that we need to adjust some things. Right now SSB clients will try to connect to whatever they can connect to. My Patchwork client automatically connects to any pubs it can find (by default i can choose to turn this off in config), when I’m on WiFi or a shared VPN it’ll automatically download data from WiFi peers, etc.
All of this made sense before. “The network” was small and a fair amount of people would rejoice over each new connection that popped up (I did).
SSB has grown and matured a little bit since I connected for the first time (or maybe I just became old.. I don't know).
Maybe it’s time to no longer connect to new nodes by default (unless configured) and allow people to choose who they want to connect to (turning the default around, much like Manyverse already does and how Rooms have worked so far).
And then while we’re at it change default hops from 3 to 2 (Find your friends and their friends).
That way the stuff you see in your feeds is more curated by the people around you that you have chosen to trust.
That brings me to a problem however. Ever since I've been more careful and ever since I'm no longer connected to pubs anymore I've noticed a fair amount of "possible connections" to have become @UnReAdbleCiphers123. I'm no longer pulling everything that my client can see and as such I don't know who people are. I'd love to steal the idea @andrestaltz had in his rooms implementation and set some kind of master "name" in config that can be used to identify another peer before you decide to connect to them.
The idea in OP is quite big and would require a shift in how major parts of SSB actually function. I'd much rather take smaller steps and allow the network to grow along with it.
Change default program behaviors now, deal with the challenges they introduce (like the example I gave with the names) and then if we need to go into the direction @andre is pointing; arrive there not because it's a neat idea, but because "user experience" brought us there.
That's probably also easier™. Changing connection behavior "defaults" will probably be a small config change in ssb-conn, ssb-handshake or wherever its configured, but It'll require lots of work in all those implementations of SSB and its clients out in the wild.
A bigger change that would make sense in my mind: "Trace-routes". How/why are messages from person X (and their extreme left/right buddies) arriving to me? Right now you can follow/block people and if there are no bridges of friendship in between you'd get a message warning "none of your followers follow this person". I'd love to have a "breadcrumb-trail" under user names to indicate to me why they are connecting to me and block their messages and messages from new "baddies" to reach me by blocking the person that keeps following them and creating links.
sorry for the </rant> ;)