I'm curious about whether participants in a lightning transaction gain information about the funding UTXOs of other participants.

Let's say Alice pays Bob using Lightning, and Alice's payment is routed through a single intermediary channel, Isidore:

Alice → Isidore → Bob

There are two channels here, Alice's channel with Isidore, and Isidore's channel with Bob. These two channels have corresponding funding UTXOs, which I'll call Uai and Uib.

Due to making this transaction:

1a. Does Alice learn that Bob's channel is Uib? 1b. Does Bob learn that Alice's channel is Uai? 1c. Does Isidore learn that owner of channel Uai is paying the owner of channel Uib?

Also, in the case of a direct payment:

Alice → Bob

With one channel, Uab:

2a. Does Bob learn that the sender of the payment is the counter-party of their channel Uab? 2b. Does Alice learn that the recipient of the payment is the counter-party of their channel Uab?

  • 3
    What do you mean when you say lightning transaction? Do you mean a payment or the commitment transactions? In the same way what do you mean with destination utxo? Maybe you can edit your question with an example setup. – Rene Pickhardt Apr 1 at 8:25
  • @RenePickhardt Thanks for the comments! I tried to clarify the question, and added a couple of concrete example setups. – Casey Rodarmor Apr 2 at 20:04

Let us start with the direct payment via channel Uab. According to BOLT 02, the payment is conducted by adding an HTLC and settling it. From a protocol perspective, Bob does not know if the payment was originated by Alice. Of course, as there was originally an invoice issued by Bob (and potentially presented out-of-band to Alice), he could deduce that Alice was the payer, but Alice might have forwarded the invoice to someone else who later routed through Alice. Thus, Bob cannot tell with certainty who paid him. All he knows is that he got money from Alice.

In that specific setting, Alice can however be sure that Bob is the one receiving the money as Bob issued the invoice. Invoices are signed by the private key corresponding to the node id, so Alice knows that Bob has requested the payment. Of course, Bob might have been a proxy in the sense that he issued an invoice with the same payment hash as someone else. In that case, Bob might have routed the payment before he was able to present the preimage. Such behavior would be impossible to distinguish for Alice.

Similarly, in the Alice-Isidore-Bob setting: Isidore only knows that Alice sent him money and that he was asked to forward to Bob. Isidore does not know if Alice is the originator nor if Bob is the final destination (this of course assumes the protocol is secure and no attacks exist that reveal such information). Like before, Bob only knows that the payment came through the channel Uib, but cannot tell with certainty who paid him.

In the Alice-Isidore-Bob setting, Alice is aware of all funding transactions as she chose the route and the route is encoded with short_channel_ids which point to funding transactions. Alice will most likely have learnt about them via the gossip protocol.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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