0

BIP 32 allows you to to implement the auditor use case:

Audits: N(m/*) In case an auditor needs full access to the list of incoming and outgoing payments, one can share all account public extended keys. This will allow the auditor to see all transactions from and to the wallet, in all accounts, but not a single secret key.

If I want all my bitcoin transactions to be fully audited, then I would need to give my auditor my master node details. However I obviously don't want to give him my master node secret key since he would be able to steal my money. Thus I could only give the auditor my master public key and the chain code. With that he will be able to derive all public keys and see all my transactions.

But that means that my entire tree can only use non-harded BIP-32. Is that correct or am I missing something?

1

That is correct, you can only do this with non-hardened derivation. Only non-hardened derivation can use the master public key to derive all of the public keys. With hardened derivation, you must have the master private key in order to derive anything.

  • So doesn't that mean the auditor use case described by bip 32 is invalid? There is no way I could have a true auditor – David Grinberg Jul 30 '18 at 17:19
  • @DavidGrinberg as the quote in the OP says you would share account level extended public keys (xpubs) not the root extended public key. The account level could be hardened so that the auditor only sees the accounts you give him access to. So for example you could have accounts at m/k'/j/i where k is the hardened account level, j is 0 for external address and 1 for internal change addresses and i is the address index. You would share the xpub for m/k' with the auditor. For example: if you only share the xpubs for accounts 1-3 he won't be able to traverse the tree for account 4. – Abdussamad Jul 30 '18 at 17:52
  • @Abdussamad doesn't this break the point of an auditor though? I could make a new xpub account and not tell the auditor. They would be none the wiser – David Grinberg Jul 30 '18 at 19:58
  • 1
    Even with non-hardened derivation you could make a new account and not tell the auditor. With fiat, you can make new banking accounts and not tell the auditors. There's always room for lying by omission in an audit, and this does not change that. At least it is easier for an auditor to perform audits when BIP 32 is used as many of the addresses can be derived instead of relying on someone to provide all of them and possibly omit some. – Andrew Chow Jul 30 '18 at 20:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.