If we want to reconstruct the entire transaction history of an account, we need to decode the memos that were sent from us and the memos received by us. (The second ones are not a problem since we have all the necessary information to decode).
But, the reconstruction of the shared secret (used to encrypt the memo out) forces the client to keep a reference to the key used (child index of HD key, full ECkey, other).
If we can just store 4 bytes in the memo we can relieve the client from storing that references (since the reference will be in the blockchain) and will let reconstruct the entire history just from a seed.
This 4 bytes can be obscured/encrypted using skip32 or other mechanism.
It there any possibility to do this in the core?
I don't want to increment blockchain size since it will have a big impact on the long term, but can we give a new meaning to some memo fields?