pull down to refresh

My idea (codename Clomus) is a protocol that shares some similarities with Nostr. Clomus involved relays, thick clients, and no accounts -- like Nostr. But unlike Nostr, I designed Clomus to be just an email replacement -- Nostr is far more flexible than that.
Every Clomus message was to be end-to-end encrypted (unlike Nostr). Clients would send messages to random relays, telling each other ahead of time where they were going to send their next message. Clomus was to use HTTP, whereas Nostr uses WebSockets.
In order to make spam infeasible, Clomus clients would do a few things:
  • Clients would never re-use a pubkey. Messages would be addressed to a pubkey at a relay, so spammers would have to guess random pubkeys/relay combinations (or run relays that tried to spam users, which would fail due to the next thing).
  • Clients would ignore all messages that weren't signed by the expected sender pubkey (i.e. the pubkey of the person you are talking to). Random messages sent to one of your temporary pubkeys would be discarded by your client software.
The only way spam could get into a Clomus inbox would be if someone you were communicating with either (a) had their device compromised and leaked data to a spammer or (b) the person you are talking to was secretly a spammer the whole time. In those two scenarios, spam is unavoidable. But almost all email spam comes from email addresses you've never interacted with before, so Clomus would be a substantial improvement over email.
Clomus relays would reject unencrypted messages -- whereas Nostr allow unencrypted messages. To avoid storage and centralization issues, Clomus relays would set a max size for each message and a maximum number of messages. Nostr relays could do this, but AFAIK none do that presently.
I should mention that Nostr is far more flexible than Clomus. When I found Nostr I realized that I should just build Clomus on Nostr. But I never got around to implementing Clomus in any form, because I ran out of money and absolutely had to get a job. Now, I have next to no time to work on Clomus or any of my other projects. Plus, I'm a slow programmer.
I've left out some critical details, because this post has gotten too long. If someone wanted to take up this idea, I'd be happy to talk that person through every aspect of Clomus.