diff --git a/01.md b/01.md index 1df538a..09963f9 100644 --- a/01.md +++ b/01.md @@ -27,7 +27,11 @@ Event is the only object type available. It is a hashed and signed payload with } ``` -Each user has a keypair and is identified by their public key. Signatures and encodings are done according to the [Schnorr signatures standard for the curve `secp256k1`](https://bips.xyz/340). +Each user has a keypair and is identified by their public key. + +## Signing + +Signatures and encodings are done according to the [Schnorr signatures standard for the curve `secp256k1`](https://bips.xyz/340). To obtain the hash `.id`, we `sha256` the UTF-8 byte array of a JSON-serialized string with the following structure: @@ -45,13 +49,15 @@ To obtain the hash `.id`, we `sha256` the UTF-8 byte array of a JSON-serialized The JSON serialization MUST follow this rules: - Minified: No whitespace, line breaks, or other unnecessary formatting used - Escape Set: ONLY the following characters MUST be escaped: - - line break, `0x0A`, as `\n` - - double quote, `0x22`, as `\"` - - backslash, `0x5C`, as `\\` - - carriage return, `0x0D`, as `\r` - - tab character, `0x09`, as `\t` - - backspace, `0x08`, as `\b` - - form feed, `0x0C`, as `\f` + - line break: `0x0A` -> `\n` + - double quote: `0x22` -> `\"` + - backslash: `0x5C` -> `\\` + - carriage return: `0x0D` -> `\r` + - tab character: `0x09` -> `\t` + - backspace: `0x08` -> `\b` + - form feed: `0x0C` -> `\f` + +## Verifying To verify an event: 1. Recalculate the hash and check against the `.id`