Skip to content

bLIP-56: Pluggable Channel Factories. - #56

Open
ZmnSCPxj-jr wants to merge 1 commit into
lightning:masterfrom
ZmnSCPxj-jr:pluggable-chanfac
Open

ZmnSCPxj-jr wants to merge 1 commit into
lightning:masterfrom
ZmnSCPxj-jr:pluggable-chanfac

Conversation

@ZmnSCPxj-jr

@ZmnSCPxj-jr ZmnSCPxj-jr commented Dec 2, 2024 •

Copy link
Copy Markdown

Channel factories are a way of scaling Bitcoin by hosting offchain channels, not directly onchain, but in another offchain mechanism. The hosting mechanism is called a channel factory. The channel factory can change the funding amounts of channels inside the factory, without any onchain transactions.

This pluggable channel factory protocol is a proposal by which base node software can handle channel state, while letting external code handle state of the channel factory. As far as the node software is concerned, the channel is a "0-conf" channel whose funding transaction never seems to confirm, even though the state is actually backed by an offchain mechanism that ensures that the channel can be unilaterally closed in the worst-case scenario.

When the channel factory wants to change the funding amounts of hosted channels, the node software acts as if a splice operation is being performed, which changes the funding amount (or not changes it, if it is other channels in the same factory that are changed but not this one). When the channel factory offchain mechanism has settled to a new state, it is as if a splice transaction was successfully deeply confirmed.

@ZmnSCPxj-jr

Copy link
Copy Markdown
Author

Updated blip number to 56, as per PR number.

@ZmnSCPxj-jr ZmnSCPxj-jr changed the title blip-XX: Pluggable Channel Factories. bLIP-56: Pluggable Channel Factories. Dec 2, 2024
@t-bast

t-bast commented Dec 12, 2024

Copy link
Copy Markdown
Contributor

I think we should wait for a reference implementation, indicating that this will actually be used in practice before merging this bLIP. But it's fine to keep the PR open to guide future implementers!

@tnull

tnull commented Dec 13, 2024 •

Copy link
Copy Markdown
Contributor

I think we should wait for a reference implementation, indicating that this will actually be used in practice before merging this bLIP. But it's fine to keep the PR open to guide future implementers!

Hmm, I'm a bit confused about exact process (also related to #55), as bLIP-01 states:

Reference Implementation -- The reference implementation must be completed before any bLIP is given status "Final", but it need not be completed before the bLIP is accepted. It is better to finish the specification and rationale first and reach consensus on it before writing code. The final implementation must include test code and documentation appropriate for the Lightning protocol.

Wouldn't this indicate that bLIPs would get accepted (read: merged) in Draft status if they meet the other criteria, and could advance to Proposed/Final once the reference implmentation is finished?

@t-bast

t-bast commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

Wouldn't this indicate that bLIPs would get accepted (read: merged) in Draft status if they meet the other criteria, and could advance to Proposed/Final once the reference implmentation is finished?

True, but if there is an implementation (or potentially multiple) that are in-progress: the goal of merging early in draft is mainly when more than one implementations are in-progress and they want to make sure they're building on the same foundations. I believe that we shouldn't accept bLIPs that nobody is actually implementing: if this is just a research protocol that should be iterated on before someone actually wants to use it, delving bitcoin is a better place.

@tnull

tnull commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

True, but if there is an implementation (or potentially multiple) that are in-progress: the goal of merging early in draft is mainly when more than one implementations are in-progress and they want to make sure they're building on the same foundations. I believe that we shouldn't accept bLIPs that nobody is actually implementing: if this is just a research protocol that should be iterated on before someone actually wants to use it, delving bitcoin is a better place.

Alright, makes sense, thanks for clarifying!

davelund110 pushed a commit to davelund110/blips that referenced this pull request Oct 9, 2026
Bits 264/265 are already claimed by lightning#73
(option_path_queries), open since 2026-07-15 and mergeable. Only merged
reservations show in bLIP 2 on master, so the next-free pair reads as
264/265 when it is not. Of the pairs above 263, 266/267 and 268/269 are
the only ones no open PR claims; 270/271 goes to lightning#56.

Simple taproot channels is no longer a proposal: lightning/bolts#995
merged on 2026-05-04 as bolt-simple-taproot.md. Refer to the extension
BOLT and link it, and reflow the paragraph.

Also fix a comma splice in Per-commitment points, and pad the bLIP 2
row to the table's columns.
davelund110 pushed a commit to davelund110/blips that referenced this pull request Oct 9, 2026
Bits 264/265 are already claimed by lightning#73
(option_path_queries), open since 2026-07-15 and mergeable. Only merged
reservations show in bLIP 2 on master, so the next-free pair reads as
264/265 when it is not. Of the pairs above 263, 266/267 and 268/269 are
the only ones no open PR claims; 270/271 goes to lightning#56.

Simple taproot channels is no longer a proposal: lightning/bolts#995
merged on 2026-05-04 as bolt-simple-taproot.md. Refer to the extension
BOLT and link it, and reflow the paragraph.

Also fix a comma splice in Per-commitment points, and pad the bLIP 2
row to the table's columns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants