- cross-posted to:
- technology@lemmy.world
- cross-posted to:
- technology@lemmy.world
A few months ago, I posted here about my excitement for Plebbit and the promise it held for decentralization. I was convinced that a p2p social platform with a unique UI could be the future, with different UI of all social media…including Lemmy, a true alternative to centralized services. I saw the potential, and I wanted to believe in it.
Plebbit promised a lot of an innovative interface, decentralization, community driven governance. But after months of delays, vague updates, and little to no progress, it’s clear they never delivered. They had the right ideas but lacked the follow through to make them a reality. What was once an exciting project quickly turned into an example of what can go wrong when the hype overshadows the substance.
I wanted Plebbit to succeed, but in the end, I’ve realized that I’m better off sticking with what actually works.
If Plebbit had actually followed through on its promises especially with its vision of being a decentralized Reddit alternative. it could have been the best. The idea of a selfhosted platform, where users had true control over their content and communities, was a dream for those of us who wanted more than just another centralized app. It had the potential to be the go-to solution for anyone seeking real decentralization and p2p freedom. But unfortunately, that potential was never realized. Instead of delivering on its ambitious promises, Plebbit became just another project that failed to meet expectations, and the opportunity for a truly revolutionary platform faded away.
I think Activity Pub has a clear leg up in that you can be as decentralized as you’re comfortable.
Want to go full one-person instance? You got it. Want to host for your friends and family? Covered. Want to host for the general public? Can do. Don’t want to host at all? Pick your open instance and join the fun.
I love how all the developers working on it only have twitter links /s 🚩
What would you recommend instead? Seems like Twitter has the most reach, and until Plebbit reaches critical mass we need to reach out to people on popular platforms
I don’t necessarily disagree with this in theory, as you gotta have some reach in order to spread your message. I forget the name of the particular situation (people don’t use it because it’s not popular, and it’s not popular because people don’t use it…etc etc)
All the developers that care about not being on a Nazi platform have already moved to mastodon or bluesky.
Those that haven’t yet Imo, can suck Goebbels cock.
I’m personally planning to set up a bluesky account soon, but running a selfhosted instance doesn’t look easy yet
There’s no hosting needed for Bluesky, you can just create an account on their website, like any other website
But then who’s hosting my content and till when they’re hosting it?
Bluesky. If you’re okay with Twitter/X, you should be okay with Bluesky.
Bluesky doesn’t federate, unless you have billions.
I’ve heard good things about self hosting with GoToSocial (federates with Mastodon) for single user instances
Our core problem with mastodon design is the same issue we have with email, eventually big hosters consolidate and they start banning people they disagree with. Now, in contrast you have a full p2p protocol like Bittorrent where you can download anything you want as long as you can find people to download it from. This is the model we’re going for in Plebbit
The problem (as matrix people found out the hard way) is some media & content is very illegal. Most individuals really don’t want even the chance of being exposed to CSAM or gore, and neither do server operators want the chance of that being shared from their server or written to their disk when that can result in police at the door. You need default-on moderation that is very powerful, and end users should never be distributing media they don’t want to. This pushes towards centralisation of nodes run by experts, and heavily punishes true P2P models.
Plebbit doesn’t support media or images, only text. If a user links to an image they have to provide the URL, which is never hosted on the community owner’s node. Also, if somebody posts an illegal link or something like that the community owner can choose to purge their comment from their node.
Plebbit nodes are very cheap and easy to run, we’re very similar to Bittorrent in that regard. The next update we will have full p2p capabilities in mobile as well.
Is it a problem though? There are thousands of email providers you can choose form, and they still work fine for sending and receiving email.
On social platforms federating with everyone might not be desired and defederation is seen as a feature not a bug.
One your point on power law, the fediverse is pretty healthy.
Is it a problem though? There are thousands of email providers you can choose form, and they still work fine for sending and receiving email.
An email provider as well as mastodon provider can:
- Read incoming messages
- Block me from sending messages to specific people
- Block me from fetching content I want
Can I choose another email provider that will let me do what I want? Yeah maybe I can find one, or maybe I can run my one, but then these big email providers they’re gonna start blocking or throttling self hosters making it infeasible or extremely incovienet to run your own email instance.
Not to mention, there’s a financial + time cost to setting up your own email/mastodon instances that most people won’t bother with.
Look at Bittorrent or Plebbit as an example, running a full p2p node is literally a single click and nobody can censor you. The barrier of entry for self hosters is much lower.
One your point on power law, the fediverse is pretty healthy.
Mastodon social controles a big chunk of the network, that’s not healthy imo. That’s a huge power of the network.
imo moderation of the network should never be at the center, rather it should be pushed to the edges of the network (users). I like Bluesky’s model of subscribing to someone’s labels of the content, and maybe we’re gonna have something similar in Plebbit as well. In Plebbit currently you can choose which communities you subscribe to, and you can also filter by NSFW and other tags, so you’re not really forced to see content you don’t like.
Also community owners set the rules for their own communities and enforce it however they like, there are no global admins.
The blockchain components meant it was dead on arrival.
The reason why we picked Blockchain name systems is because they’re the only way of having a full control over a name. There are lot of examples online with people getting their DNS revoked. What do you think the problem is with blockchain components?
Also, blockchain are only used for resolving names, which is a small part of Plebbit, the rest of stack is P2P.
Yeah, that’s a super uninformed take. Blockchain is perhaps the best solution for authentication in a P2P system. I assume they’re linking blockchain to cryptocurrency, but AFAIK, there’s no cryptocurrency in Plebbit.
For authentication, you need a central authority of some form, and blockchain is about as decentralized as you can get while having that central source of truth. It’s a good solution.
I’m a little confused on this point. I took a look at their whitepaper and it says that they’re not using blockchain at all. It’s some sort of proprietary peer to peer algorithm. Is this something that changed in implementation? I’m not really familiar with this project so I’m certainly not trying to defend anything, just unclear as to why people are calling it a blockchain project specifically.
Edit: OK, after some more digging I see what people are talking about. The project itself isn’t blockchain based, but it’s run by a DAO that operates using a governance token, which is not exactly great.
I took a look at their whitepaper and it says that they’re not using blockchain at all
If community owners want to set a blockchain name like
hello.eth
orhello.sns
it’s possible, but it’s optional.It’s some sort of proprietary peer to peer algorithm. Is this something that changed in implementation?
Not true, it’s free software released under GPL V2, check out plebbit-js
but it’s run by a DAO that operates using a governance token, which is not exactly great.
What is the problem with DAOs? I think they’re a great way of facilitating coordination between anons on the internet
It’s some sort of proprietary peer to peer algorithm
I completely lost interest for the project at this point of the text
Not true, it’s free software released under GPL V2, check out plebbit-js
Lmfao I actually made a huge frown upon reading that
That’s a reasonable reaction if it was true. But it’s not, plebbit is FOSS.
People constantly told OP that, but they just won’t stop making posts about it
Not that the blockchain itself is a Bad idea, but after like a year or 2 of becoming popular it will be impossible for anyone to have a locally stored coin because they will be just multiple petabytes big
My understanding is the blockchain bit is optional and only used to establish ownership over a name. The posts and whatnot are not on a blockchain, that would be silly.
Plebbit is not a blockchain, it’s P2P and all content on the network is content addressable. There’s nothing to “sync”
It sounds really cool, hopefully something similar will come one day, would be cool if one could create instances on github (or alternatives) for version control, posts would be markdown files, images would only be allowed as links to an image hosting platform (imgur, imgbb, etc.)
Having it be open source and every member with a fork (I don’t know if there’s a way to auto update forks) so we don’t risk losing everything if the host shuts down (I don’t use mastodon because apparently you can’t export posts)
The ui part would also be great, I really don’t like discord’s new one for example
nghhh maybe if I fail my university entry exam
I really don’t think that would scale at all. A reasonably popular community could have tons of simultaneous posts, and if everyone needs to sync before posting, that would suck. You could probably avoid the worst of it by having posts use uuids, but you’re going to have IO issues at scale. Also, would you need the full repo cloned? That can get big, and you generally only care about recent posts.
Also, if you’re doing the UUID thing, you’d have sort everything every time locally. That’s fine if you only have a few thousand posts, but if you get into millions or billions, it’ll get bad, especially if you’re dealing with files.
Databases solve these problems really well. Even a simple SQLite dB would be much better than a filesystem, like orders of magnitude better.
posts would be markdown files
Seedit, which is a plebbit client actually parses posts as Markdown, try it on Seedit
images would only be allowed as links to an image hosting platform
It’s already this way with Plebbit, we only allow text.
Having it be open source and every member with a fork (I don’t know if there’s a way to auto update forks) so we don’t risk losing everything if the host shuts down (I don’t use mastodon because apparently you can’t export posts)
On Plebbit all clients are open source with GPL V2, they can also be self hosted easily with a single click. Check out seedit repository Seedit
There’s no real / true decentralization. You’re always dependent on something, somewhere in some way. It can be harder to shut it down but there’s also a point of failure somewhere. Blockchain is all fun and games until you’ve to consider resource waste and that you still need DNS and IPs working.
There’s no real / true decentralization
That’s not exactly true.
That said, you do need some form of centralized service to connect peers, but you can federate those. It’s only job would be to connect peers, and a STUN server w/ TURN fallback is usually the approach here. These instances don’t need to store any data long term, they just need to connect peers, and the client is free to choose any instance they want, or host their own.
That’s how Tor works (entry nodes), and most decentralized systems use a similar system.
One of the best parts here is that offline often just works, and you can sneakernet around firewalls (e.g. if you visit China or something), and all you need to do is connect to a local relay to find local peers.
Blockchain
My understanding is it’s only used for name resolution, so the number of data points here should be in the thousands, not millions or billions, so the resource usage should be minimal.
Basically, the blockchain is functioning as DNS here.
I don’t take issue with your points, but you’re conflating issues. I think it’s worth clarifying some terms up front.
Being utterly independent isn’t necessary for decentralization. Decentralization very specifically means there’s no single holder of the data; it does not have any implication for dependencies.
Lemmy is not decentralized; it’s federated. “Decentralized” and “federated” are not synonyms, and as long as you doing don’t run your own server, you’re effectively on a centralized platform. This is to your point about being “always dependent on something, somewhere in some way.” It’s true for Lemmy; it is not true for all systems, not unless you’re being pedantic, which wouldn’t be helpful: you being dependent on electricity from your electric company doesn’t mean an information network can’t be “truly” decentralized.
A distributed ledger can be truly decentralized. Blockchains aren’t always distributed ledgers, and not all distributed ledgers are blockchains, but whether or not a specific blockchain is resource intensive has no bearing on whether or not it’s centralized. This is the part I take issue with: it’s irrelevant to the decentralization discussion.
Bitcoin is decentralized: no single person or group of people control it, and there is no central server that serves as an authoritative source of information. If there were, it wouldn’t be nearly so ecologically expensive. Its very nature as something that exists on equally on every single full node is part of the cost. You can take out any node, or group of nodes, and as long as there’s one full node left in the world, bitcoin exists (you then have a consensus verification problem, but that’s a different issue).
But let’s look at a second, less controversial, example: git, or rather, git repositories. This is, again, fully decentralized, and depends on no single resource. Microsoft would like you to believe that github is the center of git, and indeed github is the main reason git is as popular as it is despite its many shortcomings, but many people don’t use github for their projects, and any full clone of any repository is a independent and fully decentralized copy, isolated and uncontrolled by anyone but the person on whose computer it exists. Everything else is just convention.
Nostr is yet another fully decentralized ecosystem. It is, unfortunately, colonized almost entirely by cryptobros, and that’s the majority of its content, but there’s nothing “blockchain” or crypto in the core design. Nodes are simple key/value stores, and when you publish something to Nostr you submit it to (usually) a half-dozen different nodes, and it propagates out from there to other nodes. If you run your own node, even if your node dies, you still have your account and can publish content to other nodes, because your identity - your private key - is stored on your computer. Or, if you’re smart, on your phone, and maybe your laptop too, with backups. Your identity need not even be centralized to one device. No single group can stop you from publishing - individual nodes can choose to reject your posts, and there are public block lists, but not every node uses those. It is truly decentralized.
I’m not familiar with Plebbit, but it seems to me they’re trying to establish a cryptographically verifiable distributed ledger - a distributed blockchain. There’s no proof-of-work in this, because the blocks are content, so the energy cost people associate with bitcoin is missing.
DHTs and distributed ledgers are notoriously difficult to design well, often suffering from syncing lags and block delivery failures. Jami is a good example of a project plagued by DHT sync issues. I’m not surprised they’re taking a long time to get stable, because this is a hard problem to solve - a deceptively simple problem to describe, but syncing hides issues like conflict resolution, updating published content, and all the administrative tools necessary in a world full of absolute shitheads who just want to cause chaos. It does look to me as it it would be fully decentralized, in a way Lemmy isn’t, if they can get it working reliably.
Lemmy is not decentralized; it’s federated. “Decentralized” and “federated” are not synonyms,
This isn’t quite accurate. Lemmy is decentralized, but it’s not distributed. It’s decentralized because the source of truth for a community isn’t your instance, but your instance caches content for that community locally.
They’re not synonyms, true, but federated systems are typically (always?) decentralized, and rarely (never?) distributed.
Plebbit seems to be a weird mix of both. Communities are centrally managed, but the data seems to be distributed, at least upon creation (everything probably makes its way back to the creator for moderation).
DHTs and distributed ledgers are notoriously difficult to design well, often suffering from syncing lags and block delivery failures
I haven’t looked into it too closely either, but it seems the blockchain is only used for name resolution (seems to be used for community names), so updates should be fairly infrequent.
I assume they’re using a DHT for data though, probably a separate one for each community, but maybe not. Those can be updated asynchronously, so if data is cached locally, latency shouldn’t be an issue.
I’m not familiar with Plebbit, but it seems to me they’re trying to establish a cryptographically verifiable distributed ledger - a distributed blockchain. There’s no proof-of-work in this, because the blocks are content, so the energy cost people associate with bitcoin is missing.
Plebbit is not a ledger, it’s a P2P protocol and has no DHT. Peers find each other by coordinating over HTTP routers, which are similar to bittorrent trackers. HTTP routers are essentially key-value stores so they’re very easy to deploy.
This is similar to Jami. Jami has http name servers for lookup, and (optional) http DHT proxy servers for NAT traversal. Beyond that, it’s peer-to-peer DHT. The DHT isn’t global, it’s shared between connected clients. DHT are also key-value stores, and Jami’s issues are not with the name server, they’re with message synchronization between clients.
Actually, I have to qualify that I don’t know what causes Jami’s delivery issues, but it’s probably not the name servers or proxies, because you can (and I have) hit them directly with a web browser or curl. From what I can tell, the Jami developers don’t acknowledge issues or are incapable of or unwilling to track them down, but the point is that it’s very likely the P2P part that is giving them trouble.
P2P is Ia hard problem to solve when the peers come and go online; peers may not be online at the same times and there’s no central mailbox to query for missed Messages; peers are mobile devices that change IPs frequently; or peers are behind a NAT.
You may be right about the design; I scanned the design summary, and easily could have misunderstood it. I don’t think it affects the difficulty of building robust, reliable P2P applications.
A global DHT unfortuantely is extremely resource intensive, and part of our design requirements is full p2p capabilities for both mobile and web browsers. This cannot be achieve with a DHT, although if a DHT design emerges with support for both, we will consider using it.
Next update for plebbit-js will have full p2p capabilities including gossipsub using libp2p/helia in browser/mobile! We’re excited to ship that.
My point was: if you still need some central point of contact what’s the point in decentralized, you can still get fucked.
For instance the DHT systems you talk about, they’re good but still require some centralized points. In a bittorrent network with DHT a new client cannot join without either a tracker or the knowledge of at least one member of the network to exchange peers with. Bitcoin still has some hardcoded DNS seeds in the core client… etc.
That’s just pedantic, you will always need to know where the door is to enter the network, but in both cases even if that specific server that you know gets taken down you can still enter by any other server you might discover in any other way. It doesn’t cease to be centralized because you are using the same single node to get into the network, that would be like claiming email is not federated because you only use Gmail, or because you need to know the email of the person you’re writing to.
I get your point, those systems make it harder to take down things permanently but they aren’t as resilient and perfect as people paint them to be - an it has nothing to do with being pedantic, it is just the reality of things.
It’s still a decentralized system, and saying that they aren’t because the default is for everyone to use the same node is either disingenuous or missing the point entirely. By your definition decentralization is impossible, because you always need to know at least one node in the network in order to enter.
Unless someone finds a way to advertise nodes that doesn’t depend on the entry point then yes. Consider this example: https://github.com/bitcoin/bitcoin/blob/1b2460bd5824170ab85757e35f81197199cce9d6/src/chainparams.cpp#L112 if someone takes down those domains it is game over for a new node until someone updates the code.
If we could achieve bittorrent decentralization along with their usage numbers, I’d consider it a success
bittorrent decentralization
True bittorrent decentralization never happened.
Elaborate
A few months ago, eh? I know nothing about and have no opinion on Plebbit. But shit takes time, especially open source volunteer efforts.
Yup. Seems like just mismatched expectations from OP. I hope to see news from the project, there are a lot of interesting concepts.
As someone who has never heard of that: What would have been its advantages over Lemmy?
It was supposed to be a lot more decentralized than Lemmy. Plebbit was built around a p2p protocol and the idea was that it wouldn’t rely on servers, everything would be fully serverless and self-hosted in a true decentralized way. What made it interesting was that it was planned to support multiple UIs, so people could use different frontends like their own version of Lemmy’s UI, or even something totally custom. A Lemmy style UI was even on their roadmap.
But the problem is… it never really happened. It’s been super slow because there are only like 3 devs working on it, and they’ve been trying to find more help for ages. The MVP still hasn’t come out, and I think the crypto side of it just scared people off or made things harder. I really believed in the idea at first, but now it just feels like vaporware.
We’re still working on it and getting very close to releasing MVP
“what made it interesting was that it was planned support miltiple UIs”
you may are interested into looking into the various LemmyUIs or Lemmy close alternatives like piefed when you like to test out frontends to see their quirks
Yeah, I was pretty stoked for it too. As someone building something like this on my own time, I really want someone to beat me to the punch, because maintaining something like this isn’t something I really want to do.
Building something like this is hard, marketing a project is hard, and getting the timing right is also hard (major usability issues solved before everyone comes to try it out).
But yeah, I’m still here until I find something better.
Feel free to check out Seedit, it’s the most mature Plebbit client so far. There may be bugs here and there but we’re working on it every day to make it better.
Wow, that looks just like old Reddit, awesome!
Enjoy, it’s a bit buggy but we’re always looking for feedback and help if you’re interested. All code is open source and GPL v2
Yeah, I’ll check it out. It’s certainly an interesting approach. I’m interested to see how the moderation system ends up working in practice.
Each community (equivalent of subreddit) is essentially a keypair, and whoever runs the community and has access to the keypair can do whatever they want. They can ban people + assign moderators + etc, there are no global admins.
Sure, I’m just worried it’ll have similar problems as reddit, just without global admins to fix/enforce things. The creator of a community is rarely the right person make decisions long term. Moderation should be based on trust and merit, not first come first served because moving everyone to a new community is hard.
We had similar problems here on Lemmy when most of the popular communities were on Lemmy.ml and subject to their moderation.
But maybe it’s fine. It’s probably an improvement on Reddit, and maybe an improvement on Lemmy if it actually encourages more diversity in community ownership. I’ll certainly check it out!
Sure, I’m just worried it’ll have similar problems as reddit, just without global admins to fix/enforce things
I disagree, I think Reddit ruined their own subreddits. If you’re a community owner, you know your community best and know how to moderate it. They’re the most invested in it after all.