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?

  • 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 '16 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 '16 at 10:22
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.

  • 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 '16 at 22:41
  • That's exactly what I wrote. It's even bold. – soc1c Mar 11 '16 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 '16 at 18:06

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.