Lightning Channels and Fees
An overview of Bitcoin Lightning Network Channels, Details, and Fees
Last updated
An overview of Bitcoin Lightning Network Channels, Details, and Fees
Last updated
A Lightning Channel is a connection between two nodes on the lightning network. Channels have a few key properties and limitations:
This refers to how much liquidity (money) can be sent via this channel. In a paired down example where Alice and Bob share a channel with a capacity of 1 BTC, they could send a maximum of 1 BTC between the two of them.
In this same manner, channels can be used to connect multiple nodes together (A <-> B <-> C).
One of the trickier starting points of channels is understanding the role of 'liquidity' and how channels are created.
The creation of a channel requires the entire capacity of the channel to be committed at channel creation. So if a channel of .1 BTC is desired, the funds must all be available from the start.
After a channel is created, the funds then must exist on the correct 'side' of the channel for a payment to be routed correctly between two connected nodes. Back to an example - Alice and Bob are friends and go out for food and drinks on a regular basis. Rather then Venmo each other, they decide to open a lightning channel with $100. If Alice opens the channel to Bob, she will have to commit $100 (in BTC), which is then locked up and seen in an on chain transaction (on the Bitcoin blockchain). Since Alice deposited the funds in the channel, all of the 'liquidity' (money) is on her side. Bob does not have any money, and cannot yet use the channel to send money to Alice. So Alice will have to metaphorically 'buy the first round' and send the first payment from the committed funds to Bob (any amount less than the channel capacity). Once that money has been sent, Bob can then send up to that amount back to Alice, and they can continue in this fashion.
This 'liquidity' issue when bootstrapping channels has led to an evolution of marketplaces that will 'return the favor' and open a channel back to the initiator so that both parties can immediately begin transacting with each other, or routing payments between them.
With the concepts of capacity and liquidity, we can use the Exponential Layers Lightning Explorer to view all channels present on the Lightning Network, and to drill down to specific channels and their details.
Every 20 minutes, node and channel details are collected, and all additions, deletions, and updates are reflected for each node and channel on the network.
Total Channels: The total number of non-deleted channels present in the Lightning Network Graph
Active Channels: The total number of non-deleted channels present in the Lightning Network Graph that have both Nodes and their policies marked as Active.
Total Channel Capacity: The sum of all non-deleted channels and their capacity.
Active Channel Capacity: The sum of all active (non-deleted and with both nodes and their policies marked active) channels and their capacity.
Using the Exponential Layers Lightning Network Explorer, Channels can be filtered using the above definitions and are also searchable via Channel ID. Channels can be searched in aggregate or by specific Node.
Channel Point: When a channel is created, an on chain (Bitcoin blockchain) transaction is created. This on chain transaction and its details can be seen in any Bitcoin Blockchain explorer. These details are linked on the Channel detail page.
Last Update: The last date of update received from the Lightning Network.
Status: (Active, Disabled, Deleted) Active Channels are seen on the network and both nodes have online and active node policies. Disabled channels can occur when a channel has been closed but is still active in the network graph, or when either of the channel's node partners goes offline for any reason. Deleted channels were once opened but do not continue to appear in the network graph.
Node Public Key & Alias: The identifiers of a Node. Each Channel connects two nodes. Alias is an optional field set by the Node operator, and Public Key is unique and identifies a node on the network.
Channel Node Routing Policies: A Channel is the connection between two Nodes, and the operators on each side of the channel have the ability to determine the 'rules' for how payments can be routed through them. This takes its form through fees that each node operator can (dynamically) set.
Node Routing Policy Last Update: The date received from the network graph of the latest node routing policy update.
Node Policy Status: (Active, Disabled) Active Node policies occur when the node is online and operating as an open channel partner. Disabled Node policies can occur when a channel close is or has been initiated or when the node is offline.
Fee Base: This is the minimum fee that a node will receive for routing a payment, and is calculated in milli-satoshis. A fee base of 1000 is equal therefore to 1 sat. If Bob and Alice have a direct channel between them, then no fees are applied. But if Bob is the connecting Node between Alice and Charlie, then Bob can set a fee for routing Alice's payment to Charlie (and vice versa).
Fee Rate (Parts per Million): In addition to the base fee, a node operator can set a percentage of the routed payment as a fee. This is calculated as parts per million (represented in satoshis). If this node routes a 1 Million satoshi payment, it would receive that many sats in return. A PPM of 1000 would receive 1 sat on a 1,000 sat payment routed.
Time Lock Delta
Minimum Hash Time Lock Contract (HTLC)
Maximum Hash Time Lock Contract (HTLC)
This guide just scratches the surface of Channels. Getting channels bootstrapped, updating fees, finding good node partners, and profitably running a node (and channels) is a complex endeavor and there are some great guides out there.
Just like setting up a Node, Voltage offers infrastructure to get started with channels quickly. One of the fastest ways to get started is to Create any number of Voltage Lightning Nodes, and then create channels between them. You can also download a Lightning Wallet (such as WalletOfSatoshi), create a channel to it, and then pay yourself over the network.
There are a lot of evolving resources here and will be updated on an ongoing basis.