|
| 1 | +--- |
| 2 | +cover: false |
| 3 | +header: |
| 4 | + overlay_color: "#000" |
| 5 | + overlay_filter: "0.25" |
| 6 | + overlay_image: /assets/images/dev-data-background.jpg |
| 7 | + og_image: /assets/images/bc-card.jpg |
| 8 | +title: Clubs Delegation & Cryptographic ocaps |
| 9 | +hide_description: true |
| 10 | +classes: |
| 11 | + - wide |
| 12 | +permalink: /clubs/ocaps/ |
| 13 | +sidebar: |
| 14 | + nav: clubs |
| 15 | +--- |
| 16 | + |
| 17 | +## Traditional & Cryptographic ocaps |
| 18 | + |
| 19 | +Object capabilities (ocaps) are a traditional computer security model. Gordian Clubs use cryptographic ocaps as a new ocaps methodology: |
| 20 | + |
| 21 | +* **Traditional Ocaps**: Software enforces capability delegation. |
| 22 | +* **Cryptographic Ocaps**: Mathematics enforces capability delegation. |
| 23 | + |
| 24 | +It's the same principle, but with cryptographic enforcement instead of code. Capabilities now become mathemtical objects, which avoids the confused deputy problem, because math doesn't lie. |
| 25 | + |
| 26 | +Among the capabilities enforced mathematically in Gordian Clubs are: |
| 27 | + |
| 28 | +* Read Capabilities: enforced by permits, including well-understood symmetric key and private key usage as well as SSKR shares. |
| 29 | +* Update Capabilities: alternatively enforced by FROST threshold, which allow group decisions. |
| 30 | +* Delegation Capabilities: a more bleeding-edge methodology supported by adaptor signatures. |
| 31 | + |
| 32 | +## Delegation |
| 33 | + |
| 34 | +Gordian Clubs use Schnorr signatures as a core technology, with their foundational use being as a threshold signing system that can be used to update Editions. However, Schnorr technologies are like LEGO blocks: different Schnorr options can be stacked together to create towering edifices. One of these additional technologies is the "adaptor signature", which can be combined with other Schnorr technologies to allow delegation, where access can be provided to Gordian Clubs without revealing extant private keys. |
| 35 | + |
| 36 | +> :warning: These delegation protocols are "naive" in the cryptographic sense. Like naive Schnorr aggregation (which could leak keys, leading to MuSig2/MuSig-DN), these examples demonstrate the core pattern but need cryptographic proofs. Schnorr adaptor signatures are a mature cryptographic primitive already deployed in production systems, but their use for capability-based access control with single-holder keys is a novel (but reasonable) application. |
| 37 | +
|
| 38 | +### Naive Read Delegation via Adaptor Signature |
| 39 | + |
| 40 | +**Goal:** Alice (with read access) delegates to Bob without sharing keys OR updating current edition |
| 41 | + 1. **Alice creates an incomplete signature** |
| 42 | + - Generates random secret `t` and commits to it: `T = t·G` |
| 43 | + - Encrypts symmetric key: `k_enc = k ⊕ hash(t, B, edition_id)` |
| 44 | + - Creates adaptor signature hiding `t` that only Bob can complete |
| 45 | + 2. **Only Bob can complete it** |
| 46 | + - Bob uses his private key `b` to complete the signature |
| 47 | + - Completion reveals the secret `t` to Bob (and only Bob) |
| 48 | + 3. **Result: Delegated read authority** |
| 49 | + - Bob can decrypt this edition using revealed `t` |
| 50 | + - Computes: `k = k_enc ⊕ hash(t, B, edition_id)` |
| 51 | + - No key sharing required |
| 52 | + - Alice retains her original access |
| 53 | + |
| 54 | +### Naive Write Delegation via Adaptor Signatures |
| 55 | + |
| 56 | +* **Goal:** Alice (with write access) delegates to Bob without sharing keys OR updating current edition |
| 57 | + 1. **Alice creates an incomplete signature** |
| 58 | + - Standard Schnorr: `s = r + H(m)·a` |
| 59 | + - Adaptor version: `s' = r + tweak + H(m)·a` |
| 60 | + - The "tweak" is locked to Bob's public key |
| 61 | + 2. **Only Bob can complete it** |
| 62 | + - Bob uses his private key `b` to derive the tweak to produces a valid signature from Alice |
| 63 | + - Proves both: Alice's authorization + Bob's identity |
| 64 | + 3. **Result: Delegated write authority** |
| 65 | + - Bob can create a new edition |
| 66 | + - Each shows Alice's valid signature |
| 67 | + - No key sharing required |
| 68 | + - Alice retains her original authority |
0 commit comments