3

I'm trying to understand how the lightning network works in practice, so I figured I'd just use some Electrum wallets on testnet.

So here's what I did:

  • set up two wallets
  • funded them with some tBTC
  • opened a channel to the same node on both

My goal? Send a small amount of BTC via LN. Except... I think I don't understand some fundamentals, or perhaps the error is misleading, since an attempt to transfer a small amount between my two wallets results in a "No path found" error.

It might be that I picked a "weak" node to open a channel with? Like, if I were to use LN on mainnet, is it this hit-or-miss if payments go through? Because opening a channel, ultimately, isn't free (it might be on testnet, but you know)...

2

When you open a channel, the complete channel balance starts out on the side of the opening party, you. So, by opening two channels, both channels had the complete balance on your side. This leaves no balance on the side of the counterparty to assign to you.

To explain graphically, think of a channel as a string of beads. I use [U] for you, and [C] for the counterparty:

A new channel has all the balance on one side:

[U] 000------ [C]

When you send funds to your channel partner, part of the balance in the channel is assigned to the partner:

[U] 00------0 [C]

To make a multi-hop payment to [R], you trade balance in your channel for balance in another channel of the counterparty:

[U] 000------ [C] 000------ [R]
               ⇒
[U] 00------0 [C] 00------0 [R]

This leaves the same total balance for the forwarding node, just shifted from one channel to another (plus a fee you might have paid for the forwarding).

In your case your two channels looked like this:

[U] 000------ [C] ------000 [U]

The forwarding party had no balance in either channel, so it could not facilitate the multi-hop payment. You will need to spend some of your balance, find someone to open a channel to you, purchase in-bound liquidity, or loop-out some balance to generate some in-bound liquidity before you can receive a payment.

2
  • Hmm, I think I'm starting to understand. If you don't mind me asking - say I want to get paid via the LN network from something like Nice Hash (that's my ultimate target and I'm trying to understand the systems before I get there); does this mean I need to first open a LN channel AND spend additional funds to get inbound liquidity? – Shaamaan Mar 5 at 7:11
  • Sort of. While there are ways to pay for inbound liquidity, you could e.g. also open a channel yourself and then spend money on Lightning on something that you were going to buy anyway. This site has a few suggestions how to create inbound liquidity: openoms.gitbook.io/lightning-node-management/… – Murch Mar 5 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.