ltc-mweb / ltc-mweb/libmw

Support Payment Proofs

Open
#34 0 comments 0 reactions 1 assignee Claimed by @DavidBurkett View on GitHub
after launch enhancement
Dominant language
C++
Stars
22
Forks
7
PR merge metrics
No merged PRs in 30d

Description

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 amount*H + blind*G = 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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.