I guess it's biggest drawbacks are:
- The learning curve (pretty steep)
<>
In my experience, actually using LN has been no more difficult/complex than using a light bitcoin client. What happens in the background is much more complex, however as a user, I have no need to understand the backend if I have already made the decision to use LN.
I believe every wallet, lightning or not, should let you decide which fee to use.i would use 1 sat byte to close the channel, and waiting 5 days would be ok to me.
When you close a LN channel, some of the coin belongs to you, and some belongs to the other party to the channel. If the other node does not want to potentially wait days to access their coin, it will not sign a cooperating closing tx with a low fee. If the other node is not cooperating and you want to unilaterally close the channel, you must use a previously signed tx, including whatever fee rate was set.
Regarding criticisms, the need to keep private keys online and regularly monitor channels limits the appeal.
It is possible to keep your keys in a 'warm' wallet not contained on the same computer as your LN node. You can also keep it in cold storage, however you will need to be signing multiple transactions every time you want to spend coin, so this is not ideal.
<>
Blockchain Vs Lightening Network
Privacy:
Without a doubt the lightening network is far superior to the Blockchain when it comes to privacy although despite some of the criticisms with using one address it has no major trade offs for the improved privacy. Basically when you send a transaction via the lightening network there is little worry to it being recorded permanently on the Blockchain and if it were to get recorded it does not display sources or locations of the funds. One of my favorite things about the Blockchain is it uses a sort of onion like encryption method to nodes so that nodes cant monitor addresses and transactions which is a much improved version over any other implementation of nodes interacting with the blockchain that I have seen.
<>
An adversary who is closely monitoring the state of various LN channels can potentially conclude that channel x paid (belonging to node x) 0.xx btc to channel y (belonging to node y), could conclude that channel y belongs to bitrefill for example, and could use blockchain analysis to conclude that channel x belongs to you. The adversary could conclude this because exactly one channel belonging to your node had its outbound capacity decline by 0.xx btc at approximately the same time several other nodes had exactly one channel both decrease and increase outbound capacity by 0.xx btc, and node y had exactly one channel decrease its outbound capacity by 0.xx btc. The adversary would need to be watching the LN network in real time, and must take very frequent snapshots of the various states of channels; without these snapshots, the adversary will not be able to make these conclusions.
I'm still waiting for the people who keep insisting that "Bitcoins in Lightning are IOUs". They're not posting so far, I believe maybe they have given up on that propaganda.
Merriam Webster defines an IOU as something that 'is given as an acknowledgement of debt'
If you open a LN channel with inbound capacity, and receive a transaction, when the channel closes, you will receive an on-chain tx for the amount of the transaction plus the amount you funded the channel with (less any payments you sent). For this reason, I understand why some people may believe that LN channels are IOUs, however if you were to stipulate they are IOUs, you must also state that it operates very differently than traditional debt.
With a LN channel, you always have a signed transaction enabling you to receive the full amount you are "owed" at any time, and there are safeguards in place to prevent the other party from taking any of the amount you are "owed".
The term "debt" implies there is a chance you may not receive what you are due, but with LN, this is simply not the case.
My biggest concern about LN is the inability to find a node to open a channel with who will provide capacity for you to receive a payment. In order to receive a payment via LN, you must have an open channel with capacity to receive the amount of the payment; this means you must have either already spend a similar amount on other LN payments, or someone else has opened a channel with you and funded the channel with their own money in amount at least that of the payment. Today, there are several services that charge a few percent of the inbound capacity they provide, but this is not ideal unless you will be both receiving and spending many transactions on that channel.