In our first blog post of our Lightning 101 series, we described What the Lightning Network is. Today we are going to talk about Lightning Network Nodes.
Here are four high level topics we will cover
- What does a Lightning Network node do?
- How is a Lightning Network node different than a bitcoin node?
- Who is building Lightning Network nodes?
- Why it matters to you
What does a Lightning Network node do?
A Lightning Network node has two responsibilities.
- Monitor the underlying blockchain (bitcoin)
- Interact with other Lightning Network nodes to transact money
Every Lightning Network node must monitor the blockchain(s) that it holds tokens on. When talking about the Lightning Network, most people implicitly mean “The Lightning Network running on top of the bitcoin blockchain.” What they leave out is the fact that the Lightning network can run on top of multiple blockchains. We will leave the details of how this can be done for a future blog post.
Due to the way the game theory is played within the Lightning Network, it is imperative that a Lightning Network node monitors the underlying blockchain it holds tokens with. If the Lightning Network node does not do this properly, funds can be stolen from you.
A Lightning Network node also interacts with other nodes on the peer-to-peer network. When talking about Lighting, you need to remember there are two separate networks we are interacting with.
- The blockchain’s (bitcoin) peer-to-peer network
- The Lightning peer-to-peer network
The Lightning p2p network is where money is transacted on the Lightning network. It is a Lightning Network node’s responsibility to exchange money with other Lightning nodes. This is done with Lightning channels which will will talk about in a future blog post.
Each Lightning network node is responsible for keeping track of who has what in the channel. It is very similar when you go to the bar for a drink and the bartender takes your card as a collateral — but does not swipe the card until you are finished drinking. In this analogy, the computer that the bartender is entering your drinks into is doing the exact same thing as a Lightning Network node. When you want to leave the bar, the bartender swipes your card. When you want to leave a lightning network channel, you cash out to the blockchain.
How is a Lightning Network node different from a bitcoin node?
A bitcoin node and a lightning node differ in a few key ways. The biggest difference is that a bitcoin node must verify every transaction on the bitcoin network. A Lightning Network node must check the validity of transactions that it is directly interacting with.
Using our bar analogy from above, if the bartender was using a “bitcoin node” for their computer software, this software would have to check how many drinks people in New York City, Beijing, Sydney, and Oslo have ordered and that they have paid. If one person hasn’t paid, no one else can order a drink.
This is obviously silly. With the Lightning Network you are only concerned about your own tab with your own bar. This is much more scalable and also gives you privacy. Now people in Beijing can’t see if you are drinking a Cosmopolitan or a Budweiser.
Who is building Lightning Network nodes?
There are three main teams building Lightning Network nodes currently
It is important to note that all three implementations are following the same protocol. That means they will be able to talk with each other and you won’t have to worry about vendor lock in. All three teams have worked on implementing the lightning specification.
Why it matters to you?
A Lightning Network node is your “gateway” into the Lightning network ecosystem. To be able to do anything on the lightning network, you need to be running a node. This will give you access to fast, cheap, and private payments on top of a blockchain like bitcoin’s.
The Lightning Network also facilitates an efficient way to use “payment as authorization”. This means if you have paid with the Lightning Network, you are automatically authorized to view this content. This is what Suredbits does with our data sets.