Comment on Plebbit is a peer-to-peer Reddit alternative that allows you to self host and own your own community
Boomkop3@reddthat.com 6 days agoAccurate, what would you do instead of dns though?
Comment on Plebbit is a peer-to-peer Reddit alternative that allows you to self host and own your own community
Boomkop3@reddthat.com 6 days agoAccurate, what would you do instead of dns though?
sugar_in_your_tea@sh.itjust.works 5 days ago
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.
Boomkop3@reddthat.com 5 days ago
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
sugar_in_your_tea@sh.itjust.works 5 days ago
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.
Boomkop3@reddthat.com 5 days ago
Note: we don’t have centralized moderation here either. We’re talking in two completely different instances. Just like plebbit would have
Boomkop3@reddthat.com 5 days ago
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.