The hash and signatures are based on the JSON structures and string encodings (hex, base64, bech32, etc) instead of the raw binary. Which means, even if you do run everything in binary, you end up going back to the text protocol to do everything.

But one could create a parallel spec with binary payloads in mind. Clients could offer both as long as they use the same crypto primitives.

Reply to this note

Please Login to reply.

Discussion

bech32 describes the nsec-npub key format right?

Does the format generally allow to create one time derivation keys, similar to eg. the WebAuthn keys, in a reasonably easy way?

Could bech32 keys practically conventional identifiers like phone numbers and IP addresses, would it make sense to "bech32 all the things"?

A parallel signing convention could cover both binary and JSON. The JSON and the binary could carry both signatures, so no matter the format in which it arrives, you always have a valid signature. This doubles the work for signers, but it might be useful for better systems compatibility, security, data volume, etc.