Architecture, glossary, spec.
The system as independent layers — never melded.
Domino Compass is an authority and key-generation substrate that can interact with Kapnet applications. It does not depend on Kapnet — it remains usable independently.
Kapnet actors can have deterministic Nostr identity, Kapnet actor key, service-peer key, recovery key, decoy identity, Bitcoin path namespace, and KSP payment lane — without storing root secret material digitally.
Strict vocabulary. The distinctions below are load-bearing.
| Term | Definition |
|---|---|
| Recipe | Deterministic derivation grammar + identifier. ≠ secret. |
| Root secret (S_root) | SHA-256(canonical_transcript_bytes). The root of all derivation. |
| Root commitment | SHA-256(transcript || "dc-commit-v1"). ≠ root secret. Non-revealing. |
| Fingerprint | Post-derivation verification handle. ≠ key. |
| Identity key | Nostr / Kapnet / service key. ≠ Bitcoin key. |
| Bitcoin key | BIP-86/84 derived key. ≠ identity key. |
| Capability | Scoped, time-bounded, revocable delegation statement. ≠ root authority. |
| Encrypted cloud keychain | Encrypted operational material in dStor. ≠ custody. |
| Physical entropy | The unpredictable physical outcome. ≠ recipe. |
| Recovery | Reconstructing authority from physical material + recipe. ≠ backup file restoration. |
The normative specification, reference implementation, and developer resources.
| Artifact | Path |
|---|---|
| BIP draft (normative spec) | BIP-draft.md |
| Canonical transcript encoding spec | docs/transcript-encoding.md |
| Runtime spec (DC-RUNTIME v0.2) | runtime-spec.md |
| Derivation encoding spec | docs/derivation-encoding.md |
| Coordinate standard (PINNED) | docs/coordinate-standard.md |
| KOR-segment manifest (PINNED) | docs/kor-segment-manifest-standard.md |
| Entropy & security analysis | docs/security-analysis.md |
| Reference implementation (pure stdlib) | ref/domino_compass.py |
| Runtime reference implementation | ref/dc_runtime.py |
| Coordinate kernel (PINNED) | ref/dc_coordinates.py |
| KOR-segment manifest (PINNED) | ref/dc_kor_segments.py |
| Coordinate keygen | ref/dc_keygen.py |
| Coordinate backup | ref/dc_backup.py |
| Capability + revocation schema | ref/dc_capability.py |
| dStor keychain manifest schema | ref/dc_keychain.py |
| Tails sealed round-trip | ref/tails_round_trip.py |
| Test vectors | ref/vectors.json, ref/runtime-vectors.json |
| Decision | Default used |
|---|---|
| KDF profile | HKDF-SHA256 (RFC 5869), post-root lane expander |
| Derivation codec | length-delimited binary |
| Commitment | SHA-256(transcript || "dc-commit-v1") |
| Identity lane | m/220'/0'/0' (DC purpose 220, unregistered private placeholder) |
| Bitcoin lane | BIP-86 m/86'/0'/0'/0/0 (P2TR) default; BIP-84 m/84'/0'/0'/0/0 (P2WPKH) interop profile |
All derivation diagrams have textual equivalents.
Cryptographic information never depends exclusively on color. Every diagram has a text equivalent.
Mobile supports understanding and verification. Complex derivation editing progressively moves to desktop.