Comment by Prodigga on 07/01/2018 at 02:29 UTC*

12 upvotes, 3 direct replies (showing 3)

View submission: ⚡ Lightning Network Megathread ⚡

Alice and a coffee shop have a channel, Bob and Joe have a channel, Joe can't buy a coffee just because he and the coffee shop both have "a channel with someone on the network". Bob would need a channel with Alice to bridge the gap between the coffee shop and Joe. So when Joe makes a purchase, his purchase is routed from Joe>Bob>Alice>Coffee shop.

Assuming... of course...the channels between Joe and the Coffee shop have enough funds on "Joe's side of the channel" to purchase the coffee.

And what if Alice had paid the steep Bitcoin transaction fee to open the channel with the coffee shop and she had initialised the channel with just enough money to purchase 5 lattes.. if Joe purchases a latte and his purchase is routed through Alice, doesn't this use up one of Alice's lattes?

Could Alice rock up to the coffee shop on day 5, attempt to pay, and realize there's no money left on her side of the channel?

She'd have to micromanaging how much she has left with every retailer she opens a channel with.

Maybe she just opens a big channel with a major hub, which most retailers are connected to.. No more micromanagement.

So how does a retailer join this hub? My tiny coffee shop wants to join. The hub would have to be the one who opens a channel with my coffee shop and they would have to front hundreds, probably thousands of dollars to make sure the channel has enough money in it to handle hundreds of latte purchases. The channel only runs one way (people buy coffees, and there are no refunds) so eventually the channel will need to close (once all the money has moved over from the hub to the coffee shop).

Honestly I am worried, lighting sounds awesome on paper but it just sounds like an absolute mess in practice. Hopefully someone can shed some light on these concerns.

Replies

Comment by TheGreatMuffin at 07/01/2018 at 13:39 UTC

2 upvotes, 1 direct replies

if Joe purchases a latte and his purchase is routed through Alice, doesn't this use up one of Alice's lattes?

I actually am interested to understand that. So say Joe has a channel to Alice, and Alice has a channel to Bob. Everyone has 1 btc on their side. Joe sends a payment of 1 btc to Bob, which gets routed through Alice. So the new state of the network is: Joe has 0 btc and Bob has 2 btc (his original + 1 btc from Joe). Alice still has 1 btc, but is that btc still usable on her channel with Bob or does she need to close her channel with Joe, and then transfer that 1 btc to her channel with Bob in order to be able to pay Bob again?

Comment by LightShadow at 07/01/2018 at 08:13 UTC

1 upvotes, 1 direct replies

In your scenario someone else can spend my money? That's scary AF.

Comment by SkyNTP at 07/01/2018 at 08:39 UTC*

1 upvotes, 0 direct replies

There's only one, giant network. You open a single channel with anyone on the network and you can relay a transaction to **anyone** else on the net. This idea of having isolated channels or having to open a new channel to each other person you want to pay is nonsense.

To answer your specific query, balances can shift from one channel you control to another, but you still control those channels. If you can't afford to have those channels open, don't open them to start (or don't accept them). As for the economics, well, it sacrifices a bit of decentralisation for massive improvements to privacy and scale. Plus it's optional, so I don't get all the FUD.

Don't believe me? Cool. Get some testnet bitcoins from a faucet, install Eclair, open a random channel with anyone found on the testnet explorer, and start sending payments right now.