I would like to be able to receive LN payment on online shop. In order to do this and in my understanding, I have to either
wait until my customers fund channels to me, or
find a node that already has many channels and get it connect to me with an ample amount of cap.
This is correct, but there are other options as well. For example, you could open a channel of your own, and spend some funds on LN. Your customers would then be able to spend funds back to you, until your channel balance is pushed back to you entirely.
But to answer your question, I think it is more helpful to consider the situation in this way:
When a user is going to make a payment using BTC, they may consider these two options:
- Send an on-chain transaction
- Open a LN channel (likely, for an amount in excess of the payment requested).
For anyone that wants to transact on LN, there is a requirement to acquire control of a LN channel. So users will have to open channels, and thus I think assuming that opening a channel with your shop is an unnecessary burden isn't quite correct. The first user to interact with your shop will have to open a channel, but then they will reap the benefit of being connected to the LN, in that they will be able to send & receive subsequent payments on the network.
The network's utility should increase greatly as more users join and use it. The bootstrapping phase does present a bit of a 'chicken-and-egg' problem, but any user that is motivated enough to participate will be ready to pay the costs of opening a new channel, so I don't believe it will be a critical issue in the long term. I also see no reason to assumer that 1 LN user = 1 LN channel, in reality I think many users will have multiple channels, as defined by their usage habits.
Perhaps also worth mentioning: viewing all merchants as as 'receive only' entities is probably not perfectly correct either, as I see no reason merchants couldn't also utilize LN to make payments of their own. You're right that LN isn't perfectly suited to a situation of 'making payments to an endpoint, that cashes out to dollars', but I see no reason to assume that all merchants would participate in this way.
"The first user to interact with your shop will have to open a channel" is incorrect if the user can reach me with routing. Let's assume that Alice opens a channel to Bob with 1 BTC fund. Carol opens a channel to Bob with 1 BTC fund. At this moment, Alice can't send LN payment to Carol. The reason is already mentioned above. Even if merchants open channels, it is very hard to receive payment immediately. Even if their channel have some rooms to receive funds, as more users make payment to the merchants, they have to keep/maintain the rooms have enough space to receive funds. – Yuya Ogawa – 2018-06-23T03:43:59.697
I think you misunderstood me a little, sorry. I meant to point out that opening channels is very much a part of using LN, so I don’t see it as a problem for a user to open a channel with your shop if they can’t pay you with an already-open channel. In other words: perhaps the shop doesn’t ‘need to maintain’ their channel capacity. Instead, users will open channels as needed. A shop that also makes payments on the LN would be in a better position. – chytrik – 2018-06-23T06:35:08.113