nostr
nostr copied to clipboard
Better design ideas
There are some good ideas (and it does solve the problems mentioned), but there are some problems:
-
Use of JSON. Although it is simple, there are some problems. I might instead consider a simple binary format.
-
The way the signature is computed isn't very good, I think. For one thing, it requires two separate JSON formats. Another is multiple ways of representing some characters.
-
Use of websockets. A simple HTTP POST, or TCP without HTTP (and using SASL if authentication is needed, and optional TLS if desired), would be better, I think.
-
Being restricted to a single signature scheme and a single hash algorithm. While that might work for now, it is possible that someone might want to change them in future.
-
It uses Unicode.
-
Relays cannot communicate with relays even if you want to do such a thing optionally. (Some users might also wish to receive messages as they arrive, on their own server, instead of requesting them from a relay each time.)
-
Timestamp synchronization, when wanting to receive new messages. (NNTP solves this problem.)
So, I think I will prefer to use NNTP.