Skip to content

Pick a blinding key/blinding factor standard compatible with hww++ #448

@instagibbs

Description

@instagibbs

Currently we kind of YOLO how these keys are derived, in that a backed up wallet.dat will properly restore funds, but these schemes are not cross-compatible with devices such as hardware wallets, and wallets that may not allow raw privkey export.

So I think for blinding derivation stuff we basically have:

  1. signing keys on some path, hardened or unhardened paths from some hardened parent
  2. master blinding key, which is actually Hash(some_pubkey_in_odd_hardened_path). This allows export of master blinding privkey for auditing purposes even for hardware wallets(xpub and xprv together to track funds in a non-custodial manner). This does mean an unlocked hww will cough up blinding pubkeys on a malicious host without intervention.
  3. asset/value blinding factors: Some odd derivation path with hardened part, either take a single subkey and HMAC it with txid:nOut, or chunk up the txid and use it as a few normal derivation indices.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions