Stateless invoices with proof-of-payment



Summary:

In a BOLT12 protocol, payment_secret and encoded_order_details are sent by a sender to the recipient for a payment. The preimage is constructed by the recipient using node_secret, payment_secret, payment_amount and encoded_order_details, which allows the payment to be settled. The invoice_hash is used to lock HTLC(s) and is learned by the sender from the recipient through a BOLT11 invoice. Point shenanigans and PTLCs do not seem to work, but "pay for signature" protocols with PTLCs can be used instead. In this case, proof-of-payment is a signature of a message attesting that the recipient has been paid a certain amount with encoded_order_details, using a recipient pubkey as the signing key.


Updated on: 2023-06-03T05:55:05.027434+00:00