pull down to refresh

From a routing perspective, if you have a channel to a popular drain, it's likely that you'll only get paid once for the flow going out through it. It won't rebalance, ever. In this case, you'll probably open the channel at at least 3x ongoing chain TX fee rate, if not 5x if we assume rates may be even higher at a time when you're faced with a force close. And if this wasn't bad enough, every single hop towards this popular drain will likely be faced with the same economic necessity. So if we combine the fees for 10 hops towards this drain, we're talking about 50x times normal fees compared to onchain rates. It makes no sense to me to pay this much. There may be some people willing to pay this for the instant confirmation and added privacy but it seems like a non-sustainable solution for these types of transactions.
If a channel has a much better balance of incoming and outgoing flow which can be tweaked by changing the rates so that it never gets too heavy on one or the other side, then the risks go way down, and the necessary fee rates tends towards zero, because eventually you'll move enough traffic to cover all the costs over time. These types of channels are the healthiest and most sustainable. But also, the most rare in my experience. It seems like most of the time, flow heavily goes in a single direction for each channel.
This was discussed in the past and people said if there's a merchant who is constantly taking payments through LN and running out of inbound liquidity, the merchant should figure out how to pay their suppliers through LN so they can have funds moving outwards as well. This seems a bit idealistic, as some destinations may simply be stacking and have no reason to spend or purchase anything over LN themselves. This leads to more stuck flow, and back to paying 50x onchain rates.
So the efficiency and feasibility of LN seems to me be reliant on more healthy bi-directional channel flow but it's really, really hard to keep that going, even if you tweak fees, because you'll always have people with different economic goals in the system and they themselves will not be particularly balanced about incoming and outgoing flow. And this gets represented, over the long run, in lots and lots of unbalanced channels, regardless of trying to mess with fees to "prevent" this. And the more you increase fees to try to maintain healthy channels, the closer you get to onchain rates anyways. And if they are willing to pay, they are willing to pay, and you end up without any balance again, and end up having to go on-chain to fix the situation.
This isn't to say LN doesn't scale Bitcoin or isn't L2. It's capable of it, because you can have theoretically infinite transactions on a single channel, but that assumes bi-directional flow, otherwise, it's just one set of chopped up transactions until the channel is empty. And it's practically impossible to predict or otherwise plan ahead to choose channels that will likely have such bi-directional flow. Experimenting on LN is expensive, because channel closes are expensive. And people generally don't have or want to risk tons of BTC for this purpose, even if it's potentially profitable. I wish I knew how many LN nodes out there were profitable, but I would guess close to 0.01%. Because it's a very hard problem to solve which channels are the most ideal to open and will have sufficient bi-directional flow. And you can't really solve that by simply opening up channels in one particular way, because I believe, over time, it will always tend towards an unbalanced situation, at which point, the only real rebalancing option you have is to close the channels that are stuck at 99% and 1% and haven't moved any sats.
I'm curious if anyone has found success in LN routing in a sustainable way that doesn't get killed by on-chain fees. Or, if most people just don't care about routing and are using it to make private outgoing payments with one on-chain hit. My thought is that, one on-chain hit could be cheaper than LN once LN matures out of the early stages where people have fees set low. I think more and more LN nodes will get weeded out by the basic losses. I don't know who will be left in the end. I hope there is some way to keep LN sustainable for everyone, and not just a few folks who found "the secret sauce" in maintaining channels without getting killed by on-chain fees or unidirectional blackhole LN destinations.
The following is a quote from a book cover, by David Graeber.
[For] more than 5,000 years, since the beginnings of the first agrarian empires, humans have used elaborate credit systems to buy and sell goods
Imho, the LN protocol, and Bitcoin, are operating within an experimental context, and flawed principle, that debt is bad.
Debt is bad, sortof like guns are bad. Debt doesn't bankrupt people, people bankrupt people - or themselves.
If you accept debt into the protocol, I think the solution space could open up.
If there was a way to lend the sats in a channel, to another node, that would create a credit system. Those credits, would themselves start to work similar to channels themselves. Because this expands the utility of a channel, and unlocks yield, this would increase capital efficiency. Trouble is, I can only think of three ways to force settlement, and none of them are native to the Bitcoin network.
reply
Sounds like IOUs which is basically fractional reserve banking and printing money out of thin air to make it work? Or would it be like a guaranteed one-to-one? Which sounds like Liquid Network in a way.
reply
Debt is synonymous with IOU.
Debt is not synonymous with printing money out of thin air.
The 1:1 guarantee is an implementation detail. Could work either way, or a mix of guaranteed and not-guaranteed.
reply
If a channel has a much better balance of incoming and outgoing flow which can be tweaked by changing the rates so that it never gets too heavy on one or the other side, then the risks go way down, and the necessary fee rates tends towards zero, because eventually you'll move enough traffic to cover all the costs over time. These types of channels are the healthiest and most sustainable.
That will not magically make traffic appear in the other direction, just drain the channel slower
And it's practically impossible to predict or otherwise plan ahead to choose channels that will likely have such bi-directional flow. Experimenting on LN is expensive, because channel closes are expensive. And people generally don't have or want to risk tons of BTC for this purpose, even if it's potentially profitable. I wish I knew how many LN nodes out there were profitable, but I would guess close to 0.01%. Because it's a very hard problem to solve which channels are the most ideal to open and will have sufficient bi-directional flow. And you can't really solve that by simply opening up channels in one particular way, because I believe, over time, it will always tend towards an unbalanced situation, at which point, the only real rebalancing option you have is to close the channels that are stuck at 99% and 1% and haven't moved any sats.
What i do to choose new channels:
  • Take the network graph from my node, and apply some filters
  • Analyze, for a given payment size, how many nodes it can reach in both directions (inbound, outbound) for a given max cost.
  • Then, for each candidate node, look how many more nodes can be reached (cost becomes less than the max cost, or nodes that could be reached but cost is now slower) in each direction
  • For each candidate, i take their 'new node reach' in the worst direction, order that
  • And finally select the one that will bring more nodes 'in reach' in the 'worst direction'.
