I am reading paper named "Scalable Funding of Bitcoin Micropayment Channel Networks".

If Alice, Bob, and Charlie created a channel factory, I thought that only these three people can make a payment channel within themselves. However, the paper says "Users will be able to enter the system with one blockchain transaction and then open many channels without further blockchain contact." (page 3).

In the above case (i.e., Alice, Bob and Charlie created a channel factory), Hook transaction becomes 3-of-3 multisig. If Diana wants to join the channel factory, Hook transaction consisted of three peoples already. so I think Diana can’t join in their channel factory.

enter image description here

There is no example in this case in the paper(above picture). Is the way I understand correct ? or not ?

And I wonder how to refund without closing and re-opening ? As you can read in this paper, When a party enters a channel factory, the deposit that the party input is already set at that moment. or.. the meaning of refund in here is moving funds to different channels ?

1 Answer 1


You are correct. It is not possible to get Diana into the Channel Factory without a transaction that closes and reopens with Diana.

Splicing-in and splicing-out as explained by Decker et al. in the paper you mention is not secure.

Imagine the following situation:

Broken Factory Situation by Splicing Out mechanism

Alice, Bob and Carol spliced out Dave by creating a new Allocation within the same factory, similar to how Decker et al. explain in figure 9 of their paper. Bob and Alice might tell carol that R^2 is the last update of their channel, but actually they updated to R^3, completely invalidating the new allocation. Carol might have accepted payments in such new factory that will never be reflected. For this same reason, splicing in users is also not secure.

Ranchal-Pedrosa et al. refer to this problem as the broken factory, and suggest alternative factories constructions, comparing them, in their paper Lightning Factories.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.