Skip to content

Protocol Extension: Anonymous Credentials#253

Draft
a1denvalu3 wants to merge 34 commits intocashubtc:mainfrom
a1denvalu3:kvac
Draft

Protocol Extension: Anonymous Credentials#253
a1denvalu3 wants to merge 34 commits intocashubtc:mainfrom
a1denvalu3:kvac

Conversation

@a1denvalu3
Copy link
Contributor

No description provided.

- Add Status/Scope/Dependencies headings
- Normalize numbered sections: Endpoint, Request, Verification, Response, Errors, Security
- Enforce normative constraints (units, active keysets, tag/hex formats)
- Clarify transcript ordering and fee delta in AC-03
- Align AC-01/02 keyset semantics and error codes
- Improve interop notes and references
- Add Status/Scope/Dependencies and numbered sections
- Normalize endpoints, request/response, constraints, verification, errors
- Define mint/melt balance delta, unit and keyset constraints
- Add fee return handling and ordering of tweaks vs signature issuance (AC-05)
- Clarify security/policy notes and references
- Add normative constraints: inputs.len()==2, outputs.len()==2, mac_proofs.len()==2
- Document decoy shaping via AC-06 zero-amount notes and zero-amount outputs (with RangeProof)
- Keep unit/keyset/transcript constraints consistent across specs
…actors (NUT-13 style)

- Define BIP32 path: m/129372'/1'/{keyset_id_int}'/{counter}'/{c} with c∈{0:tag,1:amount_bf,2:script_bf}
- Specify keyset-scoped counters, integer keyset id mapping, and interop rules
- Add AC-00 note referencing AC-07 for deterministic wallets
- v1: legacy BIP32 path (extended to 3 components)
- v2: HMAC-SHA512 KDF keyed by BIP39 seed; no BIP32 usage
- Component byte c∈{0,1,2} distinguishes tag, amount_bf, script_bf
- Clarify counters, keyset_id mapping, security, and interop
- Replace HMAC-SHA512 with HMAC-SHA256 for keyset v2
- Use label Cashu_KDF_HMAC_SHA256 and keep entire digest, reduce mod n
- Maintain BIP32 only for v1 legacy
- keyset_id_bytes = raw keyset id (v1: 8 bytes, v2: 33 bytes)
- counter_bytes = 8-byte big-endian unsigned
- Keep HMAC-SHA256 label and full digest mod n
@ye0man ye0man added this to nuts Jan 13, 2026
@github-project-automation github-project-automation bot moved this to Backlog in nuts Jan 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant