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

Support Payment Proofs #34

Open
DavidBurkett opened this issue Dec 27, 2020 · 0 comments
Open

Support Payment Proofs #34

DavidBurkett opened this issue Dec 27, 2020 · 0 comments
Assignees
Labels
after launch enhancement New feature or request

Comments

@DavidBurkett
Copy link
Contributor

Since the sender address of an output is just an ephemeral key, and the receiver address is a one-time key generated from a stealth address, the sender needs to be able to prove to an arbiter that a payment was made in case of disputes. This will involve proving:

  1. The output existed - This can be done with a merkle proof that the output was once in the output PMMR.
  2. Amount - This can be done by proving the blinding factor (using a signature), and showing that amountH + blindG = Output commitment. Alternatively, we could just reveal the secret key used to encrypt the value & blind.
  3. Receiver address belongs to recipient
  4. Sender address belongs to sender
  5. Blinding factor is stored in encrypted data - If we just reveal the secret key used to encrypt the value & blind, we get this for free.
@DavidBurkett DavidBurkett self-assigned this Dec 27, 2020
@DavidBurkett DavidBurkett added after launch enhancement New feature or request labels Mar 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
after launch enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant