Can someone please explain how Lightning paths are working and what effect large centralized hubs have? Can someone please explain how Lightning paths are working and what effect large centralized hubs have?

Dear community,

I have read some stuff about lightning and i am really interested to understand these questions, hope someone can help:

1)  this interesting article here https://hackernoon.com/them-lightning-network-nodes-sure-do-look-centralized-to-me-what-gives-ee39c9b12ac0 

basically it says that lightning wont be so "centralized" in the future.

Now, i am struggling with that conclusion.  If you want to route a lightning payment via your node, your channel(s) must hold at least a balance of the to-be-routed amount, right?  If not, your node by definition cannot be chosen as a potential routing path.

So, in the future, when we dream about mass adoption: in the financial markets space, where many large amounts will be transacted: Only a few "big" corporate nodes with large balances in their channels, can be chosen for routing  of large amounts, right?

Or is there an algorithm in place, where an amount of for example 100million could still be routed via a list of channels held by multiple nodes (sort of "hopping" through multiple channels until you arrive at 100million - for example 10+10+10+10+10+10+10+10+10+10)

Or is the lightning putting you always to a direct path to the ONE single channel that has the 100million available as balance?

Oh dear, I realize how messy my question is. Hope you understand what I want to know:)

2)  Second, I would like to know how the lightning algorithm is deciding via which channels/nodes to route payments?  Because many articles say that like 0.6% of all Lightning nodes are routing like about 85% of the overall lightning payments. And those 0.6% happen to be the ones with highest "capacity"

Why is that? Why not more evenly distributed?  And what is the meaning of "capacity"

I refer to this article, the table at the very end:
https://medium.com/coinmonks/bitcoin-lightning-network-run-your-node-at-home-for-fun-and-no-profit-da5b61be2ba9

3) What roles play WatchTowers in the future? And what influence could they have regarding (de)centralization of lightning?

4) Is there some sort of "penalty" in place when a node withholds a payment or does not route a payment? Or are these technically  non-valid scenarios?

5) Censorship:  How is transaction censoring possible in lightning ecosystem?
What are the scenarios here, and any preventing mechanisms planned/already in place?

An article in https://news.bitcoin.com/lightning-network-centralization-leads-economic-censorship/  writes:

""
A large miner (or even a majority cartel of miners) cannot effectively censor your transactions, because ANY miner can include your transaction in a block.
But the same is not true for LN hubs. They can effectively censor your transactions, because NOT any hub can route your payment.

Example: Megabank “A”, “B”, and “C” all decide to become Lightning Hubs. They all acquire customers and have channels open between the 3 banks. This allows customers from any of the banks to send money to other customers of those 3 banks.

You, being a freedom-loving individual, decide to open a channel with an anonymous hub known only as T35G7. Guess what. Megabanks A, B, and C don’t want to open a channel with T35G7. So you can’t send to any of their customers since there’s no available route.
""

6)  Finally, at the end of the day, my basic desire is to understand in what extent , within what ramifications, CAN Lightning become a highly centralized ecosystem, instead of a highly decentralized one.

Thanks so much for any helpful explanation:)
If you want to route a lightning payment via your node, your channel(s) must hold at least a balance of the to-be-routed amount, right?  If not, your node by definition cannot be chosen as a potential routing path.


yes this is true. If you don't have enough bitcoin to forward you cannot forward a payment.


  So, in the future, when we dream about mass adoption: in the financial markets space, where many large amounts will be transacted: Only a few "big" corporate nodes with large balances in their channels, can be chosen for routing  of large amounts, right?


I believe that the many large amounts is a strong assumption. I believe the amounts of financial transactions should be Zipf distributed with the vast majority of transactions being small and only a few transactions being large. 
In the latter case (which is the one you ask about): if you want to transact a large value just open a new payment channel to the recipient (which with wumbo channels will be possible in the future). It is useful as they can spend the amount then. Also you could do it offchain but no need to.


  Or is there an algorithm in place, where an amount of for example 100million could still be routed via a list of channels held by multiple nodes (sort of "hopping" through multiple channels until you arrive at 100million - for example 10+10+10+10+10+10+10+10+10+10)


Also note that in the future AMP (atomic multi-path) routing will be implemented so that large payments can be split into various small payments. It is well known how to implement AMP and it is part of the BOLT 1.1.


  Or is the lightning putting you always to a direct path to the ONE single channel that has the 100million available as balance?


Path selection is not part of the lightning network protocol. It really depends on the implementation or even on you as the user as you are allowed to specify a path.


  Second, I would like to know how the lightning algorithm is deciding via which channels/nodes to route payments?  


see above. Generally people try to find shortest paths that are likely to have enough liquidity.


  Because many articles say that like 0.6% of all Lightning nodes are routing like about 85% of the overall lightning payments. And those 0.6% happen to be the ones with highest "capacity"


Many articles?

The last statement doesn't seem provable to me. Since onion routing makes payments private, we would only know for our own node which routes we have taken and how many payments we have forwarded. While it is likely that most routes go through high capacity nodes the exact numbers are pure speculation. Could be more could be less.


  Why is that? Why not more evenly distributed? 


I'd say because currently only a few people have been #reckless enough to provide large liquidity to this cutting edge technology in which due to potential software bugs one still could lose funds.


  And what is the meaning of "capacity"


Capacity is the amount of bitcoin sent to the 2-2 multi-sig wallet that is used to anchor a payment channel. This should not be confused with the balance which are the two outputs in the secret commitment transaction from that 2-2 address. The balance is sometimes referred to as inbound and outbound capacity but it is only known to the channel owners.


  3) What roles play WatchTowers in the future? And what influence could they have regarding (de)centralization of lightning?


Watchtowers have been proposed as a service in which a third party monitors your channel state and helps you to make sure that your channel partner does not try to steal BTC from your channel by publishing an old state. In general it makes the lightning network safer to use. If that incentivises high capacity nodes to provide more liquidity or low capacity nodes to provide more liquidity we cannot say and is pure speculation.

btw, please be specific what you mean when you talk about "centrality". My feeling is that you mean nodes having high liquidity. I would much more prefer to talk about betweenness centrality.

Also keep in mind that the bigger issue with watch towers is that they might gather so much information about ongoing payments that the privacy of the lightning network is at risk.


  4) Is there some sort of "penalty" in place when a node withholds a payment or does not route a payment? Or are these technically non-valid scenarios?


Short answer: Not really.

However, holding a payment up to the maximum CLTV_delta means that you cannot use that liquidity in your HTLC output to route other payments. Which means the node will earn less fees. So, economically a node is incentivised to route a payment as quickly as possible. 

However, if a node wants to act in a delaying way to disturb the network it can do so. It is up to the nodes who are connected to that node to track such behavior and close their channels or to the sender nodes to not select this particular node for routing.

Also, keep in might that a node can at max hold 483 HTLCs per payment channel. So, you could only delay a small amount of transactions if you want to delay them for a long time.


  5) Censorship:  How is transaction censoring possible in lightning ecosystem?
  What are the scenarios here, and any preventing mechanisms planned/already in place? An article in https://news.bitcoin.com/lightning-network-centralization-leads-economic-censorship/  writes: "" A large miner (or even a majority cartel of miners) cannot effectively censor your transactions, because ANY miner can include your transaction in a block. But the same is not true for LN hubs. They can effectively censor your transactions, because NOT any hub can route your payment. Example: Megabank “A”, “B”, and “C” all decide to become Lightning Hubs. They all acquire customers and have channels open between the 3 banks. This allows customers from any of the banks to send money to other customers of those 3 banks. You, being a freedom-loving individual, decide to open a channel with an anonymous hub known only as T35G7. Guess what. Megabanks A, B, and C don’t want to open a channel with T35G7. So you can’t send to any of their customers since there’s no available route.
  ""


No, this is not true. While Megabank A, B and C could decide not to route a payment that you initiate to T35G7 this will be hard in practice. First, every single "Megabank" does not know that this is a payment from you to this node unless the route looks like this You--&gt; A --&gt; B --&gt; C --&gt; T35G7 AND the Megabanks share all their information. In that case, you could see the banks as one node and the path looks like that You--&gt; MEGABANK --&gt; T35G7. In that case, yes, MEGABANK could refuse to forward a payment but it does not even know that You wanted to pay T35G7 because the route could actually look like this: some sender --&gt; .... --&gt; You --&gt; MEGABANK --&gt; T35G7 --&gt; ... --&gt; some receiver. 

Also, what those described megabanks certainly cannot do is to prevent you from opening a direct channel with T35G7 which is the thing you should do anyway if you can't find a route on the network.

BTW the absurdity of the described scenario could also be transferred to Bitcoin mining if you have a cartel of bitcoin miners. Because that cartel could just agree to not mine on top of the blocks from other miners which includes such a transaction. If the cartel is a real cartel with more than 51% of the mining power, they can effectively censor any transaction...


  6)  Finally, at the end of the day, my basic desire is to understand in what extent, within what ramifications, CAN Lightning become a highly centralized ecosystem, instead of a highly decentralized one.


The lightning network is a protocol on top of bitcoin. It is a well-known set of rules for people that consent to use Bitcoin in a certain way. In that sense, it is totally optional and always boils down to Bitcoin. Payment channels really are just 2-2 multi-sig wallets in which your funds are not locked as they can (under good circumstances) be moved around without the necessity to wait for Bitcoin miners or the blockchain or and empty mempool. 

I always compare the lightning network with the world wide web. It is an open permissionless standard that anyone can participate. Might there be some "megabanks" providing high liquidity and utility which become dangerous. Certainly. The same happened with the Web and the emergence of huge Web companies that have integrated extremely deeply into our everyday live. However, it is always the choice of the user to use such actors. The lightning network itself like the Web is a decentralized technology. This does not prevent central services to emerge but as said they don't have to be used and certainly don't control the technology or the protocol. 

So, I really hope I could bring some light to all the paranoia that is being spread by some people...