Blog
What are the differences between “public” and “private” channels?

What are the differences between “public” and “private” channels?

Lorenzo
Lorenzo

April 4, 2023

A payment channel is a mechanism that enables the establishment a financial relationship between two nodes on the Lightning Network. These nodes are referred to as channel partners and are responsible for allocating a balance of funds between them. This financial relationship created by the payment channel allows for faster and cheaper transactions, eliminating the need for each transaction to be verified and recorded on the blockchain.

Channel Announcement

When a payment channel is created, the channel partners can choose if they want to broadcast a message to other network peers announcing the channel's creation. This message is called a “channel announcement message”. It is what differentiates public and private channels: public channels are those that broadcast the channel announcement message, while private channels don’t broadcast a channel announcement message. They are also called “announced” and “unannounced” channels.

The channel announcement message allows other peers to learn about the existence of the new channel, and to be able to route payments through it. Therefore, a payment channel only needs to be announced to the network if it will be used for routing payments.

Among other items, this message contains:

Other nodes in the network will verify that the channel partners own the coins in the funding transaction, and if so, add the relevant information about the channel to their database, so they can use it afterward to search for a route to send a payment through.

Consequences of announcing (or not) a payment channel

As discussed, the channel must be announced if you want to use the channel for routing payments. Hence, anyone can see the funding transaction on the blockchain and get information about the total amount and the coins locked in the channel. If payments are eventually routed through the channel, the liquidity distribution between the partners will also change. This means that the channel partners might need to be more active in managing the liquidity on the channel.

As for private channels, they obviously can’t be used to route payments by other nodes. There’s one exception for this: when the receiver adds additional information known as “routing hints” to an invoice so the sender can use the unannounced channel in the last hop. Since the information about the funding transaction will not be broadcasted, a private channel makes it more difficult to associate UTXOs from a funding transaction with a lightning node. Finally, channel partners frequently use private channels that only need to transact between them.

One curious consequence of not announcing payment channels is that it’s impossible to know the true size and capacity of the Lightning Network. It’s only possible to account for public channels.

How private is a private channel?

The use of the word “private” can be misleading. Keep in mind that in this context “private” means unannounced. It’s possible to reveal information about a private channel. Routing hints and force channel closes are some of the ways to do that.

If you want to know more about how private channels can be de-anonymized, you can check out this piece on privacy on the lightning network.

Summary

Create your own node below, or learn more about our Lightning Enterprise solution today.

Also enjoy exploring our LSP and receiving inbound liquidity with Flow.

Share this post

Start Building on Bitcoin Now