The solution I'd love to see would involve a system with tokens that work like a key for a vault.
My solution for duping issues would be to start with a token with a random number as part of its name. Once you have the token's number you can go to a NPC and deposit the zeny you want placed in the vault which matches the number from the token .
These tokens would be account bound when the vault is still accepting more deposits.
Once you're done loading zeny into the vault the token is then exchanged for a tradable ticket representing that vault.
Importantly once a vault is associated with one of the tradable tickets the vault is flagged to block depositing additional zeny.
The tradable ticket when right clicked should show how much zeny is left in that vault.
To claim the zeny you trade the ticket to a NPC which then gives you an account bound redemption token.
NPC then checks the vault tied to that token and then allows your character to withdraw zeny until the account is at zero at which point you are able to return the token itself for 10% of the purchase price (thinking token itself should be like 10m).
So unless someone dupes every possible numbered ticket this key system should be safe. Also even if the ticket is duped the zeny itself is never duped as the ticket is just the key to the vault holding that particular amount of zeny.