[Lightning-dev] Peer Selection

ZmnSCPxj ZmnSCPxj at protonmail.com
Wed Dec 13 13:13:47 UTC 2017


Good morning,

>>If you have a reason to open a channel to an arbitrary node, then other nodes have a reason to open a channel to an arbitrary node, which might be you. Even if the
>network grows large, that > also means there are more participants who might decide, via whatever heuristic, to channel to your node.
>
>If I am connected to some nodes, but no one connected to me, then all
>of my deposit is used by me only, and is not used by other nodes.
>If I am routing nodes through my node, then it can potentially
>negatively affect availability of my deposit for my own transactions.
>So it seems to me that the best strategy is to connect but accept no
>incoming connections.
>
>How much real is this problem?

You would also have to make your outgoing channels private (not sent by node gossip) so that others will not route through you.  You will not be able to receive money on-Lightning (since your channels are private, people who are trying to send money to you on-Lightning will not be able to find a route to you).  You will not earn any money from routing fees (since you are not willing to have others use your channels for routing).

It has the advantage that you can actually lose Internet connectivity indefinitely with no possibility of loss of funds, simply because in this mode of operation, channels are effectively unidirectional only from you to the rest of the network.

However, I think in the long run, you would prefer to receive funds by Lightning also, and so cannot use this kind of operation.  Consider that in the future, you may get paid your salary or dividends in bitcoin over Lightning: your business/employer receives money from its customer over Lightning, it sends part of that money to sub-contractors and suppliers, and some to you (employee or shareholder).  You then spend the money you receive as salary/dividends for food and services and other vices you might have, which are provided by other businesses which have their own shareholders, employees, sub-contractors, and suppliers.

In such a world, you would have to make your channels public and accept incoming channels, and at minimum accept incoming money (even if you reject routing attempts).  Since routing can earn you some amount of money as fees, you probably want to accept at least a few routing attempts at a time to earn some fees (and offset the fees on your own transactions).  This also leads to a more mesh-like network; the "unidirectional mode" where you keep all your channels private and only outgoing effectively makes you a second-class member of the network (and has higher onchain fees: if you have depleted a channel, there is an incentive to keep it open only if you are willing to accept routing attempts through you (every open channel is an opportunity to route, and a channel depleted on your end is full on the opposite end and you can still at least accept transactions toward you), otherwise, you are better off closing channels (and incurring fees) so you can recover the channel reserve).

Regards,
ZmnSCPxj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20171213/33a3734d/attachment-0001.html>


More information about the Lightning-dev mailing list