Question:
If one leak can be tolerated, why not just specify that the final branch should only use 0 as it's index. This way no two keys of the same direct parent are ever generated.
Ex.
Currently, wallet generation works like:
m/0'/0/0
m/0'/0/1
m/0'/0/2
m/0'/1/0
m/0'/1/1
m/0'/1/2
But if we can tolerate one leak per direct parent leak, why not?:
m/0/0/0/0
m/0/0/1/0
m/0/0/2/0
m/0/1/0/0
m/0/1/1/0
m/0/1/2/0
How could someone with M collude with anyone with two private keys if all private keys are of separate direct parents?