Fruit of the LOOP: the Game Theory Behind Running a Lightning Node

Vlad Goryachev
9 min readJul 1, 2023

Are you a Bitcoin maxi running your own Lightning Node of an average capacity (1–10 BTC)? Whether you recently started or been routing for a while, I bet you are struggling to break even. Unless you constantly expand and open new channels, your fees keep drying up? Here is why.

Where are all those hefty fees?

Brave New World

We must all be sharing the dream of Bitcoin-dominated economy of tomorrow. It goes something like this: Alice owns a restaurant that accepts lightning payments from customers, pays to grocers, IRS and Bob-the-chef with lightning as well, who spend their satoshis in other establishments, and so on and so forth. That’s how current fiat society works. Ideally, Alice will receive and pay via LN, Bob will receive and pay via LN: their respective channels to other nodes will more or less stay balanced. So will the channels of those other nodes in a fully decentralized mesh network.

Lightning Network idea

But this is just a dream of the future. Until we get there, the reality is very much different. We live on a one-way street leading to the dump.

Jumping the Loops

Do you remember how you opened your first channels? Unless you assembled a group of friends opening to each other, you could not have used LN+ swaps right from the beginning. There are restrictions filtering out small nodes. To get started, a typical path is to bite the bullet and open directly to the nodes of your choosing. Then convert half of that amount back to on-chain bitcoin, to balance ins and outs.

Here are some of the options to do that, ranked from silly to smart:

1. Boltz for 0.5% commission + “network fee” (3x actual on-chain cost);
2. deezy.io for 0.16%–0.4% commission (depends on amount) + on-chain cost;
3. Bitfinex for a flat 0.0004 BTC withdrawal fee;
4. Kraken for a flat 0.0002 BTC withdrawal fee;
5. Loop for ~0.1% + on-chain cost. This option requires command line skills to install and use.

On-chain costs charged by Loop and Deezy are somewhat higher than what MemPool suggests, for safety. Let’s say it is 4000 sats, or 0.00004 BTC. It follows that up to 0.16 BTC it is cheaper to loop (0.16 * 0.1% + 0.00004 = 0.0002), and for higher amounts to use Kraken. Other options are worse, but people still use them. The wild card in all these estimates is the LN cost from your node to the target. It can be 1500-2000 ppm (0.15% — 0.2%) or more, and this is what feeds all those nodes you connected to. In essence, LN grows as a Ponzi scheme or a chain marketing campaign.

Spiders all the Way Down

An easy strategy for a whale is this: batch open several 100m+ channels to Loop, Kraken, Bitfinex etc, then solicit noobs on LN+ to open dual-funded channels or snipe-join their swaps. Sooner or later those noobs will bring you some blood. The whale does not have to do anything. Just collect 500-1500+ ppm fees on the blood running down the drain. When the channel to Kraken or Loop gets empty, close it and start a new one. No need to rebalance anything. In fact, circular rebalancing is impossible because all the routes are either equally expensive or dry.

Lightning Network in reality

Your channels to the noobs will become full and static; peers cannot stop you from closing them to bring your balance back on-chain. Rinse and repeat. Those victims who joined your sink node will become sink nodes themselves. They will learn and employ the same strategy to grow their networks. The only difference, they won’t have the whale’s economy of scale, so it won’t work for them.

Opening a channel today costs about 4000 sats plus a similar reserve to close it. On a 10M 50/50 balanced channel with one-way flow, a noob’s break-even fee rate is (4000 * 2 / 2) / (10 / 2)= 800 ppm. He will never get a flow at this rate, and is therefore doomed to route cheaper and lose money (or keep the fee high and the channel unused). On the whale’s 100M channel the break-even is 80 ppm. Batch opening gives further economy. A whale spider always wins, as do the ultimate beneficiaries: Loop and other end points.

The channel between the whale and his victim gets dry, but it cannot be rebalanced. All the inbound peers of the whale, if they are sane and have capacity, have set prohibitively high rates to this sink node. So it can only be closed.

When such channel is closed, the victim loses inbound capacity and has two choices: close some full channels to his peers which do not perform (pass on the problem to them), or rebalance again via Loop or Kraken and feed the spiders. The bitcoins he gets on chain usually get “invested” again via swaps, in a vain hope to do better next time. The vicious cycle continues. This is the dark forest we live in.

You can see the list of the largest spiders here (they have the fattest channels to LOOP node). But there is no point to revolt against or to shame them. While the network grows and brings new Lightning capacity without invitation and with no end use, some of that capacity must be destroyed. There is no better way to start a node than to batch open unsolicited channels directly to the big guys, and there is no better way to rebalance than to use Loop or Kraken.

Spiders serve a social function here by providing the routing. If anything, we want them to breed and compete with each other, to keep the fees down. Until a much wider adoption brings us real customer flows, the new nodes are the network’s main source of income at their own expense. We cannot change this pecking order, but we can learn to live with it.

