5

A Hierarchical Deterministic (HD) wallet has some nice features such as easier backup (instead of needing to backup multiple keystore files and the passwords for each of them).

Since ICAP addresses have features such as a checksum, that make them safer to use than regular hex addresses, how compatible are they with HD wallets? Are there any implementations or roadmap for ICAP HD wallets?

2
  • Isn't this a conflation of goals? Typically HD Wallets are used for purposes of anonymization by copiously creating new accounts for every transaction... But isn't the main purpose of ICAP addresses for AML / KYC identification? Unless the devs just wanted it for the error checking features?
    – HodlDwon
    Feb 7, 2016 at 4:55
  • @HodlDwon ethereum.stackexchange.com/q/1109/42 separately asks the question of which addresses are more suitable for an HD wallet. This question is more specific about ICAP's suitability, and the answer might be as you commented. Thanks for helping clarify.
    – eth
    Feb 7, 2016 at 10:22

1 Answer 1

3

BIP32 and BIP39 are describing ways to generate hierarchical deterministic keypairs. In general you generate a deterministic private key first and generate a public key derived from that private key.

Ethereum HD wallets pretty much do the same, here are five hex addresses extracted from the javascript LightWallet (HD):

["8473513ec4b53c6ebe353ab3327c05cc6daad823", 
 "9e89deeca8ddbe7dfd338e64f9dc2e652a95160f", 
 "4fb62834520cff47b9e6d60d9b15299a83cd5521", 
 "2bcf3763459672734b6792f5de250a7cd989fb0a", 
 "d85785cfef3492f7ba6535de8c08a1676075b094"]

The Ethereum Inter-exchange-Client-Address-Protocol states how valid ICAP addresses are generated. To generate a valid IBAN-compatible address, the first byte of the address has to be 0x00 to reserve the space for the account identifier.

As you can see from the five addresses above, none of them starts with 0. HD accounts therefore are not compatible with direct ICAP addresses which comply with the IBAN standard.

But it is still possible to generate valid ICAP addresses. The specification states, that basic non-IBAN-compatible ICAP addresses don't require an account identifier and can contain 31 alphanumeric characters. Therefore HD accounts are compatible with basic ICAP addresses.

3
  • I would make this a bit more clear. HD wallets are not incompatible with the direct ICAP addresses, however not all paths will result in such a key! It is certainly possible to have a path which will result in a compatible address.
    – axic
    Mar 10, 2016 at 22:41
  • That's exactly what I wrote. It's even bold.
    – q9f
    Mar 11, 2016 at 17:59
  • Hm? You are stating HD wallets are not capable of producing direct ICAP addresses. They are, but they will not do that for every single path. That limits the practicality, but doesn't make them not compatible.
    – axic
    Mar 11, 2016 at 18:06

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.