from Plebbitor@lemmy.world to selfhosted@lemmy.world on 02 Jan 19:02
https://lemmy.world/post/23816408
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
threaded - newest
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.
Embrase, Extend, Extinguish maybe :(
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.
Sometimes the cloud is your own computer
… 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.
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.
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.
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.
I’m sorry, but I sincerely doubt you’ve been on 4chan recently.
Reddit All Hot: <img alt="" src="https://lemmy.dbzer0.com/pictrs/image/8fa6fe9a-d074-408d-9343-4f5d7c7b0845.webp">
Reddit All New: <img alt="" src="https://lemmy.dbzer0.com/pictrs/image/a72a33bf-f31c-4acf-9549-14b0c1bf1624.webp">
4chan /b/
<img alt="" src="https://lemmy.dbzer0.com/pictrs/image/3df3583f-2740-46a8-b975-62dc58bcccc2.webp">
I don’t see abuse in any of the pictures you posted.
My point isn’t that 4chan and reddit are the same in every sense, just that the difference in abuse (specifically targeted abuse) isn’t all that different between completely anonymous and persistent pseudonymns.
I think it’s pretty well studied that pseudonyms are much better for human interaction than true anonymity. I’m not a social scientist though so I don’t have the references offhand.
It can be fun to be anonymous but there’s a reason Yikyak shutdown, 4chan, 8chan are how they are, etc. they just don’t tend to work well long term.
With pseudonyms ban evasion is possible but registering an account is at least some friction deterring some bad behavior, and mods have more tools. And on the other side you do have some reputation building that occurs when people have stable usernames.
Oh sure, there are absolutely benefits to pseudonyms for the reasons stated, I just don’t think serial abusers change their behavior much either way. As long as the barrier to creating a new account is pretty low (i.e. consequences are minimal), toxic people will keep being toxic.
My issue is that moderation is a flawed concept, at least in the way Reddit/Lemmy do it. You either need strict rules (min karma, min account age, etc), all of which can be worked around, or you require very active moderation, which just attracts control freaks and power struggles.
I’m interested in distributed moderation. Everyone wants something different out of moderation, from content they agree with (echo chambers) to constructive content (challenge their opinions). And a distributed platform where content filtering happens on the client has a lot of potential for experimentation. This relies on steady accounts, but it doesn’t require me to actually know who I’m trusting, and it can happen behind the scenes (e.g. begin to trust users that moderate similarly). If done well, I think it will sidestep power hungry moderation while providing most of the benefits, with the risk that users will accidentally silo themselves. But I really like the idea in general of something between full anonymity and persistent pseudonyms.
Sounds like an interesting thing to try! I do think it might tend to group users into a groupthink / exclusion mentality, maybe, or maybe it won’t, but definitely cool idea.
I’ve seen plenty of mod drama / trolls over the years, seems like a fundamentally human problem, kind of like good vs evil in a way, almost impossible for one side to win over the other.
Yeah, that’s my concern as well, so I intend to have something like Steam’s “discovery queue” to allow users to provide more information (which moderation decision do you agree more with?).
And yeah, we’re dealing with a bunch of human problems here. Humans are tribal, possessive, and resist discomfort, so maybe there is no technical solution here, but I’d like to try.
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.
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).
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 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?
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.
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”
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.
Yeah, I lost interest at ‘blockchain’.
Where are you seeing "blockchain"? Looking through the (scant) documentation on GitHub, they explicitly do not use blockchain: https://github.com/plebbit/docs/blob/master/docs/learn/intro.md "Running a full node takes a few seconds, since there is no blockchain to sync."
Another link someone gave: "We propose solving the data problem by not using a blockchain..." https://github.com/plebbit/whitepaper/discussions/2
ENS stands for Ethereum Name Service
<img alt="1000003091" src="https://sopuli.xyz/pictrs/image/3c7a0858-8b0f-4051-b4ec-ce91a59772bf.webp">
They say no blockchain transaction fees, so I assumed it was some crypto bullshit. Still not positive it isn’t.
From that same discussion thread:
The protocol does not use blockchain for data, but the web service itself looks like it would use crypto and NFT to manage aspects of user identity, spam prevention, and monetary incentive.
Ahhh, ok. Thank you, my fault for not reading carefully.
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:
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:
I’m deciding if the first is sufficient or if I actually need some form of blockchain to prevent tampering.
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.
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.
Holochain is an interesting option I haven’t seen mentioned.
Federation.
Reading the white paper you find the “serverless” has servers. Each community needs to be always online to serve captchas to posters. The system is federated on community level, instead of instance level, and uses DHT instead of DNS.
I thought Blockchain was how the protocol knew how to federate, e.g. where to find other users. (?) I don’t really remember how Blockchain works but iirc it is a way to verify trust, e.g. this person really is /u/sem because our shared document says they are.
I know DNS is an alternative but it kind of sucks. Bluesky is inventing it’s open DiD thing for identity and it is centralized in practice but might be a good system. And I have no idea how it works.
Projects with blockchains work like BITtorrent to find peers. That’s why bitcoin was called BITcoin.
Federation doesn’t require blockchain. Blockchain was created for a very unique solution to storage of digital cash transactions that’s not relevant in almost any other system’s storage.
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:
And other notes:
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.
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).
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.
They’re probably calculation their own labor, which they mark as a negative.
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 😁
How does removing images change anything? Any file can be transmitted by text, as we used to do with e-mail, and you don’t need to use images to make illegal or just intentionally offensive content.
Something tells me the "I don't host CSAM I just host posts that embed/link to CSAM (from other hosts)" argument won't hold up in court.
Doesn’t it tho? That was part of the issue with Lemmy federating suspected csam content as the actual content ended up on their servers.
Edit:Should probably be clear, I mean legally, not ethically or morally lmao.
Lemmy has moderators and admins which remove CSAM. Plebbit was intentionally built in such a way that no one can remove anything. Extensive discussion of this at the OP's original post https://lemmy.world/post/23704373. Ctrl-F for "censorship"
Kinda missing the point, the fact it got posted at all on lemmy necessarily means it was potentially federated and hosted on various servers, hence opening them up to legal troubles even if moderation is done.
From my non-lawyer understanding from what I’ve gathered online, THAT is the legal issue, as opposed to unintentionally hosting links, what actually matters legally is where the content is hosted.
They have a concept of moderators, which are chosen by community owners and have the power to remove content within the communities they moderate.
At least that’s what the whitepaper says, I don’t know what the actual implementation does.
yeah still seems better than its saved on my server.
Happy cake day!
So in what way is that better than Lemmy?
…i remember going to our computer lab in the early nineties and seeing a flyer about this new protocol called the world wide web, thinking to myself in what way is that better than gopher?..
Greetings, fellow geezer! And yes, I’ve been there too. My first foray on the web was with Lynx, a text based browser. Left me pretty underwhelmed. But once I actually tried Mosaic, I was instantly converted.
…NCSA mosaic won the web, absolutely; in truth i think it gave a lot of us an excuse to upgrade from terminals and shell accounts…
I think it’s the same in most aspects, just less developed. However, it looks like the devs lie about the benefits and use a less secure alternative to dns.
It’s garbage with a funny name
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:
Other differences:
Potential downsides:
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.
Oof. No Activity Pub is a death sentence
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.
Does it need to be better? Can people just share things they find interesting or that they made?
Hold up plebs (hah), this alternative to dns (domain name system) called ens is actually more centralized.
The pros listed here over federation: no central http endpoint, database or dns are a lie. The whole point of having federated instances is that they’re not a central thing. Yes, individual instances can be knocked out. It’ll be just the same for plebbit except no one can moderate trolls creating scummy or phishing domain names.
Whomever came up with the idea to charge people gas fees is a billionaire now. Ignoring that bit, this blockchain based domain system looks cool, but an unmoderatable free-for-all is an absolutely terrible idea
I read through the whitepaper, and it has moderators similar to Reddit/Lemmy. Basically, whoever creates the community (subplebbit) is the owner/admin (they like to say “adminless,” but each community has an admin), and they can select moderators, who can do moderation tasks like deleting posts.
So it should have the same benefits and problems as Reddit since it’ll all come down to the moderation team the admin selects.
If you think of it like Lemmy, but instead of instance admins you have community admins, you’ll be more right than wrong.
On an unrelated topic, I’m working on my own P2P Reddit clone that doesn’t have centralized moderation, but instead relies on a Web of Trust system to handle moderation, but instead of binary trust, it’s fractional (i.e. you can trust someone 10%, someone else 20%, and posts will be filtered accordingly). In fact, trust isn’t manually handled, it’s handled based on how similarly you act vs others (i.e. you both upvote/downvote similarly, flag posts similarly, etc), and I’m deciding whether making this based on community makes sense (i.e. you trust user A on community X, but not on community Y).
Just because moderation doesn’t look similar to what you’re familiar with doesn’t mean it’s ineffective. We’ll see if Plebbit works out, but I’m still going to try my own approach and see if that works. Oh, and my approach doesn’t have a blockchain, crypto currency, or really any way to monetize it FWIW.
You misread, the unmoderatable free-for-all is about the domain name system alternative. Not the hosted platforms they point to
Good to see they’ve got some moderation tools for the platform regardless tho!
What do you need moderation for that for? All a domain name service needs is some kind of reputable link between two things (e.g. domain name and IP), and Plebbit seems to be using it to reserve community names (so name -> public key, or maybe the other way, I haven’t looked into it). The reputation comes from the blockchain, which dramatically increases the barrier for an attacker to change an entry. Instead of a central authority, you have a group of individuals (ETH is based on proof-of-stake now, and I assume ENS is as well) who verify claims before it becomes part of the blockchain.
To me, it’s the least problematic part of it, I’m more concerned about communities having owners, and thus communities can die if the owner decides to stop hosting it or decides to dramatically change the rules (or moderators, etc). One of the major points of decentralization is to remove the power of individuals to change/break things, and Plebbit doesn’t do that. The most problematic part, IMO, is ties to cryptocurrency, which seems to be its profit motive, so the moment it takes off, the creator gets rich (because they hold a ton of PLEB token), and that doesn’t bode well for the long-term viability of the project.
That said, we’ll see how it works out. I think it has some interesting ideas, and I’m all for alternatives to the established players in the social media space.
Have you been living under a rock? Just allow me to register plebbbit.eth and make it simple steal user accounts then redirect to the actual website. This, and plenty of other tricks need to dealt with
You could do the same with DNS, nothing is stopping you from registering a similar domain name and doing the exact same thing. ENS doesn’t change anything with the attack, it merely exchanges registrars for a block chain.
Except dns requires proper registration, and has a place to report abuse, and those reports are actually acted upon. Moderation here is not preventative, it’s reactive.
Stop trying to justify this approach, a blockchain is cool but you’re really just monopolizing domain registration
Oh, I think the approach is problematic, I just don’t think ENS is a major concern here. I don’t think you need DNS/ENS for this kind of service, nor do you need any form of blockchain.
My point is a blockchain DNS system isn’t significantly worse than the current system, where we already see a ton of similar abuse. The proper solution, IMO, is to avoid the need for DNS at all.
Accurate, what would you do instead of dns though?
Nothing?
DNS exists to give an authoritative answer for who owns something. I would have a completely different design where nobody owns communities.
Basically, I’d treat communities as topics that live on a DHT as keys, posts would be keys semantically related to the community (e.g. “communities.<community>.posts.<post>”), and so on. Anyone can post to that topic or to any posts or comments related to that topic by creating subkeys, all of which use UUIDs to guarantee uniqueness. All entries in the hash table are signed by the author’s key, and people can create identical entries (i.e. the same key), which can be distinguished by the signature. The signature is important, because we can’t trust timestamps to distinguish between collisions (e.g. someone mimicking someone else’s post id vs someone editing their own post).
Moderation consists of a web of trust system, where users are given weights based on how much you trust them. When deciding whether to display a post, you’ll check the moderation of that post by people you trust, and show/hide it accordingly. The same goes for votes, you could disregard votes from users you consider spammers/trolls. Building that moderation graph is largely automatic, if you vote or moderate similarly to someone else, you start to trust them more, and their weight in your graph increases.
In other words, nobody owns communities, so there’s no reason to have DNS, and the main reason to have DNS is for moderation, which becomes moot when moderation is itself distributed.
A domain name system is for naming domains, not moderation. And just use a database instead of reinventing the wheel.
That alternative “show if trusted” approach would be nice in an ideal world where everyone already has a perfect filter bubble with only their perfect friends. But unfortunately the world isn’t like that.
You gotta learn to walk before you can run
Right, plebbit seems to use ENS to connect a name to a place. If the name doesn’t point to a place but instead a distributed collection of posts, you don’t need a domain name system.
A DHT is a distributed key value database. I’m modeling everything in terms of structured keys using existing data structures.
Moderation is the hardest nut here to crack, and that’s pretty much the entire point of this experiment: can I build a distributed trust system? I’ve read a few papers on approaches that could work, and this transitive trust system should do okay. The idea is that I trust user A by X%, A trusts B by Y%, so I should trust B by something less than both X% and Y%. To get a decent result, I need enough data to make it work well, but not so much that computation is slow.
I think it’s feasible. If it works, we don’t need centralized moderation, which solves a ton of problems in current social media networks.
No, it does not “seem”, it explicitly states.
A hash table is a way of storing data, I suppose you could call it a very primitive database. But that’s not the common usage of the word database. Hash tables are used in database indexes, hence why I called it “reinventing the wheel”.
The naming system is still a central part of any network, even if decentralized in design. So it will need some sort or central moderation.
One issue with ens though, is that the control over it is more centralized than dns. But without regulation, it’s worse than the existing solution.
I haven’t used the service or reviewed the code, I’ve only read the whitepaper and read the website. Early stage projects like this have a habit of stating this things that aren’t yet true, hence the uncertainty.
It sounds like you’re limiting your definition of “database” to relationship databases, there are a lot of other types of databases out there. The most common use case for Redis, for example, is as a key value store, and a hash table would be a perfect way to implement that. I’ve used
redb
in this project, which is a disk based key value database.Sure, but DNS systems are authoritative, meaning there’s only one right answer to a given query. This requires synchronization across the network, which creates a ton of complexity.
If we can avoid that synchronization, the design gets a lot simpler, which makes it more robust. In my design, I’m specifically avoiding mandatory deletes and updates, so the only operations my “database” needs to support are creates and reads. Communities are just topics you can post to, and moderation is just client-side filtering. The tricky part is getting the client side filtering good enough to not give spammers and trolls too much visibility.
Some nice parts about this:
Let’s hope it’s not true yet or ever. Did you mean relational? And no, that’s not what I said.
The current dns system works, and has it’s flaws. But ens is not an improvement, it’s worse.
Yes, relational. Stupid auto correct…
And I’m not arguing for or against DNS vs ENS, I’m saying that whole concept is an unnecessary centralization for something that could be implemented without it at all. The only technical reason something like Reddit would need an authoritative answer for name resolution is for moderation (i.e. elevated privileges), so you can verify that you’re getting authoritative moderation.
If you can do distributed moderation, you get a lot of nice flexibility and resiliency. That’s what I’m interested in exploring, and my main criticism of Plebbit. If I take Plebbit to a region that blocks ENS or sending packets to the owner, I can’t use the service, which to me means it’s not truly decentralized. If I take my system there, I can keep using it with locals there provided I find a relay behind that firewall, and I can sync up with my usual peers later. The only hosting needed for my service is a relay to connect nodes, and someone needs to provide storage space on their client. That’s it, and relays are cheap.
Without names you wouldn’t have… names though? We’re still dealing with humans in the end, we like names
There would be names, just no owners of those names. You’d navigate to /c/technology or whatever, there just wouldn’t be anyone who owns or controls that name, it’s just a tag that anyone can post to.
To get the posts for /c/technology, you’d ask your peers, and they’d ask their peers until someone provides that data. Your client would then aggregate all of the responses, filter them through local moderation, and then display the feed.
Then how would you get to the platform? Direct ip?
Connect to a relay (ideally multiple), which connects you directly to peers. From there, peers can directly refer you to other peers. So just like a BitTorrent tracker or peer exchange.
There currently isn’t a web frontend, but once there is, you could select any that you like. You could self host your own portal, use someone else’s, or use the one I provide. That portal doesn’t store any data, it just serves the page and facilitates connection to the platform, and any caching would be an implementation detail. It’ll be incredibly lightweight, so you could host it on the cheapest VPS available.
Isn’t that effectively the same? I like the lightweight aspect of it though
No. From what I can tell, Plebbit works like this:
If User A ends the service, moderation and signing of comments end, which effectively kills the community.
My proposal works like this:
That’s it. Any moderation happens on the client. I have plans to make moderation largely automatic, so it’s not a pain while still hopefully controlling spam and trolls. Half the network could go down and the data would still largely be intact. In fact, a country could block internet entirely, and you could still sneakernet it in as long as someone has a relay there. If somehow all relays go down, you spin one up and everyone resyncs and we call it an outage. You can even host your own within your LAN.
Domain names are convenient for relays, but they’re not essential. The only thing required is some way to connect peers.
Oh, that might just create some legal issues
For who?
The biggest targets are individual users, but as we’ve seen with BitTorrent, that almost never happens. There’s also no profit here, so there are no assets to seize, though I’ll probably accept donations.
I don’t mean crime, no. There’s laws regarding moderation when a platform is big enough. And regarding personal data in a lot of cases
Ah, that’s not a thing where I’m from (US). I wonder what that would look like without a central authority. There’s no way to guarantee any particular moderation or ensure deletion of personal data, so I guess their options are to ban it or let it slide.
Probably only the instances big enough to qualify
Note: we don’t have centralized moderation here either. We’re talking in two completely different instances. Just like plebbit would have
It’s still centralized in the sense that there are specific individuals who have moderation power. If you think of each instance as a separate thing altogether, it’s the same as Reddit.
I’m on reddthat.com and you’re on sh.itjust.works. These individual instances have their own moderation setups. There’s no central or overarching system here. We’re on two seperate websites. That’s the idea, a bit oversimplified.
But yes, you could go local only, but wouldn’t that kind of defeat the point? I want to be able to switch instances, and talk to friends on other ones. That decentralization brings the huge benefit of not having a u/spez situation
Sure, but something being federated doesn’t make it decentralized, it just makes centralized systems cooperate through established protocols.
This community is on lemmy.world, which neither of us are part of. If the admin of lemmy.world doesn’t like a comment or post, they can delete it. So even though we’re not affiliated with lemmy.world directly, we’re still subject to their rules, because lemmy.world is a centralized service that just happens to share some data with other centralized services. If lemmy.world goes away, so does this community; we’ll still see our respective copies of the data on our instances, but we can no longer see each others’ posts and comments.
The main benefit federation provides is mitigating damage to the service as a whole if a node goes down. It doesn’t protect individual communities at all.
Plebbit is the same as federation, it just cuts the centralization to the community level and distributes load across the network. But it the community owner disables the community, it’s dead.
I prefer that nobody can kill a community. I don’t want to trade one tyrant for a handful of tyrants or even a lot of tyrants, I prefer no tyrants.
You can always zoom in and say “see, this little bit is centralized on it’s own”
Not necessarily.
Is Bittorrent centralized in any way? Once something is seeded by peers, there’s no single authoritative source, and it’s trivial to host new relays (in BitTorrent parlance, either a PEX or Tracker) if some get shut down. You’d have to take a ton down to really impact the Bittorrent network, whereas with Lemmy, you just need to take down one or two instances to cause a mass exodus. With Plebbit, that number is probably a bit higher, but a dozen or so of the most popular communities is probably enough to impact nearly everyone. Likewise, infiltrating (i.e. court gag orders) would be incredibly effective on Lemmy and perhaps Plebbit, but fairly useless on BitTorrent without added technical measures (e.g. seeding something with an exploit).
The gold standard IMO for free speech is complete decentralization with local moderation.
There’s a lot of lemmy instances, which two would you shoot at?
BitTorrent still relies on trackers, but much like a lemmy instance you can move over and share things elsewhere
Lemmy.world and lemmy.ml or sh.itjust.works. Those are the largest and host the most popular communities.
If an instance goes down, all the communities hosted there become dead. If a BitTorrent tracker goes down, you pick another and nothing changes, because the tracker doesn’t own the data. This is especially true for peer exchanges.
A properly decentralized service is largely unaffected by any one node going down.
I suppose you’re right, It’s still a lot better than a reddit like situation though. I’ll have to keep that in mind
Sure, and that’s why I’m here and not on Reddit, and I may switch to Plebbit if that gets traction since I think its design is better. But it’s also why I’m not hosting my own instance or actively contributing to either project. I did contribute some bug fixes to Lemmy in the past, and will probably do the same for Plebbit at some point, but my focus will be on my own project.
I’m just glad the market is diversifying
Same. At least in the medium term. Longer term, I’d like one to make it mainstream.
Doesn’t bkuesky support federation?
Yeah, but it’s not very similar to Activity Pub from what can tell. Details.
Hmm, it is a bit halfway there. Glad to see user data being separated though
Wouldn’t this just create an impenetrable filter bubble/echo chamber where you see nothing else than content you 100% agree with?
For many users, probably. I do have plans to have a “moderation queue” or something where you can opt in to seeing stuff that was hidden and adjust your moderation preferences.
On Reddit, the recommendation was to upvote constructive comments even if you didn’t agree, and downvote unconstructive comments even if you do. People didn’t do that, so we got echo chambers.
On mine, I plan to have four responses to a comment:
Users could adjust the weights of each, but by default “relevant” and “flag” would be much more highly weighed than “agree” and “disagree.” You can also block users. All of those are taken into account by the moderation graph to decide which content to show and in what order.
I really like the idea of relevant + flag as additional (more weighted) attributes compared to just agree/disagree, as you might disagree with a poster but still want to mark the comment as valuable for the discussion (which can’t be done on Reddit since you’ll downvote them to the gutters).
I’m hoping it won’t result in too much micromanagement of different attributes for each post, but am curious to see how it turns out.
I’m curious too. Hopefully I can come up with a design that feels natural and encourages the kind of interaction I’m after.
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.
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.
So…
Start alternatives, on a host ypu maintain, and then everything can be ran perfectly how you want it to run
Problem solved.
That saves the service, but the communities are still dead. The problem is the single source of failure, and that isn’t solved.
There is no real need for the kind of permanence you think you need.
Imagine if a building could only be a bar, for perpetuity, and nobody opened any other bars, because that first bar existed.
Bars would suck for like… 99.99999% of the human population, huh?
Sure, but that analogy only makes sense when talking about real estate. With a distributed system, there isn’t really a limit to what you can store, as long as someone wants to store it.
If someone can just take something down that you value, that sucks. You should never be forced to preserve something you don’t want to, but you should also be free to preserve something you value. Communities should come and go naturally, not because someone decided to stop paying for a server.
All communities work like that…
Communities naturally come and go, and they change over time. That’s fine. I’m talking about artificial deaths of communities because the nature of the platform changes (Reddit’s closure of the API, a self-hosted platform disappearing due to cost/interest, etc).
How do ypu think communities “naturally” come and go?
Communities don’t have heary attacks, or get a new child or something…
People lose interest and move on. That’s how it works in in-person communities, and that’s also how it should work in online communities.
Thats… literally what happens. Like when the owner of a bar calls it quit, and leaves.
That’s different.
If I create a book club and lose interest, the rest of the group should continue on without me. I certainly shouldn’t be obligated to continue hosting, but in a digital book club, nobody needs to host. That book club could continue as long as people are interested.
I agree with your sentiment that it's very bad that you can't even move communities to a new server if the admin wants it, not to talk about if they didn't want to.
I really like how matrix implemented it, you can start a public room, other people can make aliases, if your server is gone everything is still accessible through the aliases.
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.
Do you have examples? I follow !yepowertrippinbastards@lemmy.dbzer0.com quite closely, and except the usual Lemmy.ml and Lemmy.world power tripping the vast majority of communities seem okay
I also wouldn’t know what they mean. Fascist takeover sounds like something I would notice?
Yeah I do.
@grue@lemmy.world in !fuckcars@lemmy.world applies the rules to everyone but his friends.
I had a hottake, lemmy.world/comment/14282775, yesterday. you might not be able to read it since he removed all my comments and banned me, so here it is.
his buddies started to attack me after I gave them real world examples to back up my opinion. they were rude and condescending and I responded in kind.
when I got back on all my responses were deleted for being “uncivil”. so I reported all their comments that were uncivil and condescending or mocking. waited like 3 or 4 hours. zero response. so I called him out on it, lemmy.world/comment/14291055
since he removed that I’ll post it here too.
yeah, it broke rules, but my anger was justified. dude is clearly abusing his mod powers.
all their “uncivil” and condescending retorts are all still there though. and here I am banned from the community because he got pissy that he got called out.
I reached out to another mod on there but they haven’t been active since July.
TBF this isn’t the only instance of “Reddit mod bigmad” I’ve experienced on here. the communities aren’t a problem, it’s the power-tripping mods from Reddit that got kicked out that will destroy Lemmy/fediverse.
Mods are sad people
Hi folks, I’m the mod @GreenKnight23 is complaining about.
I removed four of his comments for incivility, out of the eight he had posted in the thread at the time. I chose those four and only those four because they consisted pretty much entirely of insults and accusations against another user. I omitted the other four because, while some of them contained incivility too, they also contained valid arguments and/or weren’t as egregious.
The comments removed were:
The contents of these comments are visible in the !fuckcars modlog:
lemmy.world/modlog/3902?page=1&actionType=All
He then proceeded to post the paranoid unhinged rant attacking me that he copied above, basically leaving me no choice but to ban him. After some waffling over the duration (which you can also see reflected in the modlog), I chose to temporarily ban him for 1 day, the shortest interval possible.
The contents of that removed comment are not visible in the !fuckcars modlog.
Later, he wrote the comment here in !selfhosted I’m now replying to (which I noticed because it showed up in my inbox due to the username mention) and I read that he claimed that all of his comments in the thread were removed. At first I thought it was just a blatant lie and began writing a rebuttal, but then I realized that he’s right: all of them are gone, and there are no entries in the modlog detailing why they were removed or who did it.
I think what happened was that when I banned him, I checked the “remove content” checkbox thinking that it removed the comment I was banning him for, but it apparently removed all of his comments in the thread instead. Worse, it doesn’t record in the modlog that that’s what it did. On top of that, unbanning him doesn’t undo the comment removals, which is unfortunate because testing that possibility and then re-banning him afterward reset the timer to the full 24 hours again.
Anyway, I’ve looked through the thread and attempted to individually restore the comments I never intended to remove. That in itself is difficult because I can’t see what the original text was until I restore it, and the comment IDs apparently change(!) when the original text is overwritten or when they’re viewed in context or something (I haven’t quite figured out the reason yet), so I can’t just match the numbers in the URLs. Nevertheless, the state of his comments in the thread should be as intended now. Also, I learned something new about how moderation works, so that’s nice I guess.
P.S.: I’d like to give a special shout-out to this comment of his…
…which I not only didn’t remove initially but also went to the trouble of restoring, even though it almost certainly deserves removal, just because of the minuscule chance that the deleted comment it’s replying to contained something that somehow justified it. That’s how lenient I’ve intended to be this entire time, and had still been in practice at the point @GreenKnight23 posted his rant.
P.P.S. I’m not actually colluding with any other users, BTW.
“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!
Incoming ASCII CSAM
*AI generated ASCII CSAM
…
<img alt="" src="https://lemmy.world/pictrs/image/f545adb1-b86a-43eb-8cfd-51c3d2a3da2c.gif">
edit I can’t get the line formattin right but you get the gist
Yet more cryptotrash.