In November, I realized some Core BTC devs don't understand the LN. Other influencers agreed with me, some in private, some publicly. These questions arose from that confusion, in an attempt to clear things up once and for all.
-
If Alice and Bob want to transact, they need to open a channel, and they need to agree on max amount to transfer through that channel. This requires a transaction. To finalize the transaction so they can spend the BTC outside of their channel, they need to close it so their on-chain balance updates and so they can send BTC onward into other channels. Closing also needs a tx. How, then, is it sensible for Alice and Bob to transact this way, instead of what they can do now - use one single transaction?
-
A common argument against the above is "you'll have middlemen through which many channels will go and form a mesh". My question is twofold:
- a) how is it that this does not scare you? If LN becomes super popular and all of BTC is routed through like 5 major hubs (like currently 60% of all BTC transactions are routed through only 3 ISPs) and then govt tells the hub "OK do KYC now and tell us everything" or the hub becomes so monopolistically corrupt it starts charging absurd middleman fees (because they can), how do you solve this hypercentralized network's problem then?
- b)
even a channel with a middleman has to be closed once. If you have one big mesh of LN payments, and another unconnected one, you need to close the first one fully before being able to participate with the other one. But you cannot close just one tentacle of a hub - ALL must close because everyone's balances need to be consolidated because everyone chipped into the channel's max transfer volume. So it's impossible to close and release just one node out of the system. The bank can therefore say "No, we're not ready to close yet - we close once per week and consolidate then, wait until Friday to get your BTC and have it sendable elsewhere".- turns out this is wrong, my bad, channels can now be closed individually, a hub doesn't have to close all channels. It's still expensive to close them. There is still no way to top-up a channel without a transaction.
-
A common argument is the "I don't need coffee logged". This, too, is DOA. If I open a channel with Starbucks for 0.5 BTC, that means we both chipped in 0.25 BTC, presumably, because the transfer capacity of the channel (unless topped up, which again needs an on-chain transaction) is "fed" by both (all) parties involved. This begs the question - how many of such channels will you open? If I want to buy coffee that one time I'm in NY, do I open a channel? And for how long? Who closes it, and why would I pay the enormous closing fee? And most of all, how many of such channels can you afford to keep open? Will you open a new 0.1BTC channel with every starbucks you visit thereby locking up your money in every new city until the channel is closed? Do you keep it open forever just on the off chance you once end up there again? People say that StarBucks will be a hub and connect to all its customers, but again, no, it won't, because it can't add new ones into an existing channel without a tx, and cannot remove old ones without closing the channel. So it has to either open new channels, or close the old one completely, all the time. Every single SB has to do this separately. This is unscalable, unsustainable, and economically insane with current TX fees.
-
How do you deal with the "offline problem"? If a node goes offline for a while, a consolidation mechanism kicks into place. How do you deal with the fact that, for example, Turkey can block all BTC protocol traffic, or USA can, under new Net-Non-Neutrality laws block p2p money traffic, and the chains across the globe can lose connection? Who pays for those enormous damages, especially when it's huge entities that lose connection, each of which is handling 100k users?
-
How does it not worry the people who love Bitcoin that the only currently proposed scaling solution to their favorite "decentralized" currency is being implemented by a private company (Lightning labs) who have it in their best interest to never see another solution work?
Addendum:
- I use the term "bank" loosely. It can be an actual bank which embraces crypto, it can be a popular exchange, it can be a powerful solo player, doesn't matter.
- I am open to having my mind changed by objective reasoning. I'm open to the possibility of having gotten the whitepaper wrong, but in that case I would like you to point me to the exact line in the WP which refutes my theory.
- When thinking about Bitcoin, if your answer to the hypothetical question "what proof would it take to convince you it's hopeless" is "none", then you're a maximalist and aren't interested in discussing, but want to push an agenda. These questions are objective curiosities I'm seeking answers to, so that I too can start believing in the much advertised LN, or so that others can see the problems in it and fix it before it's too late.
- I am not anti crypto. I run a crypto company for smart contract development, enterprise consulting, and crime investigation. I also run an altcoin brokerage. I have several dozen cryptos in my folio, and that includes both BTC and BCH. I think both are terribly, terribly flawed. What I'm trying to find out here is why people don't think the LN, in its current iteration, doesn't agument these flaws even further, given what I outlined in the questions.
This represents a fundamental misunderstanding of how LN is supposed to work. Alice and Bob create a channel not just for direct transactions between Alice and Bob. Once they create a channel, Alice can route payments to other recipients (including those she has never met, transacted with only once, and never created a channel to) through the channel to Bob and the channels he has created. And also receive payments.
LN can work either as a mesh or in a hub model.
In the mesh model, ever user opens channels to, say, 20 peers among the entire world population. The graph will be connected and there is no way for government to shut it down.
In the hub model, there will be, say, 10000 hubs connected between themselves, and each user will open a channel to 10 of them. Government will still find it difficult to shut them all down, and in case of problems the user can simply close the channels and reclaim the money. That's a huge difference from traditional banks and hosted wallets.
What you're also missing is that "Govt says you must do KYC" problem applies to raw Bitcoin too! They can go to nodes and tell them "you're broadcasting financial transactions, do KYC or shut down". The solution is to have too many Bitcoin nodes and too many Lightning hubs for this to be practical. Since starting a hub is so easy, no reason it shouldn't be this way.
Again, you're not opening a channel with a coffee shop just to buy coffee from that shop. You're opening a channel to be able to route through it many, many different payments to different people.
Raw Bitcoin also doesn't work if there's no internet connection, not sure how that is an argument against LN. If you are still connected but a channel peer is disconnected from the network (both Bitcoin & LN) you don't lose money, you just close the channel. Also, by taking payments off-chain, Bitcoin nodes become smaller and harder to detect and shut down.
There are several independent teams working on LN implementations. It's all open source. And it uses raw Bitcoin transactions as a foundation - it's not like the implementation can somehow steal my money, force me to do things I don't want, or affect people who do not use LN. I don't see how it is in any way relevant what these teams' best interest is.