2
1
Below I may be a bit verbose, so that if my understanding is wrong, it will be glaringly obvious.
Consider two external accounts:
The external accounts are used to receive bitcoin. When we search for new balances, we check only the external accounts. No-one should be sending money to your internal accounts except for you.
m/44'/0'/0'/0/0 : External account 0
m/44'/0'/0'/0/1 : External account 1
If both accounts are used in transaction A, Is there any rule that says the change must go to (Internal account 1) or (Internal account 0)?
If after Transaction A, we receive funds at External account zero and it is the only input in the transaction. Do we send the change to (Internal account 0) or the most updated internal account?
I think that if an address keeps sending change to an address, it can indicate that it is a change address, no?
1Yes exactly, change can be sent to any address. However, in BIP44 I believe it states that external account A should send the change to internal account A. And so, when you are doing account discovery, you only search the external chain. – Kyle Graham – 2018-04-30T11:36:23.297
@KyleGraham I have added to my answer. HTH. – Willtech – 2018-04-30T11:52:41.143
This is correct. Change (your own change) will always go to the first unused change address by default, even if your inputs are also change. – Raghav Sood – 2018-04-30T22:23:08.913
1the second derivation path doesn't correspond to account 2. those are both paths to change addresses in account 1. – Abdussamad – 2018-10-31T05:30:37.810