Reuse of payment_hash in lightning invoices



Summary:

The knowledge of a preimage for a certain payment_hash is the sufficient and only payment proof for the payer, however, the reuse of payment_hashes should be strongly discouraged. If two donors send a payment for the same preimage in a donations scenario, an intermediate routing node can effectively steal the payment from the recipient if the routes overlap. A warning should be added to BOLT11 regarding the reuse of payment_hash in invoices. The fact that ultimate payer has received the payment preimage is considered sufficient proof of payment. In case of reuse, whatever the receiver claims is to be ignored, as the payment preimage in possession of the ultimate payee is considered the whole of the proof of payment. If the receiver knows it does not control the entire Lightning Network, it should not reuse payment hashes since intermediate nodes it does not control could claim the payment and give the proof-of-payment to the ultimate payer. Possession of the payment preimage is itself the entirety of the proof of the payment, regardless of what the receiver claims.


Updated on: 2023-06-02T16:59:27.476560+00:00