aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClawd <ai@clawd.bot>2026-02-19 21:35:23 -0800
committerClawd <ai@clawd.bot>2026-02-19 21:35:23 -0800
commitc8ffd26630405809f0f2af7c918b749255c0b499 (patch)
tree9d8c1a8133924a14c2dd2fa24fc659306c67ec59
parent3bc54760d888fbb65174a2d319a968dfaae0a5d9 (diff)
Update README: mark Schnorr complete, add compat test instructions
-rw-r--r--README.md25
1 files changed, 20 insertions, 5 deletions
diff --git a/README.md b/README.md
index 0c7af3e..da522d6 100644
--- a/README.md
+++ b/README.md
@@ -26,11 +26,11 @@ Building Schnorr signatures on secp256k1 in Go, from first principles.
26- [x] **Why it's hard to reverse** — the discrete log problem 26- [x] **Why it's hard to reverse** — the discrete log problem
27 27
28### Part 4: Schnorr Signatures (BIP-340) 28### Part 4: Schnorr Signatures (BIP-340)
29- [ ] **X-only public keys** — 32 bytes, implicit even y 29- [x] **X-only public keys** — 32 bytes, implicit even y
30- [ ] **The signing algorithm** — nonce, challenge, response 30- [x] **The signing algorithm** — nonce, challenge, response
31- [ ] **Why random nonce matters** — reuse = leaked private key 31- [x] **Why random nonce matters** — reuse = leaked private key
32- [ ] **The verification equation** — checking without knowing the private key 32- [x] **The verification equation** — checking without knowing the private key
33- [ ] **Tagged hashes** — domain separation for security 33- [x] **Tagged hashes** — domain separation for security
34 34
35### Part 5: Serialization 35### Part 5: Serialization
36- [x] **Bech32 encoding** — human-readable format (npub, nsec) 36- [x] **Bech32 encoding** — human-readable format (npub, nsec)
@@ -58,6 +58,21 @@ This implementation targets:
58 58
59Not implemented: ECDSA (used by legacy Bitcoin, Ethereum) 59Not implemented: ECDSA (used by legacy Bitcoin, Ethereum)
60 60
61### Compatibility Tests
62
63Verified against `btcec/v2` (the library used by most Go Bitcoin/Nostr projects):
64
65```bash
66go get github.com/btcsuite/btcd/btcec/v2
67go test -tags=compat ./...
68```
69
70Tests confirm:
71- Key derivation produces identical public keys
72- Signatures created here verify with btcec
73- Signatures from btcec verify with our code
74- All 14 official BIP-340 test vectors pass
75
61--- 76---
62 77
63## Resources 78## Resources