Lightning is difficult to implement. I believe it may be also not always
convenient to use.
First of all, it only makes sense to open a Lightning channel with a
shop if you plan to make purchases there regularly. A network of
Lightning channels needs to be created too. It has its own problems: the
time a transaction takes (by blockchain) is needed to guarantee the transaction.
To open a payment channel, a funding transaction is also required.
Actually, most automated shops with a lot of micro sales don’t need each
and every payment to be guaranteed. For them, to have profit it is
enough to get just a fraction of payments, as long as the expected value
matches the item’s price. No need to say, the amount transferred (and
the buyer’s exposure) is inversely proportional to the probability of
the transfer to get through.
I suggest using probabilistic transactions. They look like standard
transactions but have a low probability of being recorded in the
blockchain. In fact, the automated shop sells goods merely for a chance
of the payment to be recorded. Because most of these transactions do not
make it to the blockchain, they won’t take any space in the blocks. Fees
for probabilistic transactions become probabilistic too.
This is not to say that we should dump Lightning completely, let alone
standard transactions. But everything must be fit for its purpose.
Comparing with standard transactions, probabilistic ones only require
two things added: each should contain a block number and a miner’s good
signature.
A good signature is a signature that satisfies a particular function.
(Instead of a block number, it may be any identifier of the current or
previous block.) To prevent
double-spending, the fee for a probabilistic
transaction should be no lower than the expected value of funds
transferred.