That way, i choose peers that are not 'the best' connected, but will have a better balance of new inbound/outbound traffic But i can't really claim it works, my node is still too small for this strategy to trigger the organic balancing i hope it could bring
reply
Your "50x" is nonsensical extrapolation.
Unidirectional LN channels make sense as long as they are large enough.
Routing can be easy or profitable, not both.
reply
It's pretty simple: a unidirectional LN channel that does N transactions in its lifetime decreases the total transactions that need to be done in the bitcoin chain by a factor of approximately N.
It's very easy for this tradeoff to be worthwhile! Eg consider the case of a mining pool that opens a new channel to a big routing node with the block reward. Those channels will inherently be bidirectional. But with just a few transactions, they can pay thousands of individual hashers. The big routing node will of course have to do transactions themselves to make use of the funds on their side. But they're in a position to amortize that at scale too, eg with transactions opening channels to big exchanges.
The only thing the routing node has to do is be careful to ensure that their overall fees are sufficient to pay for the necessary transactions. We don't have this yet in the LN protocol, but fees on incoming payments will eventually make this quite easy to achieve in an automated way.
reply
If we assume that there will also be N hops, and each of the N hops to support the N transactions, then doesn't everything cancel out in the end? Sure, a single hop that handles 10 transactions will replace the 1 on-chain transaction, but that's 1 hop. The other 9 hops also do the same thing, so in the end, 10 transactions require 10 on-chain channels (one channel per hop).
In the mining case, let's say there are 10000 participants in the pool. Then it needs to open 10000 channels. Now if the pool has a ton of BTC up front, maybe it can benefit, but it's pretty painful to create these giant channels for each participant up front. And a participant might disappear, in which case, you pay the closing fee and then maybe open a channel for a different participant. This "churn" of channels can become rapidly expensive.
Now if you say the mining pool doesn't need to open a channel to each participant, now the participants are stuck without inbound liquidity. They can buy it, but that's again, on-chain TXs for each one. And that step to buy liquidity is not exactly easy or cheap.
reply
I'm not sure why the size of the channel matters. If it's a one-way drain, eventually it will be all gone, and you'll have to close the channel. This is happening on every hop that is suffering from the singular one-way drainage point.
You can have a large channel to try to reduce the overall cost to open the channel so that the recovery fee might be something profitable, but that's not an option most people have. So maybe you're saying routing is only for people with extremely large stacks, especially as on-chain fees go up?
Maybe the minimum these days is 20 or 30 BTC to even have a chance?
reply
Another way to look at it is, 10 hops are creating 10 on-chain TXs to handle what a single on-chain TX could have accomplished. It's like reverse scaling.
reply
Those 10 hops are likely doing 100 or more overall transactions. That's still a scaling win.
reply
My 10m sats channel drains usually within 1 or 2 transactions. Sometimes 4m or 5m sats at a time. Most of the nodes that I'm connected to have channels way smaller than that, such as 500k or 200k sats channels. Are you sure the 10 hops can handle that many?
reply
Clearly you are the cheapest liquidity around for a circular rebalance
reply
But what I'm saying is that the fees don't matter. Once the liquidity is gone, it's gone. I could raise my fees super high and maybe I'll get to "keep my balanced liquidity" but what I'm basically doing is turning my flow to 0. There's no point in that. And as soon as I change it to something that has flow, the balance is gone again. Fees don't fix that.
reply
i understand what you are saying, i've been running routing nodes for years now and it is a problem. Before the big capacity growth we all milked big sinks like bitfinex with high fees and then just closed at 1vsat/byte.
on the bright side i've had chans on drains that haven't routed anything in more than a year starting to be active in the last months so if you are positioned in the right spots with growing adoption there might be more bidirectional trafficl
reply
I hope so, that would be great!
reply
If your channels are draining that fast you probably have low fees. If you have higher fees, you'll get more transactions of lower value.
A unidirectional channel can handle essentially any number of transactions, down to whatever is the capacity / the minimum transaction value (usually 1 sat). How many happen in practice depends on fees.
reply
That makes sense but it's usually a static number like 10 or 100, especially if it's a small channel. What I'm saying is that these are not sustainable if we have to close them.
LN seems like economically requires people who hold a large number of BTC to make big enough channels that can counteract the price of expensive on-chain TXs. If Bitcoin's future is only full of people with small amounts of BTC and all on-chain TXs are extremely expensive, I don't see how everyone can participate economically.
reply