If I could go back in time I would push to make nostr a binary protocol. Validating the JSON signature is not easy because JSON is not data... it's code, and there are multiple ways of encoding the same thing so you have to normalize it before you sign or validate a signature. 🤮