#8819·monero

Improve transaction proof documentation

Author: UkoeHBCreated Apr 5, 2023Updated Sep 16, 2026
Labelsenhancementdocumentation

Credit for this issue goes to the Cremers, Loss, Wagner team behind this paper.

Transaction proofs (check_tx_key(), InProofs/OutProofs) do not guarantee that funds associated with a proof are spendable. They could be permanently time locked, already spent, or burnt due to duplication of onetime addresses. The documentation around those proofs should be clarified:

It is also worth noting that a user who receives burnt funds may not be adequately notified/aware of it, since the wallet currently hides that information to a large extent.

Other recommendations:

  • Add clearer UI in the (commandline/giu)wallet for these transactions. In our tests, this case looked extremely hidden. The amount magically is reduced, but the transaction(s) exists. Errors are logged but a normal user will have no clue as to what happened and why there might be a discrepancy between the amount in the proof and the amount visible in their wallet.
  • Add documentation on how to better check proof-of-payments for spendability, or suggest (or enforce!) to only use them on subaddresses.