Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proof of Payment (without invoice) #115

Open
dan-da opened this issue Nov 30, 2021 · 0 comments
Open

Proof of Payment (without invoice) #115

dan-da opened this issue Nov 30, 2021 · 0 comments

Comments

@dan-da
Copy link
Contributor

dan-da commented Nov 30, 2021

It has been suggested that a proof-of-payment can be achieved by the sender signing a different message with the same spend key and signing algo.

The idea is to re-do the RingCT Signature but this time signing the Payment instead of the ReissueTransaction.

Given sender's signature over a Payment, we can verify that sender created the Dbc(s) contained in the payment by checking that the key-images are identical.

This is because the second ringct signature would only be possible if the signer knows the secret key that corresponds to that key-image.


Some related observations:

  1. This technique enables Alice to prove she paid Bob without revealing the amount she paid.
  2. This technique enables proof-of-payment to multiple recipients, not just one.
  3. This approach does not require that the recipient(s) are online. (unlike the Invoice approach)
  4. With this functionality in place, it seems that the only additional thing that the Invoice/PaidInvoice approach gives us is a mechanism to request a payment amount without revealing that amount to any 3rd parties. Maybe we don't even need it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant