Author: ZmnSCPxj 2019-10-20 14:00:58
Published on: 2019-10-20T14:00:58+00:00
Nodelets and channel factories are proposals aimed at improving the scalability of the Lightning Network. Unpublished channels are an approach to reducing the size of the routemap by decreasing the number of public nodes and channels. However, this method has its drawbacks, such as earning fewer routing fees and exposing financial activity to the counterparty public node.Channel factories, on the other hand, utilize an n-of-n UTXO that is split into multiple 2-of-2 channels, providing substantial scaling benefits. Nodelets, in turn, are a MuSig of all the nodelets composing the node. All funds owned by the node are publicly seen as a single owner, but are really a MuSig of the nodelet public keys. This allows for reduced blockchain footprint and fewer locked funds in channels as the nodelet funds back the channels of the MuSig node directly.However, nodelets leak part of the financial information to each other, unlike channel factories containing published channels. The deployment of channel factories will increase the size of the public routemap, which can increase the branching factor experienced by pathfinding algorithms.Under Poon-Dryja, each update requires the generation of a revocation secret, but this means that nodes composed of nodelets cannot safely use it. Instead, the newer Decker-Russell-Osuntokun construction can be used for all channels, reducing revocation shenanigans. Funding channels involve exchanging signatures between the node MuSig(A,B,C) and another node, Z, and splitting up the value to two outputs. Accepting channels involves contacting its component nodelets A, B, and C to generate the signature needed for the funding_signed message.Forwarding HTLCs involves pre-reserving some capacity in the MuSig(A,B,C)-to-Z channel and using the funds of A and B (5mBTC each) to form an outgoing 2mBTC HTLC. Creating invoices involves generating an invoice with h for description, with C signing the invoice using only its own private key. Receiving funds involves both A and B generating a transaction, which claims the incoming HTLC and gives it solely to C, allowing C to claim the funds even if it has to enforce it on-chain.In summary, nodelets and channel factories provide scalability improvements for Lightning Network, with nodelets requiring less funds locked in channels but leaking financial information, while channel factories increase the size of the public routemap. The newer Decker-Russell-Osuntokun construction can be used for all channels while reducing revocation shenanigans. Funding channels, accepting channels, forwarding HTLCs, creating invoices, and receiving funds are key processes used within Lightning Network.A new proposal allows multiple owners to put in funds into a single unspent transaction output (UTXO) and still use the funds through the Lightning Network. This development marks a difference from the traditional Decker-Russell-Osuntokun mechanism, where nodelet-owned channels have a single `nSequence` constraint. In comparison, channel factories have two `nSequence` constraints: one at the channel factory layer and another at the channel layer. However, the Poon-Dryja update mechanism could remove this constraint, making it more efficient. There is a downside to channel factories as they require more on-chain footprint on uncooperative closes due to the increased number of update mechanisms. Moreover, channel factories increase the number of channels on the network, thereby increasing pathfinding efforts. In contrast, nodelets reduce the number of nodes.
Updated on: 2023-06-01T18:21:13.062558+00:00