Since BIP32 child keys are derived from a master xpub key, and child addresses are the pubkey hash of the child private keys, so is it possible/anyway to correlate that two address are derived from the same master key and belonging to the same hd wallet?
pseudo code to illustrate the problem using NBitcoin:
ExtKey masterKey = new ExtKey(); ExtKey user1Key = masterKey.Derive(new KeyPath("m/100'/1")); ExtKey user2Key = masterKey.Derive(new KeyPath("m/100'/2")); string addr1 = user1Key.PrivateKey.PubKey.GetAddress(Network.Main); string addr2 = user2Key.PrivateKey.PubKey.GetAddress(Network.Main);
If an outsider have the addresses
addr2(and those addresses have transactions on the blockchain), but nothing else, can he work out that the two address are in the same hd wallet?