promotes gambling to kids
Yeah, no.
I assume you’re talking about Counterstrike skins, but CS:GO and CS:2 are both rated M in the US, and 18+ in the EU. Team Fortress 2 is M in the US, and 15-18 in the EU AFAICT. That in no way is “marketing to children,” and parents can absolutely limit their kids’ access to things like the Steam marketplace even if they allow their kids to play those games.
I hate microtransactions of all kinds, but Valve is by far nowhere near the worst offender here. Fortnite is rated T and had a PEGI 12, along with a bunch of merch at stores like Target (Fortnite branded nerf guns and whatnot). I could point to a ton of other games actually marketed to kids with MTX. The main difference is Valve allows Counterstrike skins to be traded, which IMO is better than just having to be stuck with a skin you don’t like and being able to buy the ones directly that you do want (least unethical version of loot boxes IMO).
That said, I refuse to let my kids play any game with MTX, and I think other parents should as well. But if this is your biggest criticism of Valve, then I guess your argument is pretty weak.
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.