Douglas Stebila and I recently posted a new paper on hierarchical deterministic wallets:
http://eprint.iacr.org/2014/998(To appear in Financial Cryptography 2015.)
Custom summary for bitcointalk.org
As
observed by Vitalik and many others, it is possible to recover the master private key of a BIP32-compliant wallet from the mater public key and any (non-hardened) child private key. From what I gather, many people think that this vulnerability is unavoidable. However, we came up with a HD wallet that is secure even if up to
m-1 child private keys are leaked at a cost of storing
m master public keys, for any choice of
m.
How it works:Instead of one master private and public key we have
m master private keys d
1,...,d
m and public keys Q
1,...,Q
m. (The master private keys can be derived deterministically, so there's no need to store all
m of them, but the master public keys must be stored explicitly.) The
ith child public key is a linear combination of the Q
i where the coefficients are determined by the hash of
i (possibly concatenated with some seed, which may or may not include wallet-specific info such as the Q
i.) The
ith child private key is derived similarly from the d
i.
Security:Anyone who can recover all
m of the master private keys---even with knowledge of up to
m-1 master or child private keys---can also solve the so-called "one more" discrete log problem. Since that problem is believed to be intractable, so too must be the task of breaking our wallet. See the paper for further details and caveats.
At an intuitive level, an adversary who learns any one master or child private key has learned only a linear combination of the
m master private keys, which reduces the dimension of the space of all possible master private key combinations by at most one, and so
m such keys are required to break the wallet.
Fallout:Admittedly, this is not an earth-shattering discovery. But it does enable a combined treasurer-auditor use case that is impossible with BIP32 wallets:
Auditor: A company could reveal its master public key to auditors or regulators, thereby allowing for extremely detailed oversight with near-negligible overhead costs.
Treasurer: The treasurer of a large company could create child key pairs for each department within the company, allowing each department head to control its budget without granting him/her access to the funds allocated to other departments.
With BIP32 wallets, a collusion between the auditor and a department manager could run off with all the company’s funds. Our new HD wallet eliminates this vulnerability provided that the number
m of master keys exceeds the number
t of departments in the company.
Thanks for your attention. Cheers.
-Gus Gutoski