and i should add that in theory we could probably not lose a lot of security shaving another 16 bytes off signatures
Discussion
it has got me thinking about the idea of making a really raw, simplified version of nostr
like, imagine there is just events, created_at, with content, and a kind, no tags
tags could be subsumed into NIP-32 labels, so you can add them concurrently by clients instead of bundling them together with the event
make the encoding binary, so that all events are a uniform format, the data (content), then the hash of the data, then the signature on the data, everything in binary, no escaping, only a varint length prefix on variable length fields (ie content, everything else is fixed)
you could shrink down the signature field to 48 bytes because it's really unlikely that such a massive data set it's worth trying to mess around with forging signatures, events fly past a a million miles an hour, so a 1/4 reduction in signature security is probably not that big a deal because most of the time it is worth nothing, and this protocol doesn't certify monetary transactions, so it doesn't need to be as strong, and it needs low bandwidth more than it needs such high security as required for money
the real reason why json was used as the message encoding for nostr in the first place was the inventor was a python/django (probably) dev who was used to using this as a message format, as most web apps use json as a message format, as they natively decode it
and the reason why tags are in the event are because hashtags and to reduce the complexity of searching for hashtags for a twitter like experience
these are not necessary to the fundamentals
i'm gonna start campaigning to strip down the event format, remove tags and propose a compact 48 byte schnorr signature and a simplified binary encoding that will at minimum halve the bandwidth cost of nostr
and probably come up with a way of making a protocol translator that securely bridges between a more simple binary format and the source events so that we can start to move forward with a much simpler strategy of building this thing...
it's just thought at this point, this will eventually metastasise into awhole thing
i can think of no better reason to stack sats than to be able to participate in building a really good social network protocol, nothing makes me more excited than making information flow uncontrollable