One of the main criticism of the bitcoin’s Lightning network has been the issue of opening/closing payment channels due to the fact that settlement had to be onchain. Well, that may no longer be the case in the future with the introduction of channel factories.
WHAT ARE CHANNEL FACTORIES?
In short, Channel Factories are payment channels that can be used to create more payment channels. That sounds weird, but it’s really pretty simple:
In a regular payment channel, you always have a transaction signed by all participating parties that’s ready to commit the current channel balances to the block chain. For example, in a channel between Alice and Bob, this transaction might have two outputs, one paying Alice 0.25 BTC and one paying Bob 0.75 BTC. If this example transaction were broadcast, it would close the payment channel between Alice and Bob.
However, it’s possible to format the ready-to-commit transaction as a transaction that not only closes the existing payment channel but which also opens a new payment channel. In that case, the same security that allows the initial payment channel to have zero-conf security also extends its security to the second payment channel.
The key feature of a regular payment channel is the ability to securely update the state (balance) of the channel many times without creating extra on-chain transactions, so the key feature of a Channel Factory is the ability to securely create and destroy new payment channels without creating extra on-chain transactions.
HOW WOULD THEY WORK?
At least two people and preferably ten or more get together to create a payment channel (channel factory) deposit transaction. This has the regular payment channel logic that allows all of the participants to spend the money if they all agree, or for a dissatisfied participant to individually withdraw his funds if the other participants become uncooperative.
When the deposit transaction has enough confirmations to satisfy all the participants, they update the state of the initial payment channel (channel factory) to create a bunch of non-broadcast payment channel opens between themselves. (The channels need to be between themselves because they each need to ensure none of the bitcoins used to open the channel are spent twice, i.e. double spent.)
Since the initial payment channel (channel factory) already has sufficient confirmations, opening the secondary payment channels is instant. The second payment channels can then be used like normal payment channels (e.g. for routable payments Lightning Network) except that when it comes time to close them, the participants have the option of either committing the final state to the block chain or simply updating their balances in the channel factory in order to start a new channel.
The obvious advantage of channel factories is that it allows numerous Lightning Network payment channels to be opened among many users without requiring on-chain transactions, reducing congestion on the main Bitcoin blockchain network. Or, to use the ever-popular (among crypto-enthusiasts) Lewis Carrol analogy; you tumble down deeper into the rabbit hole and do transactions two levels apart from the Bitcoin blockchain. It’s like taking a back road to avoid traffic and then turning onto another back road from there.
This is a tremendous development in the evolution of Lightning network. Although, the idea is fairly theoretical, there is little doubt that it would be a reality in short amount of time. Interesting times ahead for the future of Lightning network.
Source: David Harding