I can't remember where I read the article/post but it brought up many good points I hadn't thought of before.
Lets say we are processing all of visa txs on LN. There are 40 million merchants accepting LN payments and at the end of day just 1% of them settle to main chain. This would cause an additional 400,000 txs to the main chain, which we cannot do.
Is the argument that merchants wouldn't settle to main chain? To me it seems like we still need to get on-chain txs to at least 100/sec to have any chance at real world usability. (100 was just a rough calculation)
What am I missing in this scenario?
Sure, at the moment a block is limited to 1 Mb, excluding the witness data (in case of segwit wallets). At the moment, i estimate an average sw transaction to be around ~200 bytes, so the number of transactions/day could be
(1000000*6*24)/200 = 720.000 transactions per day (mind you, this is a very, very, very raw estimation i made without looking up references or completely thinking about all possible factors).
A lightning channel has to be opened and closed by an on-chain transaction, so if more than 360.000 channels are opened (and respectively closed) per day, all blocks could potentially be filled by opening and closing transactions.
However, if i open a channel, i do plan on creating more than 2 lightning transactions using this channel before i close it, otherwise i would have just used one or two on-chain transactions... So if everybody only used the LN (so all transactions in all blocks from now on were solely for the purpose of opening or closing channels) and all lightning channels were used to create/pay at least 3 lightning invoices, the overall throughput of the bitcoin network would increase by 50%.
PS: there is no need to have your closing transaction in the very next block. Lightning transactions are almost instant, and there is no need to close a channel after your lightning invoice got payed. If you wish to close your channel, you can do so whenever you want, but preferably you'd wait untill there was no more use for the channel.
A (simplified) scenario (using simplified terminology, and disregarding fees and stuff) like this one would be perfectly fine:
1) you find a local seller of dog food, he accepts BTC and has an LN node and is properly setup to generate lightning invoices
2) on the 1st of may you open a channel to this seller, the opening transaction has a value of 0.02 BTC
3) from now on, you use the channel to the seller to buy 0.0005 BTC of dog food from this seller every single day
4) on the 31st of may, your "side" of the channel has (0.02 - 31*0.0005 BTC) = 0.0045
BTC. The seller's "side" has 31*0.0005 BTC = 0.0155
BTC5) at this point, you decide to switch sellers, and close the channel, the closing transaction funds your address with 0.0045 BTC, and the seller's address with 0.0155
BTC. A miminum fee is required, but there is no need for this closing transaction to be included in the next couple of blocks (unless either you or the dog food seller is in a hurry).
Without the LN: 31 transactions
With the LN: 2 transactions
Risk to the seller: neglectible, even when the channel was open for 31 days
Risk to you: neglectible
Sound like we saved on a lot of fees, and a lot less data was permanently stored on the blockchain