Today, I’m going to elaborate on peers, channels, connections, port forwarding and fees, as I’ve come to understand them. These.Are.Crucial.

First off, as an honest, straightforward pleb, I want to say something about peer selection. Every guide I’ve found has good, basic criteria, but they all favor the incumbents, if you know what I mean. While it IS a good idea to have some peers with great statistics & established reputations (see the Good Peer summary, below), please don’t overlook your fellow plebs who are new to this space (noobs like you & me). Personally, I’d give more weight to Capitalization & Competitive Fees to judge the integrity of the peer & their desire to be a Good Peer. Also, look closely at the peers they’ve chosen to open channels with. IMO, those are fair signals that they serious about becoming established and can ultimately help out your Routing Needs. Most importantly, I feel that opening a channel with some newer nodes will, as a whole, build a stronger Lightning Network and keep things from getting too centralized.

Let’s dive in:

  • Peer – just another lightning node out there. Gah! You really have to dig deep to get a useful answer as to what qualifies as a Good Peer**. Upon first starting up my node there are a handful of peers already there. Who are they? What criteria was used to pre-populate this (I’m still looking for this info, more when I find it)? Here is the summary of what to look for:
    • Connectedness – look not just for many channels, but channels with other Good Peers (seriously. it says to find a good peer, find a peer with good peers. Somewhat circular logic…).
    • Capitalization – look for fewer channels with higher capacity. Check not just total capacity, but inbound & outbound capacity.
    • Competitive Fees – look for a peer that offers (consistently) competitive fees. When payment paths are determined, that will work in your favor.
    • Stability – the general rule is to look for higher uptime & older channels, but, IMO, you should give newer nodes a chance too (as explained above).
    • Routing Needs – do they need you? Meaning, do they need inbound liquidity? If some nodes already have active, liquid channels with each other, your node probably won’t see much action.
    • Features – having channel-maintenance features enabled, like payment addresses & multi-path payments.
  • Connection – purely for communicating directly P2P (peer to peer) on the network. Communication is two-way, but the creation of a connection is NOT, meaning you can create a connection. with a peer, but they can’t create one with you (unless you port forward, see below) A connection is REQUIRED before a channel can be opened*.
  • Channel – established on an existing connection*, it needs to be created/opened to allow your lightning node to send & receive payments with a peer. Once opened, can also be used to route the payments of others.
  • Port Forwardingtldr; only port forward when you’re ready to be a routing node and/or you want anyone, anytime, anywhere to have the ability to open a channel with your lightning node. There are lots of ports on a computer and this is specifically about port forwarding on a lightning node (port 9735). This is NOT required your outbound connections, i.e. your lightning node connecting to a peer. BUT if you can open a channel with a peer, please realize that it is because that peer IS port forwarding. One must port forward on a lightning node to allow for the creation of inbound connections with no action by you. Pierre Rochard had some great insight on this topic & really helped round out my understanding.
    • Port NOT forwarded: your node can still create a connection to a peer, allowing the two nodes to communicate, thus still allowing for you to open a channel with that peer (this is optional).
      • your node –> connection –> peer (you deliberately create a connection)
    • Port forwarded: the connection can also be established by a peer
      • your node –> connection –> peer (you create this connection)
      • your node <– connection <– peer (a connection can be created by a peer, without any action on your part, ideal for routing nodes)

*A lightning node management tool, such as Thunderhub or Ride the Lightning, will create a connection for you when you open a channel.

** See the Builder’s Guide for more details. This is a great resource for an overall understanding of the Lightning Network.

FEES

I’d been impatient & wanted to just throw sats into my node and open channels with some peers. Luckily, the guide I was using on Day 1 had an option to send an invoice to test my setup. The guide’s maker, upon communicating with me over telegram, saw some gaping holes in my knowledge/understanding and sent me away with instructions to go over the whole thing literally from the beginning.

I say luckily because he warned me that diving in with such a shaky understanding would cost me some of my hard-earned sats, and, after reviewing the BTC Sessions Lightning Node Tutorial he sent me, I realized he was 100% correct.

So, about fees. There are fees that you explicitly set when opening a channel. Defaults, i.e. suggested fees, are in place, but you can modify them at the time of opening or later on.

You’ll want to have your fees low enough that you’re competitive with other nodes, but high enough that you’re not giving away your service for free. You might consider have them lower to start, to build your usage, then raise them as the number of transactions increases. It’s up to you to determine what the best amounts are.

Mempool is useful to determine what you might want to charge (or pay!). They show average fees paid and how they vary by priority (low, medium, high). You can just click on a block and scroll through the transactions. It will show sat/vB, how many sats and the dollar value of the transaction. For example, I’m looking at block 704984, a transaction of just over 58 BTC that went through at 17.5 sat/vB, 11,109 sat $6.38. And according to mempool, they overpaid by 18x.

The two types of fee are set on a per-channel basis, meaning one Lightning Node can have completely different Base & Liquidity Usage Fees at your discretion. This is useful, since you can have lower fees where you want to see growth/usage and higher fees where your node traffic is more in demand.

  • Base Fee – flat fee charged for each transaction routed through a node.
  • Liquidity Usage Fee – this is a percentage charged, applied to the amount of liquidity is being used in a transaction.