Viewkey allow to disclose incoming txs. I need to solve a task of making transparent and provable address for our Monero funds. We are investment fund and this feature is mandatory for us.
This is only feasible with the latest simplewallet from https://github.com/monero-project/bitmonero/, which adds a couple new commands for this (
You, who want to prove balance, need to do a few things:
- in simplewallet, run
This will save a signed list of key images to the file
- Send the auditor(s) (or make public) your wallet address, the view private key of that wallet, as well as the
key-imagesfile you just made.
The auditor then creates a view wallet for your key:
There will be prompts for address and view key. Then run this command in simplewallet:
Include a path to the file if it's not in the current directory.
If all goes well, the view wallet's balance will match the original one.
See Can I fake a balance by giving the view key to an auditor but omitting some transactions and key images? for more information why this cannot be gamed.
It is possible with versions newer than 0.10.1. The process is:
- Auditor creates the watch wallet, by using your private view key and address.
- Using your wallet, command
export_key_imagesto export them to a file.
- Send the file to the auditor.
- Auditor uses the watch wallet, and commands
import_key_imagesto read them from the file. The watch wallet is now aware of spent status for each output and it shows the correct balance (unless something new was received in the meantime after step 2.)
The proof is interactive. You could, for example, publish the updated key images daily, or only when requested. An auditor would know when to request an update, because having the watch wallet, he could see immediately when you receive something new (which would not be covered with the old set of key images).