[Lightning-dev] Peer Selection

Christian Decker decker.christian at gmail.com
Fri Dec 15 19:06:13 UTC 2017


Let me add some more color to the discussion.

If you do not announce the existence of the channel to the wider network
you can still receive incoming payments, by simply telling the payment
sender about the channel. This is what is being done in the payment
request by adding the `r` parameter to the request. You are selectively
informing the sender about the channel, which can then use that
information to construct the route (and onion packet) and initiate the
payment.

Even though you have only one channel, and announce it, people might
still want to route through you, by using the channel twice: once to
route to you and then back out from you. While this may seem wasteful,
it may be useful to hide the real origin/destination of the
payment. Another scenario for which this is useful is that you are an
auditor that witnesses the payment while it is being processed, for book
keeping or similar cases. This would also work for unannounced channels.

So the decision whether to announce a channel is exactly what you're
looking for. It allows you to do bidirectional payments, and does not
allow random people to route through you. Implementations might
eventually add an "endpoint mode" that rejects any HTLC for which the
node is not the origin or the destination, which would further enforce
this.

Cheers,
Christian


More information about the Lightning-dev mailing list