Skip to content
~/sultan
Chapter 6 crest
Chapter 6 · § 6.1 · Recipe

The View-Key Model

The holder authorizes a slice. There is no master key.

Problem

How does an account holder authorize a third party — auditor, accountant, regulator with cause — to inspect a slice of their account history without granting blanket access?

Solution

Scoped view keys derived hierarchically. The holder authorizes the slice.

The holder generates a view key with a published scope: a time range, a counterparty filter, a transaction-type filter, or a combination. The view key, when presented to a verifier, decrypts exactly the slice of state the holder authorized. Outside that slice, the verifier sees nothing.

The view-key construction in StableZK is based on hierarchical deterministic key derivation, allowing scopes to be issued without exposing the holder's master account key. Phase 3 migration moves the underlying KDF to PQ-resistant primitives.

Discussion

No master key exists at the protocol layer. Every disclosure is mediated by the holder's authorization (or by lawful warrant against a regulated counterparty that already has off-protocol access to the holder's identity). The protocol cannot disclose what the holder has not authorized.

ℹ Note The scope vocabulary — time range, counterparty, transaction type — is intentionally small. A larger vocabulary makes view-key issuance harder to reason about. The cookbook prefers a small set of well-understood scopes to a large set of bespoke ones.

See Also

❦ ❦ ❦