6

If I had a non-HD multi-sig wallet, checking the balance of it would be trivial (I would just look at the blockchain to see the address' balance, without the need to hold a key).

However, with HD wallets, a wallet is comprised of N addresses. So knowing the balance of this wallet is not easy unless you are one of the key holders.

Therefore, this is my question: how to know the balance of a multi-sig HD wallet, from a read-only standpoint? Can the distribution of the keys be asymmetric so that there's one key that allows checking the balance but doesn't allow signing?

2 Answers 2

4

The author of this paper seem to have put some thought into the problem you describe and has proposed a solution that seems relevant to your question:

A new HD wallet that tolerates key leakage Master key generation. Instead of one master private key, our HD wallet uses m master private keys ˆd1, . . . ,ˆdm for some reasonably-sized m to be determinedby the requirements of the wallet. (For example, in the combined treasurer-auditor use case of Section 2, m must exceed the number t of departments in the organization.) To keep the master private key size down, these master private keys could be generated pseudorandomly with no loss of security using, say, therudimentary deterministic wallet described in Section 1.*

https://eprint.iacr.org/2014/998.pdf

2
  • interesting! thanks. Is that URL persistent enough over time?
    – knocte
    Commented May 23, 2016 at 11:27
  • I believe it will remain available for the foreseeable future.
    – Julio
    Commented May 23, 2016 at 21:25
3

Using the XPUB key you can generate child public keys (without knowing any private key). Having the XPUB key therefore allows you to calculate the balance in a "read only" manner.

Make sure you understand hardening and the (small) security risk involved when someone knows your XPUB and one of the child private keys.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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