u/thgntlmnfrmtrlfmdr

How might peer-to-peer technology be incorporated into, or augment, existing fediverse tech?

This is a followup to my previous post, and a particular point that was raised briefly but most commenters didn't focus on.

I enjoy starting discussions like this and I'm glad the last one was received well. To be clear, I'm not dogmatic about a particular way to do things, my goal with these posts is to trigger interesting thoughts. I am not a programmer and do not "actually" contribute anything, beggars cannot be choosers, so you don't need to take my opinion too seriously.

That said, let's talk about what peer-to-peer social media might look like.


Why do this?


1. Scaling. This is actually the biggest and most immediate benefit, and would probably be substantially helpful even with only small opt-in P2P features. How is a decentralized network of thousands of small server operators going to scale up, if a mass migration occurs? If the migration started tomorrow, the opportunity might be largely lost. Let's say users could optionally seed a post or comment for a period of time after viewing it, that would help immensely when the next big rush of new users comes, wouldn't it?

Peertube already has some P2P tech in its video hosting for this same purpose, to help with scaling and meeting demand. But in their model everything is still coming from the servers. Imagine if the peertube viewers were actually seeding as they were viewing.


2. Internalizes externalities: ie it solves the social media freeriding problem by turning lurkers into productive providers. This is big because the vast majority of users are always going to be lurkers.

If you could figure out a very strict way to absolutely prevent content from being viewed unless the downloading computer agrees to seed, it would also make scraping bots actually useful or disincentivize them - both good outcomes. I am not knowledgeable enough to know if this is realistic or just a pipe-dream, though.


3. Reduces required trust: Yes, a fully-P2P network would probably not be privacy conscious (unless you do something like Quiet where things are routed through Tor or a similar network of relays). You'd need to be willing to seed. But on the other hand, you wouldn't need to trust the operator a random small server like many people currently do in the fediverse.


4. Makes it harder for a big institution to muscle into the fediverse to steal users and eventually close off their own bubbles, nor for a successful server to turn evil and "betray" the network; there will be no worry about a server becoming "too big" and too powerful, if there are no substantial servers in the first place.


Two specific questions for discussion:

1. How feasible would it be to implement P2P forum architecture either as a standalone social network, or 2. as an opt-in feature of existing fediverse server softwares like Lemmy, Piefed, Peertube, Pixelfed?


My own answers: 1) Quiet proves that it can be done at least for Slack-style networks. With Tor integration, their approach also seems more complicated than strictly necessary if your goal is just decentralization.

Who tracks credentials? The answer is likely a public key / private key username/password system, like blockchain. Quiet also uses a system like this.

Who hosts? When you post or comment, you seed your own. It stays accessible as long as you keep seeding, and vanishes when you stop, unless others have picked it up. What could be more fair than that?

  1. Existing services can already integrate P2P features:

Seeding as a big upvote: Come on, wouldn't this feel amazing? What better or more natural way to spread and reward good content?

Indiscriminate seeding: Users could sign up to actually take server load on an as-needed basis. If they are signed up, and if they are logged in at the same time the server gets a lot of demand, then it offloads some stuff to them of the server's choosing. There could be instance rewards linked to this.

User-specified seeding time: When you volunteer to seed, you choose how long you want to keep seeding. By default, it stops immediately when you log out.

reddit.com
u/thgntlmnfrmtrlfmdr — 9 days ago

What is stopping authoritarians/companies from co-opting and destroying (Embrace Extend Extinguish style) the fediverse? And is peer-to-peer forum hosting a feasible solution?

To briefly summarize my concerns, which I'm sure everyone here has already heard, I will quote an academic article that nicely articulates them. Journal link: https://sol.sbc.org.br/index.php/webmedia/article/view/30332/30138 Preprint: https://arxiv.org/pdf/2408.15383

Emphasis mine:

>Regarding our research questions 1 and 2, we showed in Sec. 2.1 that the Fediverse technology, on its own, does not prevent its potential capture by large for-profit companies or the concentration of users and instances among a few dominant players. In Sec. 2.2, empirical data revealed that users are [already] heavily concentrated on a small number of instances, and for-profit entities, including Big Tech companies, are exerting significant influence. Lastly, Sec. 2.3 examines how older decentralized systems such as email and the Web evolved into centralized structures dominated by a few significant players.

My Thoughts

Don't get me wrong, the fediverse is amazing and its current success is inspiring. If the entire social media landscape were completely replaced by the fediverse tomorrow, it would be a huge win for society. The fact that all software involved is open source and that anyone can create their own server with their own rules is a huge improvement over the current situation, even if in practice it would be centralized. But in such a situation, the big server owners, simply by virtue of being bigger, could decide to change the technology underlying their own servers in a way that closes them off from the fediverse, and we would evolve back to the current dystopia. There are already some companies that have created asymetrical relationships with the fediverse. That's the main concern.

In reality, we wouldn't even get that far because nefarious companies would undermine the fediverse by co-opting and EEEing it before it would be able to "replace the current social media landscape" in the first place.

What can be done? Or what is the author of that paper missing, that is the saving grace, that I am not aware of? Well, I am mainly asking you all, since I am less knowledgeable about the technology. But the solutions that I see are:

1. Users are assigned instances by some consortium of servers to achieve a decentralized distribution, and are free to migrate later, instead of making an initial choice. The entire idea that users should immediately choose a server (and especially giving them funny names like pod or instance, which just adds confusion and immediately creates the false impression that they will be "limited" to that server) is terrible and not only turns 80% of prospective users away, but even when they do go through and join, they do so in a highly centralized manner. Even with the current counterculture nonprofits like Mastodon and Framasoft hosting the websites explicitly telling people to feel free to join a small server, even then, we are already very centralized.

Figure 2 in that paper showed that 80% of fediverse users are on the top 189 servers, less than 1% of the total servers. This is better than social media as a whole but still highly centralized. If it's already that bad when the flagship servers encourage people to join the small ones, you can therefore imagine the situation would be even worse with a nefarious company explicitly telling people its server is the best and that they should only sign up there.

2. The Stallman method: legally force non-parasitic behavior from federating servers. I am not a diehard FOSS-only person, but I acknowledge that we all owe this man a great deal. His novel innovation was to invent legal requirements associated with an asset (whether it be code that you write, or in this case, a social media server you administer) that enforce "paying it forward". What would this look like for the fediverse? The underlying software is already open source. What we would need is an entirely new legal framework, something saying that if you use this, you cannot use it to track people, or show ads, or sell data for profit, etc. Or maybe a legal limit on the number of users your server can sign-on, to guarantee nobody gets too powerful? Or maybe it should not be a software license at all, but some sort of legally binding agreement between servers, specifying the conditions of their mutual federation?

Needless to say, this sounds very dubious, but I'm curious what people think because this is the method that has historically been most successful at fighting corporate parasitism, just in the software context rather than the social media context. Is there any way a sort of "fediverse constitution" could work? How would you envision that?

3. A truly peer-to-peer, serverless (or mostly serverless) architecture is used. This is the most interesting to me but probably the most technically challenging. The closest I could find are "manyverse" which seems to be dead, and "Quiet", which is a Slack-style messaging system and still very unfinished.

What I would ideally want is something that is stylistically like old reddit, but whenever a user views a comment, they start "seeding" that comment to other users. And when those other users scroll to view the comment, instead of downloading it from a central server they download it from seeders who have already viewed/scrolled past it. The great thing about this is that not only does it prevent centralization, it helps tremendously with scaling, which many fediverse websites have obviously struggled with in the past. How technically feasible is this?

reddit.com
u/thgntlmnfrmtrlfmdr — 10 days ago