I would like to summarize this including the feedback received.
I’m proposing a feature. Grin could offer the possibility of having extra addresses for each account.
Reusable, Disposable (one-time) or Permanent.
Addresses can be: reusables, disposables or permanent. Reusable means that this address can be used more than once at any moment. Disposable or One-time Use Address, can’t be used again after receiving a transaction. A Permanent address is the default address. Currently by default we are using the address generated from m/0/a/0 where a is the account, this could be the initial address. A permanent or default address is the address that is used to create the default listener by the wallet. This wallet does not change automatically, only can be alternate by the user manually.
Listeners
Only one permanent address and one extra address can be enabled (listening) at the same time, to avoid confusion.
Addresses Manager
Addresses should be managed by the wallet using the local database with the current state, the type and an alias. More about how this should work will be written in the RFC.
Optional
This feature must be optional and could be enabled and/or disabled by using a configuration flag. The default value is: disabled.
Miners
Miners could use a different address for each pool and enable the address using the alias, since transactions are interactive, this won’t represent any problem.
What about in a context of User Level interactivity or UITX?
I don’t see any incompatibility with the flow described here.