Mama told me not to come.

She said, that ain’t the way to have fun.

  • 3 Posts
  • 1.59K Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle
  • 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.


  • 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 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.







  • 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!