Plebbit is a selfhosted, opensource, nonprofit social media protocol, this project was created due to wanting to give control of communication and data back to the people.
Plebbit only hosts text. Images from google and other sites can be linked/embedded in posts. This fixes the issue of hosting any nefarious content.
it has no central server, database, HTTP endpoint or DNS - it is pure peer to peer. Unlike federated instances, which are regular websites that can get deplatformed at any time,
ENS domain are used to name communities.
Plebbit currently offers different UIs. Old reddit and new reddit, 4chan, and have a Blog. Plebbit intend to have an app, internet archive, wiki and twitter and Lemmy. Choice is important. The backend/communities are shared across clients.
The code is fully open source on
Looks interesting. But I don’t see what the point is unless you connect to fediverse or can attract a critical mass to keep it self sustaining.
I don’t get why people are so interested in the fediverse. I guess it’s a sizeable amount of content, but it’s not really all that popular and has a host of its own issues. I think people like the idea behind it more than the actual implementation.
That said, I’m working on a similar project (distributed Reddit clone), and one of my goals is to eventually connect it to the fediverse to get access to content. That said, a distributed service isn’t directly compatible w/ a federated one (there are no servers in a distributed service, only simple relays), so I’d have to build a bridge to get it to work, and bridges are notoriously awkward to deal with in the best case (see Matrix bridges), and adding P2P on top of that makes things even more awkward.
I don’t get why people are so interested in the fediverse.
Because Mastodon is Twitter without the possibility of an Elon Musk and Lemmy/Piefed is Reddit without the possibility of a Steve Huffman. You clearly feel that you can do better than the collective efforts of the ActivityPub devs so I am rooting for you!
But we’re still at the mercy of the admins of the large instances. Most of the popular Lemmy communities are at lemmy.ml, lemmy.world, or sh.itjust.works. Eventually the admins of those instances will either turn evil (I argue that has already happened on lemmy.ml) or stop hosting the service, and then we’re still screwed. I don’t know mastodon well enough, but I’m guessing they have a similar problem with a handful of instances hosting a disproportionate portion of the content.
I don’t know that I can do better, but I can try something different. Plebbit is trying something different as well, so hopefully someone will find a good mix of tradeoffs.
I’m on Lemmy because it’s the least bad option at the moment for what I’m looking for, but I think it’s fundamentally flawed. Apparently the Plebbit devs do as well (or they think they can get away with a grift), and I hope there are lots of others out there quietly plunking away at their own project. I believe Lemmy will die eventually, and I’d really like to have an alternative ready.
yeah…the fediverse is Reddit 2.0
Lemmy has been getting a little more…fascisty lately. each community has basically been infiltrated by power-tripping mods from Reddit that honestly have no business being mods.
it’s good to have things different than Reddit and Lemmy.
“Lemmy” is actually not a platform like Reddit, it’s software and the network of instances running that software is decentralized (Lemmy uses the ActivityPub protocol) meaning each instance is operated by a different person (or group). There are also other similar softwares like Piefed and mBin that work pretty well with Lemmy. That is all to say that if an Admin or Mod is “getting fascisty” you can block that instance, join another, or even create your own. That’s the beauty of ActivityPub!
Yet more cryptotrash.
According to OP’s previous comments the dev of this has spent 600k of their own money on this. If that claim is legitimate then feel free to draw your own conclusions about why someone with 600k to burn would spend it on an NFT crypto reddit, but without images.
Did they pay devs to build it for them?
I’m working on a similar project, but I’m 100% bootstrapping it. I’m using Iroh (similar to IPFS, but hopefully faster), and there will just be the one UI until someone makes another. I haven’t done authentication yet, but I might end up using blockchain for that, idk, I need some form of trusted directory.
I’m going to be looking through this, because it sounds very similar to what I’m working on, and I’d love to just join a project instead of doing all the leg work of getting traction myself. The things I’m particularly interested in are:
- moderation - I plan to use something like a web of trust, but with transitive trust; you select people you trust, and whether you see something depends on how those users moderated
- persistence when users go offline - I use a local first approach, so a post is cached locally if you either authored or viewed it, and peers will pull from you if you’re the closest source; caches would need to expire so we don’t blow up everyone’s storage
- communities operate in a single namespace (so fix the main complexity w/ federation) - you create a community by posting to that namespace, and it gets mixed w/ other users who post to that same namespace
I’m also interested in building an ActivityPub bridge, so this network can act like an “instance” of sorts and push/pull content from the rest of the Fediverse. This is mostly to seed content in the early days, and I’ll decide whether it’s worth it once everything else works.
I don’t know if Plebbit does any or all of this, hence the interest. That said, someone spending actual money on it seems a bit… odd, since I don’t see how this could be monetized.
What would be the possible alternatives to block chain?
Assuming you’re talking about authentication:
- public key signatures - users sign every posts and broadcast their username/pub key combo
- centralized (could be multiple) auth authority - openid, oauth, etc; posts signed by some unique key from that auth service
I’m deciding if the first is sufficient or if I actually need some form of blockchain to prevent tampering.
Thanks for your thoughts on this.
I am not sure how Matrix handles keys but it is a real headache for end users. For me at least
With openid, etc, it’s decentralized compared with centralized and distributed, so you wouldn’t get stuck with one openid provider.
I don’t know much about any of these so thanks for developing for the rest of us.
Yeah, I’m thinking of having a separate key per device, and there would be a registry that ties them together. Usernames would not be unique, so to tell two users with the same name apart, the app would check the post signature against the keys in the registry.
This should prevent name squatting, but it would enable pretending to be another user. As long as user names aren’t very important (i.e. it’s closer to Reddit than Twitter/Facebook), this is probably fine and similar to what we have on Lemmy (only unique to your instance).
If we want to guarantee unique usernames, we would probably need to use a consensus system like blockchain. But blockchain has other drawbacks and I’d really rather not go that route.
Which one we go with doesn’t really impact my moderation plans, so I’m going with pub keys for now because they’re dead simple. It’s also nice that it’ll keep working if your country disconnects you from the internet, and someone could smuggle in data from outside if you really wanted to.
The first is sufficient. You only need to see someone’s public key once, then you cache it and can authenticate all future signed messages.
I just need to think about potential attack vectors. I think issues can be worked around, but I’ve spent most of my time thinking about how to create something and less about how to protect it from attack.
But yeah, public key crypto w/o a central database is my first choice, blockchain is my second.
Holochain is an interesting option I haven’t seen mentioned.
They pay the devs via bounties and meeting milestones.
We tried iroh but it wasn’t fit for purpose. We have tackled the moderation exactly how you’ve described it. Allowing multiple people to control a community. We’re in the process of implementing it. Our version of this allows people to create multicommunities where it shows similar communities in one sub.
Activity pub would be interesting but plebbit is so technologically different were not sure it would be technically possible. We forgo the concept of instances entirely allowing Plebbit to work closer to Reddit, where you just search a sub. Global admins don’t exist on Plebbit. Subs can still share ban lists if they wish but its optional
Plebbit is always looking for new devs, join our telegram group @joinplebbit to discuss with the main dev about joining the project.
Ok, I read through the whitepaper, and it seems it works quite differently to what I’m working on. Main differences:
- communities
- plebbit - communities are public keys, and one person controls the private key, which basically makes them the admin (they choose the rules, moderators, etc); not sure why plebbit advertises it as “adminless”
- mine - communities are topics, nobody controls them, so the concept of “rules” doesn’t exist
- moderation
- plebbit - looks like moderators can delete posts, I suppose through rights granted by the community admin (i.e. they trust the moderator’s public key)
- mine - distributed moderation similar to a Web of Trust, but instead of explicitly trusting users, you build trust by moderating similarly to them; I’ll probably establish a default trust graph (the users and their trust weights) that new users can use, which will probably be based on popular trust graphs and will slowly go away as users participate in moderation; I’ll probably let users tweak the parameters to that trust model as well (i.e. how much weight to give votes vs reports)
- spam
- plebbit - captcha system between client and community admin
- mine - relies on distributed moderation
- how data is stored
- plebbit - community owner has all the content for the community, and other peers may have the content as well
- mine - unlikely for anyone to have all the data for a community, you’ll only cache what’s relevant to you, plus some random additional data depending on space to improve discoverability for your peers; in the beginning, I will have peers that cache all content until I figure out the right mix, but long-term, I intend to have most content live in someone’s cache through statistics, while very unpopular content (spam and whatnot) will disappear from the network
And other notes:
Browser users cannot join peer-to-peer networks directly, but they can use an HTTP provider or gateway that relays data for them
Not exactly, WebRTC exists, so you only need an HTTP provider to initiate the WebRTC connection to peers. Look at WebTorrent for an example. I haven’t yet tackled the web on my own project, but I am building everything web-first (I’m using Tauri for my desktop app), and I intend to have it work on the web when I release.
proof of balance of a certain cryptocurrency
This seems odd to me. Why would someone holding an arbitrary amount of cryptocurrency have any bearing on their trustworthiness? Surely a bad actor could just move crypto around and spam as much as they like, no?
Likewise, payment seems like a bad idea, because that would encourage exclusive groups that share illegal content (drugs, child porn, military secrets, etc).
It would allow unlimited amounts of subplebbits, users, posts, comments, and votes.
Aren’t posts, comments, and probably votes limited by the storage space available to the community owner? From what I can tell, they host everything, so once that storage space is full, things will stop working properly. The whitepaper isn’t clear here, so I could be mistaken.
With my approach, there are no bottlenecks, and you can adjust how much storage you give to the app as you see fit, and the more storage you allocate, the better the experience for you and your peers (diminishing returns). But even if you set your persistent cache to zero, you can still use the service, though you’ll need to make a lot of DHT calls.
That said, it seems like an interesting system and IMO a step up from Lemmy, because it reduces the cost to self-host (don’t need a copy of all data for every community you use, just the communities you own). I’ll certainly be tracking development, but I don’t currently use Telegram and want to work on my own project for now before getting involved in another project. Once I’ve proven the technical bits and feel comfortable sharing it, I’ll take a call on whether I’ll continue development or join some other project.
Thanks for the offer, but I’ll stick to watching the project on Github for now, and maybe I’ll play with it a bit in my spare time. If you had a Matrix channel instead, I’d join and at least read through the discussion there.
- communities
… Ain’t that just a website?
It sounds like jest plain simple website/forum BUT with specific protocol making it more discoverable/searchable?
Allowing to post comments anonymously… sound like a bad idea in the long run, but who know, make me eat my words.
Allowing to post comments anonymously… sound like a bad idea in the long run, but who know, make me eat my words.
How so? Reddit and Lemmy do just that. There’s nothing tying my username to me, and I’m guessing there’s nothing typing yours to you.
There’s more abuse potential with full anonymity vs persistent pseudonyms
I don’t think that’s necessarily true. The difference between 4chan and Reddit is pretty small, and abuse certainly happens on both platforms. It’s pretty easy to swap out a pseudonym (I used to do it every 2-3 years on Reddit), so the difference between that and completely anonymous posts is pretty small.
If you tie accounts to a persistent identity (e.g. Facebook), you have an opportunity to address abuse, but you open yourself up to even more tracking by the service and your government, which I think is worse.
For me, tying online accounts to actual identity (e.g. government ids) is a no-go for me, so the abuse problem needs to be addressed another way. For lemmy, that’s centralized moderation (per community and instance). For a P2P service, that means users opting-in to moderation (e.g. something like a web of trust), which should prevent them from seeing abuse in the first place since they won’t see untrusted content.
No! bUt ThEy HaVe Ur EmAiL!!!
But they don’t. I have never given my email to Reddit or Lemmy. If I did, I’d use a throwaway email.
No matter what choice you make, Lemmy or Plebbit or something else, it’s clear that decentralized/federated services are the real future. The return of the torrent swarms but forum swarms instead.
At some point something clicked with everyone, and they realized “the cloud” is someone else’s computer, someone else’s property. We all collectively realized you never feel truly free when you’re on someone else’s property, you’re always playing by their rules. At least with decentralization the levels of control are distributed so you have less of one person wresting control from anyone else.
It’s a bit like growing your own garden. You do it because you know what you’re putting into your garden and getting out of it. If you choose to use pesticides, that’s your choice, and no one else’s. When you choose how to run your own self-hosted services, it becomes your choice what comes and goes from your network.
I’m glad to be part of the self-hosting future here.
Unfortunately for the fediverse, most regular users want to use their twitters and facebooks and instagrams and whatnot. I don’t see regular users switching over. And if they did, you know the big guys would come up with something to compete.
Unfortunately, that seems to be how things go.
That said, I am working on my own Reddit alternative, which at least keeps me out of trouble. If it ever goes big, it’ll get squashed by the big tech companies, but at least I’ll have the satisfaction of building something cool.
Embrase, Extend, Extinguish maybe :(
From the whitepaper it seems like you cannot comment at all? Or each comment is a post also, so you need a server, you need to host it to be able to reply? I don’t see a mention how an upvote/downvote system could work.
How this is even similar to reddit? From what I could find it’s much like a topic based microblogging, and it’s a very one way communication. As it’s similar to IPFS and torrent, which are also very one way communication. Seems like an interesting idea, but I don’t see why it was compared to reddit.
Personal opinion, IPFS clones are reinvented about every year, and because they sound very good on paper, but noone could figure out a legit usecase - maybe except piracy - they fail after a while. Maybe if we would become an actual InterPlanetary species with colonies on Mars they could be useful, but until I don’t really see a point trying it again and again and again…
I don’t think that it’s that you can’t comment at all, it’s almost rather that you can only comment.
Plebbit only hosts text. Images from google and other sites can be linked/embedded in posts. This fixes the issue of hosting any nefarious content.
You can link to other things and embed them in a text post using code, but there is no ability to upload anything, so the content really is all just text (since links are created using text commands).
Reddit was like that for ages before they implemented i.redd.it and v.redd.it. it’s the whole reason Imgur even exists, Reddit wouldn’t let you “upload an image” and would only aggregate comments and upvotes for links to external content.
That said, this Plebbit project raises more red flags than a Danish standing army.
base64 image is just text…
How do you stop someone posting base64 encoded CSAM. And as it is “censorship resistant” you can’t even remove it… It was even a problem here in Lemmy, assholes are around the internet to destroy anything.
Also cryptobros:
The captcha service can be replaced by other “anti-spam strategies”, such proof of balance of a certain cryptocurrency. For example, a subplebbit owner might require that posts be signed by users holding at least 1 ETH, or at least 1 token of his choice.
The more I read about this it sounds more and more terrible.
I haven’t looked much but I’m assuming there is an IPFS integration?
So in what way is that better than Lemmy?
Does it need to be better? Can people just share things they find interesting or that they made?
From reading the whitepaper, you basically replace instance admins with community admins, and your P2P peers will cache some of the content so you don’t hit the community admin all the time. Benefits:
- lower hosting costs - you only need to pay for storage for your community, plus some transfer as comments/posts get updated on your “instance”
- risk is limited to whatever communities someone is hosting, not an entire instance
- user accounts aren’t centralized, so if a community goes down, you still have your user account
- some protection against doxxing IP addresses, whereas w/ Lemmy you need to trust your instance admins
Other differences:
- moderation is selected by the community admin, there are no instance admins
- trust mechanisms (captcha and whatnot) is managed at the community level, since there is no instance level
Potential downsides:
- no ActivityPub, so it won’t interact w/ the fediverse whatsoever
- affiliated w/ their own crypto token, and has ties to Ethereum NFTs and whatnot
- lots of different interfaces (4chan clone, Reddit clone, etc), which could cause distraction for devs
- uses public-key addressing instead of content addressing, so it could be slow (they propose a mitigation)
I think it’s a step in the right direction in some areas, but ultimately there’s just a bit too much association w/ cryptocurrencies for it to really be a long-lasting service. We’ll see though, maybe my fears are unwarranted.
The ideas sound solid. One of Lemmy’s issue is different instances hosting the same community and frequently posting the same content. But too much centralization leads to lemmy.world admins controlling everything. Still there might be abuse such as people claiming every community name.
Yeah, name squatting could be an issue, depending on if they rely on ENS or if it’s merely an option. The whitepaper claims communities are merely a public key someone controls, and the name is supplementary, so you could conceivably have duplicate communities. So in theory, squatting wouldn’t be a major issue, but discovery could be (i.e. if ENS is used for discovery, then it’s de-facto authoritative).
I haven’t looked at the implementation, just the website and whitepaper, so I don’t know the specifics. But in theory it looks to have many of the same problems Lemmy has, with the major difference being reducing hosting costs and some dox protection.
Without some level of beneficial dictatorship all projects are doomed if moderation is required.
I don’t think that’s a given, I just think we haven’t found a good solution yet. I’m working on one such solution, where moderation is personalized to the individual user. I think this should be good enough to hide most of the slop, while outliving any BDFL. It’ll probably fail, but hopefully it helps someone else come up with a better implementation that won’t.
I like the concept, and truly hope it takes off, but holy fuck is it slow to load content on any of the first 2 web clients off the main website, plebbones took forever just to load the interface so I left.
As of right now, if it’s taking 2-3 minutes just to load the content of the tiny user base, I don’t see how it’ll be “infinitely scalable”
I really like that dev is ambitious here and have my fingers crossed 🤞🏼
The more self hosted alternatives we have the better, maybe someday I’ll need one 😁