When users want to fuse their coins, they usually do so inside their main Electron Cash wallet. The current implementation uses change addresses for fused outputs, which are used and discarded. This rapidly consumes the first change addresses and makes the wallet heavy and unresponsive.
The current mitigation is to only scan for an n amount of change addresses. However, that means users will not be notified if they receive funds in a change address in the future. Also, change addresses are meant to be used for that, change. Mixing protocols were not envisioned when they were first added.
Even if there is not yet widely implemented by wallets, CashFusion and other mixing protocols, a proper use of the addresses is important. And a standard can be created now so that new wallets are aware of this.
This idea comes in part from Samourai Wallet, which implements a mixing protocol and has different derivation paths for premix and postmix coins.
- For premix coins, the derivation path is:
m/84'/0'/2147483645'
- For mixed coins, the derivation path is:
m/84'/0'/2147483646'
A wallet compatible with CashFusion will only use those derivation paths to search for unspent fused outputs. Smarter wallets should be aware of this and their differences, so in the future it is easier to know how to treat those coins in particular or even if a different derivation path is used for each new protocol.