The lightning network will not work. Yes, you can run a node and connect to ACINQ's lightning hub (called endurance), and you can even buy coffee at https://starblocks.acinq.co, their lightning demo site, but that demo was designed to be misleading. The only reason it works is because the endurance hub has locked up its own funds in a channel with Starblocks -- and it's no surprise that it did, since both are owned by the same company.
Let's say I wanted to set up a competing coffee shop, Starbricks (now with a brick of coffee in every cup!) I could certainly connect my own lightning node to the endurance lightning hub, but no one could pay me through that hub because the hub would first have to commit its own funds to its side of a payment channel with me. It won't do that, and I have no way to even ask it to, so I can't get paid unless every buyer opens a channel with me directly. And if they did that, it would be slower and more costly than just sending a Bitcoin transaction in the first place.
>I could certainly connect my own lightning node to the endurance lightning hub, but no one could pay me through that hub because the hub would first have to commit its own funds to its side of a payment channel with me. It won't do that...
"hubs" are incentivized to open channels, because they can charge fees for any transactions that go "through" them. Locking up some BTC for a short amount of time (roughly 3 days on average right now) to make some fees for routing transactions counterparty risk free doesn't seem like that bad of a deal...
> ...and I have no way to even ask it to...
The protocol has a way to "ask" for a new connection, you don't need to do anything but point your node at a funded address that is willing to accept new channels.
>I can't get paid unless every buyer opens a channel with me directly.
Or a single buyer opens a channel with you, that also has a channel open with that hub, and now you have a path to everyone and anyone that wants to buy coffee from you. Or maybe a single buyer opens a channel with you, that has a channel with another buyer, that has a channel with the hub.
Could you give an example of how to do what you're saying with the current testnet lightning network? Let's say I've installed the client, connected to the endurance hub (or to someone who has a connection to it) .. okay, now what do I need to do so I can get paid through the hub?
If I understood you correctly, you seem to be missing the fact that a hub has to separately lock up money with every node that it's connected to, if that node expects to be paid through the hub. That is an absolutely stunning amount of money for any popular lightning hub. Even if the hub is super-rich and super-benevolent, I have no way of asking it to lock up some funds on our channel, and the hub has no way of knowing that I want to accept payments through that route. If anyone tries to pay me, they'll just get a "no route found" error message even if a route exists, because that route is not funded at every edge.
A single buyer opening a channel with both me and the hub doesn't help unless the hub has funded its side of the channnel with that buyer, AND the buyer has funded his side of the channel with my coffee shop. Now we have twice as much money locked up -- and I still don't see how the hub will decide with whom to lock up its own funds.
>okay, now what do I need to do so I can get paid through the hub?
I don't think any of the main software setups right now allow increasing or setting a fee without recompiling it. They are getting the basics down still, and aren't working with fees really for the time being. At the moment, there are more than enough people willing to lock up their bitcoin for the testing of the network.
>If I understood you correctly, you seem to be missing the fact that a hub has to separately lock up money with every node that it's connected to
yes, but only "directly connected to"
>if that node expects to be paid through the hub.
no.
Think of it like a TCP/IP network. You don't need 20,000 connections to your house to browse the web, you need one connection to a hub, which has a handful in your own house, which connects to a bigger hub, which connects to another hub, which connects to another user/website.
>That is an absolutely stunning amount of money for any popular lightning hub.
I think the meaning of "locked" is wrong in this discussion. When you "lock" up money with a channel, it is only unavailable on the blockchain. The money in that channel is fully available to be spent in lightning network.
If we open a channel together and put in .5 BTC each, we can both spend that .5 BTC to other people on the network.
>Even if the hub is super-rich and super-benevolent, I have no way of asking it to lock up some funds on our channel
Again, the software does. You can set your "hub" to have a chunk of BTC that it is willing to "lock up" and allow it to accept channel open requests with anyone that has your address. And because that money is only "locked" for a few days (unless you want to prolong it), it's not a big deal because you can "get out" pretty quickly (even instantly if both parties are onboard).
>If anyone tries to pay me, they'll just get a "no route found" error message even if a route exists, because that route is not funded at every edge.
it's not a route unless it's funded. If there is a way to link a single line between you and who you want to transact with, it will work. More likely there will be several routes that it can take, and the network will optimize for the cheapest and least amount of hops.
The idea of an "unfunded channel" isn't really a thing, if I want to spend $500, i can "lock up" that $500, spend it, then keep the channel open for free forever. If at some point someone pays me $250, it can go right through that channel, and I can spend it later.
>A single buyer opening a channel with both me and the hub doesn't help unless the hub has funded its side of the channnel with that buyer, AND the buyer has funded his side of the channel with my coffee shop.
The act of "funding" a channel is opening one, so if there is a route, it's funded.
Also, another cool thing that is possible is the idea of "channel factories" where a bunch of people can open a "many to many" channel with one another, then from there can open and close channels in LN without touching the blockchain. This makes your worry obsolete because they can (again, without counterparty risk) open and close hundreds of channels a second if they want within their group, making it so they can open, receive, close, reopen with someone else, receive, close, etc... as much as they want.
That most likely won't happen for quite a while, but it's possible and will further reduce the cost of opening a channel in the first place to about 10% of an on-chain transaction for each party.
yes, it requires a transaction on the blockchain (with TX fees) to open a channel. But once a channel is open, you can keep it open forever (assuming the person you opened the channel with is willing).
Let's say I wanted to set up a competing coffee shop, Starbricks (now with a brick of coffee in every cup!) I could certainly connect my own lightning node to the endurance lightning hub, but no one could pay me through that hub because the hub would first have to commit its own funds to its side of a payment channel with me. It won't do that, and I have no way to even ask it to, so I can't get paid unless every buyer opens a channel with me directly. And if they did that, it would be slower and more costly than just sending a Bitcoin transaction in the first place.