A while ago, I posted about my plan to build a Lemmy client using the Plebbit protocol.
The response was, honestly, full of hate. I wasn’t expecting praise or anything, but I didn’t think people would react so negatively to the idea of something truly decentralized.
But here I am again. Still believing that Plebbit is the only real self-hosted social media protocol out there.
Let me explain why, in the most direct way I can:
– Plebbit is serverless. – There are no global admins. – It does not rely on any central server. – It can’t be censored or taken down. – It works like BitTorrent, but for social media. – No subreddit can go offline as long as one peer is online.
Every subreddit (called a “subplebbit”) is its own world. Mods can ban users, remove posts, or run things how they want. But there’s no “head office.” Nothing above them.
And yes, Plebbit already has support for NSFW subs like /pol and others. It doesn’t need approval from anyone.
I see Plebbit as the Bitcoin of social media. Pure, peer-to-peer. No middlemen. No backdoors. No central kill switch.
It reminds me of what the internet was supposed to be—free, open, uncensorable.
Sadly, most devs I’ve met online don’t really understand peer-to-peer tech deeply. Some barely know cryptography. That’s okay, but it also makes real decentralization hard to appreciate.
If you’ve never read the Plebbit whitepaper,
https://github.com/plebbit/whitepaper
please do. It’s not just another protocol. It’s a whole different way of thinking about social interaction online.
I’m still planning to build that client. I don’t care if the first reactions were negative. I’m not doing this for approval. I’m doing it because I genuinely believe in it. But reviews matter too.
My question is… What does this do that ActivityPub and ATProto doesn’t do? That’s the angle you should approach this from (and be ready to defend… People on Lemmy seem adamant that ActivityPub is perfect and unbeatable…). We’re technical people here, sell it as a technical solution to a problem rather than using buzzwords or comparing it to Bitcoin.
You’ve mentioned serverless many times, but ultimately I need to send content somewhere and ask someone to send me content. I can’t just throw my posts into the wind and expect someone else to get them. So how do I make a post if not by sending it to a trusted person?
It’s not serverless, of course. Each peer is a server and the peer that created the “sub” have control to be able to moderate things. You have to maintain your peer always online, because it’s a server. Traffic happens over IPFS, which is sloooooow.
ActivityPub is not perfect, but this is just a channer wanting some freeze prach space he can control.
With Plebbit there’s no global admins like Reddit, so you fully own your community and nobody can take it away from you.
I mean, that’s true of Lemmy and any other message board type system based on ActivityPub and ATProto. From a technical standpoint, there is no central authority on them.
Difference is it’s a pure p2p network with no need for anyone to set up their own DNS/TLS/etc, so that brings the barrier of entry for running your node way lower. When you download the desktop app of Seedit for example, you’re essentailly running a full p2p node in the background.
That is way more censorship resistant than say, Mastodon or ActivityPub-based socials
Imagine Bob is hosting a community about cat pictures, and I want to send him a picture of my cat to forward to other followers of that community.
How do I:
All of this in a political environment that bans the sharing of cat pictures.
Plebbit is text-only, images are not hosted on the protocol anywhere. Although you can embed a link to an image within your comments or posts. Eventually we will think of a design for p2p image hosting but it’s not high priority right now, also it could be abused easily.
If we assume Bob in this is a community with human name like
cats
, then the backend of Plebbit will resolve the text records of the domain to find its IPNS address, which then can be queries from trackers to find Bob, or anyone else who has the content of Bob’s community.Plebbit uses IPFS for its backend, which is based on content-addressing. You always get what you ask for.
Depending how you connected to Bob, if you connect over a websocket or any encrypted protocol it will encrypted and nobody can snoop on you.
It still looks like you’re relying on IP addresses, which means if you want to host a Plebbit server (sorry, “always on peer”) you need one of the following:
Did you mean a community (subplebbit) here? Or did you mean running your own client instance, like Seedit?
If you still wanna host it with someone else, you could have the address of the community be a blockchain name system tied to a wallet you own, and then give the hosting provider your database (which contains your IPNS private key). The hosting provider will receive and publish updates on your behalf, but in the case they went rogue, you can update the text records of your domain to point to a new IPNS you fully own.
So even this way, the hosting provider doesn’t really have a lot of power over the community owner.
You can use relays/tor/vpn to obfuscate your real ip address. The peers in the network won’t know necessarily that IP address <x> is running these specific communities, just in the same way you don’t know if a random bittorrent seeder is person who originally created the file and uploaded it.