The Routing Game

I hope you recoiled in disgust. No problem. We all are adults here with at least one bitcoin of net worth; losing a few dollars here and there does not make much of a difference. If you decide to join or to stay anyway, treat it as a game with a steep learning curve and a tuition to pay. Chess, Poker, D&D and Elite Dangerous all in one. Play it as you would any strategy game — by learning the rules and trying to get better.

Just as fight for survival goes on in nature, Bitcoin motivates its nodes to evolve and become smarter. Even if you decided to keep routing altruistically “to help the network”, you will cause more harm than good if you do it wrong. And you will still run into unbalanced situations. So please read on and make sure you understand the reasons for what I recommend.

If you did not already, install BOS + Telegram Bot, LNDg and LndBoss (both are now in Umbrel’s App Store), and learn how to use them. Watch your flows and failed HTLCs, study your and others’ rebalancing attempts and play with your fees. As a general rule, your fee should be small, sometimes all the way down to zero, where outbound capacity is abundant, and go up as capacity gets exhausted. This signals the rebalancing algorithms of other nodes not to waste time probing cheap, but dry routes. Limit HTLC size to something like 1m, so that all liquidity is not sold cheaply in one go.

LNDg, LndBoss or charge-lnd can help you automate fees based on outbound capacity. Setting fee base to 0 will let you understand what rates work by reading BOS telegram messages. Educate yourself on what you are doing via PLEBNET wiki and Lightning Engineering.

Realize that we are not earning the fees by screwing each other (except the predatory whales, they do). Instead, we all are slaves to the LN routing algorithm, helping it find the path of the least resistance through our nodes. The selfish motive to increase your flow means bonding with your peers in a symbiotic relationship. A network sector that evolves to route with the highest efficiency will stay longer in the game and win the future client flows.

Let’s look at an example. Node A has opened a 10M channel to node B that earned 500 ppm over it’s life and is now 100% empty. It is economically unfeasible to close it and open a new one. Node A is motivated to find a rebalancing route via C. B is also motivated to help this process: the flow from A brought him outgoing fees on his other channels (assisted revenue) and he wants to repeat that. So node B lowers his rate on A to 0. C keeps lowering his rate on B until he discovers A’s rebalancing target. They don’t have to talk to each other, their motivations are aligned by pure greed.

Recycling a channel

Let’s assume the rebalancing yielded 250 ppm to node C and emptied the channel. The situation above repeats between nodes C to B. Node C finds a rebalancing route via D, and so on, and so forth.

Sunk costs motivate everyone to seek compromise: gradually boosting max ppm cap on your rebalancing attempts and lower ppm rates on your full channels to get in the way of your peers’ rebalances.

The Strategy

All of the above is common sense, yet only a small percentage of the nodes tend to operate consciously. We try to grow our networks as quickly as possible, until the seed capital is depleted, and only then start to wonder why that resulted in a loss. Now that you understand the big picture, you need a new strategy on how to play the cards you were dealt.

First of all, redefine your goals. It is no longer to earn as much as possible or to recoup your losses. This may come organically in the long run as a result of your new target: to learn the ropes and become the most efficient router to help rebalance the peers around you. If your peers are happy, you are happy. Even if this means tiny, but steady and sustainable stream of routing fees. To achieve that, you will need to clear the routing channels by instilling a similar mentality to all your peers. Please share this manual if you agree.

When your peers learn to follow these guidelines and spread the word further to their peers, our local sector of LN will become relatively more efficient than the others, letting us all better rebalance and free the capacity to do more business.

LN Survival Tips

You can reduce your costs and exposure to risk by following these rules:

  • Do not continue to play, unless you accept it as a paid education;
  • Do not start swaps on LN+ to avoid whale spiders;
  • If you must grow, only join as the last participant to several non-dual swaps at once, and choose your peers carefully;
  • Always batch open your channels;
  • Give all your peers the first 5%-10% of your outbound capacity for free. If everyone starts doing that, there should always be a path to partial rebalance.
  • Study your channels and rebalance the best performers.
  • Communicate with peers who have liquidity stuck on their side but don’t lower the fee to you.

The moral of the story is simple: LN does not need you as a router. All the big players have already opened direct fat channels between themselves. You cannot plug your little node in-between and earn anything. All there is left to route are the balancing payments from the unsuspecting noobs to the LOOP/Kraken, i.e. becoming another spider in the network of spiders.

Owning a node is a good idea if you run some business and wish to accept bitcoin. Then managing your own channels can save you costs. If you are already a spider and do not want to leave, the goal is to learn, evolve and hang on long enough: until Bitcoin standard wins.

Update August 2023: Binance started to accept lightning payments. Its BTC onchain withdrawal fee is variable, but generally close to Kraken’s. Another consideration whether to use Loop, is that exchanges’ sats are KYC.

--

--