I've sketched a few ideas for what you'd need to make Usenet, ah, usable given modern concerns (primarily spam and spoofing). The biggest takeaway in my explorations is: you could probably never really get mass adoption of a Usenet-esque system these days. Oh well. Anyway:
I'd start with the basic idea that identities matter. For any given message, you should know what user posted it and from which server. It doesn't matter if the user is Robert Smith posting from smith-family-server.net, or Leet Hakkerman posting on darkweb.io, every message should be signed by the author ("the person who owns this public key wrote this) and counter-signed by the server ("my user, who owns this public key, did indeed submit this message to me"). Separating out individual identities (user's key pair) from the server means you can switch to another server and say "hey, it's me, i'm over here now" and it's verifiable -- but of course requiring people to manage key pairs is a tall ask.
Once you've got that, you can start doing things like setting up your server to just drop any messages from a server you consider abusive, or configuring your newsreader to drop messages signed by a particular user. "Nymshifting" is still possible, but it takes the cooperation of a server owner to do it, and it means the server might find others unwilling to peer with it.
Ideally, as people proposed with Mastodon, servers should be small; the admin should never answer "who??" when you mention a user on their system. But like a lot of decentralization/federation ideas (see Mastodon), these schemes fall apart quickly as soon as the usual thing happens: one server goes up which makes registration easy & anonymous, thousands of users flock there, and everybody else has to decide if they want to drop the server which generates 50% of traffic on the network.
edit: part of the idea of making it look a lot like Usenet except that your servers are verifying signatures throughout is that you can just use regular existing newsreaders to read it. The servers might exchange messages in the "native" format via a slightly modified IHAVE command, but when a newsreader connects and asks for an article via the ARTICLE command, the server can parse & rewrite the article to present it in RFC1036-compliant format.
Could you solve/mitigate it with curation? Let the users be anonymous or pseudo-anonymous and keep the server signing, but add another signing field called the curator.
At first blush the curation signer looks the same as the server, but I think its subtly different in a way that is maybe effective?
A) You can re-curate or multi-curate a message, but you should (probably) keep the source community constant
B) It separates moderation concerns from on-topic concerns which is a constant struggle. Easy for a server to host many different communities/topics/communication mores and import the content stream in different ways from different curators
Who does the curation? I guess its as simple as the upvote button, but perhaps you can improve that model substantially
I'd start with the basic idea that identities matter. For any given message, you should know what user posted it and from which server. It doesn't matter if the user is Robert Smith posting from smith-family-server.net, or Leet Hakkerman posting on darkweb.io, every message should be signed by the author ("the person who owns this public key wrote this) and counter-signed by the server ("my user, who owns this public key, did indeed submit this message to me"). Separating out individual identities (user's key pair) from the server means you can switch to another server and say "hey, it's me, i'm over here now" and it's verifiable -- but of course requiring people to manage key pairs is a tall ask.
Once you've got that, you can start doing things like setting up your server to just drop any messages from a server you consider abusive, or configuring your newsreader to drop messages signed by a particular user. "Nymshifting" is still possible, but it takes the cooperation of a server owner to do it, and it means the server might find others unwilling to peer with it.
Ideally, as people proposed with Mastodon, servers should be small; the admin should never answer "who??" when you mention a user on their system. But like a lot of decentralization/federation ideas (see Mastodon), these schemes fall apart quickly as soon as the usual thing happens: one server goes up which makes registration easy & anonymous, thousands of users flock there, and everybody else has to decide if they want to drop the server which generates 50% of traffic on the network.
edit: part of the idea of making it look a lot like Usenet except that your servers are verifying signatures throughout is that you can just use regular existing newsreaders to read it. The servers might exchange messages in the "native" format via a slightly modified IHAVE command, but when a newsreader connects and asks for an article via the ARTICLE command, the server can parse & rewrite the article to present it in RFC1036-compliant format.