From stan.kladko at galacticexchange.io Wed Dec 13 13:04:50 2017 From: stan.kladko at galacticexchange.io (Stan Kladko) Date: Wed, 13 Dec 2017 15:04:50 +0200 Subject: [Lightning-dev] Peer selection In-Reply-To: References: Message-ID: Thank you Presumably many nodes will be behind firewalls. Are there any firewall traversal mechanisms included (or some type of an overlay network)?) On Wed, Dec 13, 2017 at 2:53 PM, ZmnSCPxj wrote: > Good morning Stan, > >>How to I discover nodes - is there any UI to see nodes currently >>running on the network ? > > There are no UIs to my knowledge. Current LN programs keep track of this in > their databases, although each one varies in detail. Presumably their > individual main developers know how to extract this information. > > My understanding is that network bootstrap involves some LN nodes being > discoverable via DNS, then your node will connect to them, request node > gossip, then it (if you use some kind of auto-pilot channeling system like > what lnd has) will select from the node information it acquires to select > some nodes to connect and channel to. > > Note a precision, there is a difference between "connect" and "channel". To > connect, means only that you contact them over the network and consumes only > bandwidth and some small amount of CPU power on your node. To channel, > means to commit some bitcoins to a payment channel between you. > >>>>How do I find out if someone wants to connect to me? >>>The node connects to yours and sends channel funding messages. >> >>In this case there is some kind of an UI where I can accept or reject - >> correct? >>Or I auto-accept everyone that connects to me? > > None. You auto-accept incoming channel requests. You might, if you are up > to it, program your node to reject some nodes via any heuristic you choose, > but you would have to implement that yourself. I know of no current LN > software that has or intends to have such a feature, as there are little > downside to accepting all channels --- you only spend less than a kilobyte > of storage for each newly-opened channel --- while the upside is that a > channel to you is a potential route which you can charge for, or a route you > can receive funds through. > >>>If you intend to connect for the purpose of becoming a hub and earning >>> routing fees, if you have some onchain bitcoins you can afford to invest, >>> then it is to your interest to >>channel with relatively new and low-connectivity nodes. >> >>If I become a hub, how much to I earn, approximately in routing fees? >>Is it a percentage of transactions? Are routing fees the same for all >>hubs? > > Each node indicates as part of its information a "fixed fee" and a > "proportional fee". The "fixed fee" is imposed per successful routing > attempt, while the "proportional fee" is a ratio of the value traveling > through the node when it is on the route. It is expected that there will be > many nodes through which people can route, so there will be much > competition and eventually the system will settle to a state where most > nodes charge the same low fee. > >>If I am connecting to the network and see many hubs - how can I select >>which hub to connect to? Is there any performance/reputation info >>available for any hub? > > There are none. Presumably your auto-channeling program will gather > statistics and other information to make some guesses on which nodes have > good performance. > > Note that, there is nothing that specially privileges hubs, and this is > deliberate. Any node can become a hub without permission or special > treatment of the network, if by "hub" we mean "node with high number of > channels". Indeed, even the DNS bootstrap, to my knowledge, should only be > used to gather initial node gossip to acquire some *other* nodes that can > potentially be channeled to. > > Regards, > ZmnSCPxj