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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions