paint-brush
Them Lightning Network Nodes Sure Do Look Centralized To Me! What Gives?by@stopanddecrypt
6,710 reads
6,710 reads

Them Lightning Network Nodes Sure Do Look Centralized To Me! What Gives?

by StopAndDecryptMay 7th, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

<strong>Person A:</strong> Look at the Lightning Network, it’s amazing &amp; it’s growing so fast!

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Them Lightning Network Nodes Sure Do Look Centralized To Me! What Gives?
StopAndDecrypt HackerNoon profile picture

(It’s just your eyes playing tricks on you)

Person A: Look at the Lightning Network, it’s amazing & it’s growing so fast!

Person B: Look at those central hubs, doesn’t look that amazing to me!

Person C: Well, Lightning is still in its infancy, people don’t want to “risk” their Bitcoin on the off-chance the software glitches. Or maybe they just want to wait until they can actually use it for something they specifically find useful, which doesn’t exist yet because these kinds of things grow organically, and merchant adoption will take just as much time as Bitcoin originally took.

Person B: No you don’t understand…LOOK at those HUBS, just look! You can SEE them! They’re right there! *proceeds to circle them in MS Paint*

This is a reoccurring sequence of events, and it’s gotten to the point where I figured I should just throw something together that people can reference when this comes up. It happens so often because it’s easy to do, and it appeals to the lowest common denominator of people: People who have no idea what they’re looking at, even if they think they do.

https://rompert.com/recksplorer/

The easiest way to counter pictures that do things like this is to mention what I said on that Reddit post above, that it’s a visual illusion. Then demonstrate that visually, so people see what you mean, just like they saw the original incorrect information. I’ve done it a few times already, but I never have the last one handy, so I always end up doing everything below again. This time we all have this article handy.

So does the “hub” below stand out at all prior to me highlighting it?

Zoom in to see what I mean.

No? Well what about this “hub”:

Zoom in to see what I mean.

Both of these are equal in size or larger to the ones that stand out that are circled above, but you can’t see them at all unless you select them. The fact of the matter is, this network graph actually does a really terrible job of presenting the Lightning Network to you. It’s pretty and fun to play with, but it does everyone involved an analytic injustice. I’ve made multiple fragmented attempts in the past to reconcile this, but nothing has been solid and void of critique. My first attempt to redistribute the network topology in a digestible format was when the network was rather small, and it was kind of just thrown together during some downtime I had. I wanted to draw attention to the fact that a single node going offline would have a very marginal effect on the “net”work that routes payments.

https://twitter.com/StopAndDecrypt/status/957301236814024704

There was some blowback from people who tried to claim I was misrepresenting the networks topology. Primarily this one where the accuser is actually guilty of doing what they accused me of, by completely misrepresenting the starting state of the Lightning Network graph before I reorganized it into a circle:

www.reddit.com/r/btc/comments/7tjeon/misleading_ln_graphs_no_nodes_i_dont_think_so/

I tried to reply, but the only thing that makes it out of that subreddit is propaganda. If you go there to defend yourself it’s a losing battle:

I ended up redoing that diagram and added some labels for clarity, where I make that same effort to show that there are many other nodes with a lot of channels, but they just don’t stand out.

https://twitter.com/StopAndDecrypt/status/959557939144085504

This one ended up getting a lot more attention, but it too came across criticism. This particular user demanded I only represent the data in a non-visual way, completely missing the point I was going for. People are getting mislead by their eyes, and the kinds of people that get mislead this way are susceptible to coming back around when their eyes are shown the same information in a different way. There’s a good amount of people who just won’t care about the numbers you push in front of them. When they see something like this, ideally, they realize they were being deceived or the information was being misrepresented and are now neutral minded on the subject again. But you can’t satisfy everyone:

https://www.reddit.com/r/Bitcoin/comments/7uvdej/hubs_annotated/dtoaq5t/

To be completely fair, this user actually presented some useful data that shows the network improving with time. The 1st is the original, and the 2nd is one I requested that excluded nodes with a single channel from data, much like my “infographic” did. In the future, you’ll either be using a Lightning wallet, or running a node that routes. The one you choose is up to you, but the important data in this regard won’t be the majority who opt for 3rd party support/access to Bitcoin (like Coinbase users now), it will be the set of nodes that are routing, and the amount of them that exist that matter (similar to Full-Node maintainers now).

https://www.reddit.com/r/Bitcoin/comments/8jzlzo/less_memes_more_data_ln_becomes_more_distributed/

So I eventually tried a slightly alternative approach and went with a video, hoping that this would really help show just how many “hubs” there were. The data above, while nice, still doesn’t do what I was aiming to do. Here’s a simple question you can think about while watching the next clip: If there are 10,000 different Lightning “hubs”, will you still call the Lightning Network centralized?

Pointing and saying you can see the hubs forming is a low-level argument that I like to believe that video does a good job dismissing, but I decided I was going to go even further and completely remodel the network. Every Lightning node maintains a list of nodes and channels that exist so they can effectively route payments when they receive an invoice. The network explorer above uses this same list to render its graph, so I pulled that list from my Lightning node and plugged it into a program called Gephi, where I was free to manipulate it to my liking.

I did a couple different variations. This was the best one in my opinion:

Full Resolution: https://upload.wikimedia.org/wikipedia/commons/9/98/Bitcoin%27s_Lightning_Network_Visualization.png

There’s a couple things going on here that really define the differences between this and node explorer from earlier. Let’s go over them:

Nodes with only 1 channel are green, and if there are many of them connected to the same node, they bundle up into groups. I particularly like this because it moves them out of the way so they aren’t scattered randomly throughout the graph. It also helps highlight which nodes are popular to initially connect to. For example, Blockstream’s node has a lot of peers that have only opened channels with them, likely because there’s a tutorial that points to their node, and they have a Lightning store you can purchase from.

Larger nodes are no longer hidden. You can see all of them, and they’re more appropriately distributed in the center. They’re sized in proportion to the amount of channels they have open (will touch on this later), and are all distinctly red. You can call them hubs if you want, but as time moves forward this distinct set of nodes will continue to grow. You won’t be calling them hubs when they’re in the thousands.

— — — —

This next one is a much better retake of the “hubs” infographic, with some extra information. The nodes are ordered & colored by the amount of channels they have, and the channel width is scaled to represent how many duplicate channels exist between two nodes. You’ll see in the bottom right of the image, there’s a single node with many duplicate channels with three other nodes. If I recall correctly, it had 18 channels opened with that node that’s sitting outside the perimeter.

— — — —

This final one I’m going to show is similar, but it stacks all nodes with the same amount of channels on top of each other. You can see the column of nodes with a single channel, nodes with two channels next to it, and so on. You can also see that the distribution of total channels is forming a sort of natural curve among the set of nodes. Take important note of this kind of distribution, because it’s always going to exist, and it’s not a bad thing.

— — — —

At some point when the network has matured and is sufficiently large enough, any reasonable person has to give in and finally say “okay fine, there’s a ridiculous amount of nodes with many channels”. If you’re a bit keen you might ask: But how many of those channels have an amount of funds worth considering? What about wealth centralization? Is the Lightning Network susceptible to being controlled by the wealthy?

Firstly: At least you’re now dismissing the silly “look see!” arguments.

Secondly: No. Wealth distribution among nodes is going to look very similar to channel distribution. If you’re unfamiliar with the Pareto distribution, let me start by showing you some charts.

https://twitter.com/michaelbatnick/status/1019680856837849090

This tweet circulated a bit on Twitter recently, and I think it does a really good job at highlighting the problem with highlighting (I fell for it like an idiot). Complaints made about distributions tend to appeal to the minority groups within that distribution (or outside and feel excluded) that believe the distribution is unfair. There’s two sides to situations like this. On one end sometimes the distributions are unfair, like when the gap in the middle class keeps widening due to bad economic policies, or when the barrier-to-entry into a market is artificially high due to regulations imposed by the government. On the other end, sometimes the distributions are entirely natural, and there’s absolutely nothing wrong with natural distributions. The problem arises when people have an agenda or a fundamental misunderstanding of the way things are, and they try to make natural distributions, and the people who are okay with them, seem like the villain. Typically this is done by appealing to those who don’t know what they’re looking at. Much like circling arbitrary nodes that happen to stand out on a network graph, pie charts that don’t include 100% of the data are extremely misleading. It’s like having a good economy, but then hiding the middle class from your data and saying “look at the huge gap in the middle class”.

https://twitter.com/JackGavigan/status/1019897751788769280

This is what a Pareto distribution looks like, but to make my point we need to go over some fundamental things about Lightning technology first.

  • Lightning wallets are not Lightning nodes, they don’t route.
  • Every route is encrypted. Routing can’t selectively censor. No government can make “Facebook” not route just your payment.
  • Your wallet can open a channel with any node on the network, not just the top 5. You’ll never be dependent on the nodes at the top.
  • If “Apple” dropped off, the Lightning Network doesn’t care. There will be thousands of other nodes routing payments around.
  • There are no regulatory barriers-to-entry for running a Lightning node. If you want to run one and route payments, you can.

Here’s a hypothetical. Let’s say I want to run a Lightning node, fund it with $500, and start routing payments. I am by no means the Apple of the Lightning network. I’m a small fry. That S&P distribution chart above? If you made a pie chart of all the Lightning network nodes channel funds, I’d be way down in the bottom percentiles. But here’s the kicker, all I have to do is find the two most distant nodes on the network and connect them. Now I have an in-demand route and I’m collecting micro-fees.

Let’s say someone else comes along and does the same thing. They find the next two most distant nodes on the network and they connect them. How long does this process get repeated by individuals? Anyone can come along and start up a “low-funded” node, find the two most distant nodes on the network, and connect them by opening channels with both of them.

You can’t criticize a Pareto distribution of wealth (unless it’s unnatural due to external factors, kind of like what Bitcoin tries to solve by being sound money), but you can try and criticize what it will imply for the Lightning Network. When people point to “hubs” (which we’ve already determined there will be thousands of) in a critical manner, they try to somehow argue that we will be dependent on them to route our money around. Even that “failed route chart” above focuses on this by trying to show how many routes fail when removing the “top nodes” from the network. If there is demand to route payments between two non-connected nodes, someone will connect them.

I mean let’s be real here…do you think I wouldn’t connect them? There’s multiple benefits in it for me. I can collect fees and simultaneously help the Lightning Network become more interconnected. Why wouldn’t I do that? Granted, I can’t go around connecting every node, but I’m certainly not the only person on this planet looking for a financial opportunity. This network is going to grow like a plague and only become more interconnected with time. The incentives are essentially built in and there’s nothing anyone can do to stop it. They see a few economic hubs of wealth, and I see thousands of them:

*not made from real data*

/end


StopAndDeathcross [200/365] (@StopAndDecrypt) | Twitter_The latest Tweets from StopAndDeathcross [200/365] (@StopAndDecrypt). Full-Stack Social Engineer. somewhere routing…_twitter.com

Here’s a variety of updated Lightning Network graphs as of 7/30/2018.

I challenge you to circle the hubs.