Comment on Plebbit is a peer-to-peer Reddit alternative that allows you to self host and own your own community
sugar_in_your_tea@sh.itjust.works 5 days agoit does not “seem”
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.
Hash tables are used in database indexes
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.
The naming system is still a central part of any network
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:
- users can leave the network, create posts and comments, and later sync up when they rejoin
- air gapped networks can still sync transparently through sneakernet (i.e. sneaking content behind national firewalls)
- any portion of the userbase could leave and the network in unaffected (no dead communities)
- content lives as long as someone cares to store it since no users can delete anything, while unpopular content goes away
Boomkop3@reddthat.com 5 days ago
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.
sugar_in_your_tea@sh.itjust.works 5 days ago
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.
Boomkop3@reddthat.com 5 days ago
Without names you wouldn’t have… names though? We’re still dealing with humans in the end, we like names
sugar_in_your_tea@sh.itjust.works 5 days ago
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.