This is why I view the "federated" form of decentralization to be more of an intermediate stop-gap between fully centralized and fully decentralized in the form of true P2P.
For a decentralized social network to be viable/sustainable (especially on the scale of something like Twitter), it has to be truly P2P, not federated on volunteer-run servers paid for through donations. That volunteer-run federated model is really only sustainable for smaller niche communities, not a global social network.
As of right now, the closest framework I can think of to handle something like this is a social network built on OrbitDB: https://github.com/orbitdb
Fully p2p doesn't really work well either. For a fully p2p network, nodes will have to hold the entire data.
Now first storage space taken will be ridiculous, and then you will be hosting content you don't want to host because it could be straight up illegal in your country.
Look at any crypto-blockchain and count how many full-nodes vs thin-nodes are running in networks.
Then there is the whole tragedy of commons: average seed ratios and streaming video players for torrent content shows that are not willing to contribute to the greater good.
Yeah, and there will be people that will just throw their porn collection there, hogging space on other people's drives for no good reason.
There is an option of dividing it between "publisher" (source) and "cachers" (caching whatever is recent and popular) but that only helps a little bit.
> Then there is the whole tragedy of commons: average seed ratios and streaming video players for torrent content shows that are not willing to contribute to the greater good.
Over 2 decades of pirating that has only been a problem for obscure and old stuff.
I don't see it being a problem in social network sense; you publish your stuff, if there is nobody wanting to look at it, seeds 1, leeches 0. Moment there is interest it propagates. It is of course problem if you want to see something archival that author is no longer in the network tho.
> Over 2 decades of pirating that has only been a problem for obscure and old stuff.
It's a common problem for old stuff like you said, very new stuff with specific formats. It's an issue for new stuff because it often doesn't have enough starting seeds, and people leaving as soon as they're done watching/downloading doesn't help the situation. Before I've discovered usenet this was a very common issue for me.
Then there is specific file formats like chunky movie rips with Dolby Vision + Dolby Atmos + Dolby Yet Another Audio Format + all of that again in 5 languages. People will often choose a different release to download, and that leads to fewer seeds.
I know a group of people on a popular torrent tracker that just downloading everything and seed forever. They do entirely for free. Those petabytes will probably rot once they...die.
edit: Scratch that, a more fleshed out and popular protocol that implements this P2P concept is Scuttlebutt: www.http://scuttlebutt.nz/
The most user friendly and refined client I’ve found that implements this protocol is Planetary: https://www.planetary.social/
Funny, I've discovered scuttlebutt, that you're talking about, while I was reading about cluster membership and fault detection protocol. I was so confused of how all of this chat rooms have to do with what I was reading about just a minute ago.
Your comment piqued my interest, but I didn't find the android (Manyverse) or desktop (Patchwork) apps to be user friendly. The UIs had a few UX oddities and unless you are convinced to join by others who are already using it, the social network is barren. Even trying to chain my from the most active people (last posts months ago) through their follower and following lists didn't fix my impression of it being a historical ledger.
For a decentralized social network to be viable/sustainable (especially on the scale of something like Twitter), it has to be truly P2P, not federated on volunteer-run servers paid for through donations. That volunteer-run federated model is really only sustainable for smaller niche communities, not a global social network.
As of right now, the closest framework I can think of to handle something like this is a social network built on OrbitDB: https://github.com/orbitdb