Author

Topic: BIP 44 Implementation (Read 3524 times)

sr. member
Activity: 364
Merit: 250
I'm really quite sane!
September 29, 2014, 05:38:54 AM
#3
Thank you, that's enlightening. It looks like I had a pretty fundamental misunderstanding of it.
hero member
Activity: 793
Merit: 1016
September 29, 2014, 12:38:08 AM
#2
The vast majority of alt-coins (or "chains" as you're calling them) still use, like Bitcoin, the secp256k1 curve, and still have 32 byte private keys and the same corresponding public keys as derived by point multiplication with the secp256k1 generator point.  Therefore, the format for all of them is basically the same-- except for a different version byte prefix used whenever they are represented in base58.  All this BIP is doing is using one of the BIP32 index numbers to signal a version byte.  For example, the key with the hash160 of

6702F8597CC96876B6A31CD30F2DA6498BE8AAD3

can be a bitcoin address if you put a 00 in front of it, or a litecoin address if you put a 30 in front, or a namecoin address with a 34, etc etc etc.

1APgA8J71MPkCGD1xwHpWcpiU9apbppM8w
LUcdRLbw61doT4uB95H7ndtUgMx6gsdKFk
N5y3Mmo5vjVJioTXEkcPj8ydCNysWSqxwJ

Those are all addresses of different coins for the exact same key.  Any coin, no matter its block time or hashing algorithm, can work with this format, as long as it uses the secp256k1 curve for its keys.
sr. member
Activity: 364
Merit: 250
I'm really quite sane!
September 28, 2014, 10:09:01 PM
#1
According to this BIP, one seed can be used to generate HD keys for multiple chains. I've generated HD keys for different chains before, and I don't see a way that this could be done. The chain's parameters (e.g. base 58 prefixes) are already contained within an extended key. Wouldn't one have to change those bytes in the child key, and wouldn't that invalidate it due to the checksum?

Apparently Trezor is the only implementation of this BIP, and I'm afraid that I don't have one, so I can't see for myself.
Jump to: