3

I have in mind a protocol architecture that includes value transfer, where BTC is the unit of account.

To make the protocol scalable I could specify use of the Lightning Network protocol.

In this case, I'd like all payment transactions sent to a given recipient via the LN protocol to be publicly indexed and independently verifiable. Let's say if you run a FancyNewProtocol node you end up storing some or all of these transactions.

Is it possible to get this information from the Lightning Network protocol? Is it already stored/indexed on the sender/recipient's node (so the sender and/or the recipient could relay to a node for inclusion)?

What LN transaction information is usable to provide a verifiable public index of received payments? I am thinking the invoice and related pre-image "receipt" could work. Or am I barking up the wrong tree?

1 Answer 1

2

Unlike onchain transactions Lightning nodes do not get a global view of all transactions. They only see transactions that they send, they receive and they route across the network for others. When they help route a payment they don't even see the final destination of the payment, merely the next node along the route.

I'd like all payment transactions sent to a given recipient via the LN protocol to be publicly indexed and independently verifiable.

You would only be able to index a recipient's transactions if that recipient published this information. There is no obligation to do so and no alternative.

Is it possible to get this information from the Lightning Network protocol? Is it already stored/indexed on the sender/recipient's node (so the sender and/or the recipient could relay to a node for inclusion)?

Not from the normal running of the protocol. As I said you would need the sender and recipient to make this information public.

What LN transaction information is usable to provide a verifiable public index of received payments? I am thinking the invoice and related pre-image "receipt" could work. Or am I barking up the wrong tree?

The network topology and channel capacities are public and gossiped across the network. But the channel balances and payments that are routed across the network are not public. The receiver generates the invoice and the sender constructs the route so this data could theoretically be made public. The hash preimage that is revealed across the route from the receiver back to the sender could also theoretically be made public. However, in practice this would be a significant privacy leak and it would be difficult to convince Lightning nodes to do this without any obvious gain for them.

3
  • Thank you. Is the tx information potentially published by the recipient sufficient to allow a third party to verify that the payment was made? You say tx indexing doable only if recipient publishes info; presumably sender could publish it too?
    – Lee
    Sep 7, 2022 at 8:38
  • 1
    The recipient can prove they received an amount but it depends on whether the invoice was generated specifically for the sender or not (e.g. BOLT12 has payer proofs) if you want to prove the paid invoice came from a particular sender. Sep 7, 2022 at 10:52
  • 1
    I guess if you could identify all the senders that sent money to a recipient and asked them all to publish their data it would be doable. But I don't know how you would identify the senders without requesting that information from the recipient (unless you were the sender of the payment) Sep 7, 2022 at 10:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.