Thank you Bastien Didn't know about this PR. Should have searched more thoroughly next time. But good to see this feature is underway.
-- Ole Henrik Skogstrøm Mobile: (+47) 97 42 74 44 On Wed, Sep 22, 2021 at 8:58 AM Bastien TEINTURIER <[email protected]> wrote: > Hi, > > This is exactly what the dual funding proposal provides: > https://github.com/lightningnetwork/lightning-rfc/pull/851 > > Cheers, > Bastien > > Le mer. 22 sept. 2021 à 07:29, Ole Henrik Skogstrøm < > [email protected]> a écrit : > >> Hi >> >> I have found a way of opening balanced channels using LND's psbt option >> when opening channels. What I'm doing is essentially just joining funded >> PSBTs before signing and submitting them. This makes it possible to open a >> balanced channel between two nodes or open a ring of balanced channels >> between multiple nodes (ROF). >> >> I found this interesting, however I don't know if this is somehow unsafe >> or for some other reason a bad idea. If not, then it could be an >> interesting alternative to only being able to open unbalanced channels. >> >> To do this efficiently, nodes need to collaborate by sending PSBTs back >> and forth to each other and doing this manually is a pain, so if this makes >> sense to do, it would be best to automate it through a client. >> >> ---------------------- >> --- Here is an example of the complete flow for a single channel: >> ---------------------- >> >> ** Node A: generates a new address and sends address to Node B *(lncli >> newaddress p2wkh) >> >> ** Node A starts an Interactive channel **open** to Node B* *using psbt* >> (lncli openchannel --psbt <node_b_pubkey> 2000000 1000000) >> >> ** Node A funds the channel address *(bitcoin-cli walletcreatefundedpsbt >> [] '[{"<channel_address>":0.02}]') >> >> ** Node B funds the refund transaction to Node A and sends PSBT back to >> Node A (*bitcoin-cli walletcreatefundedpsbt [] >> '[{"<node_a_return_address>":0.01}]') >> >> * *Node A joins the two PSBTs and sends it back to Node B (*bitcoin-cli >> joinpsbts '["<channel_open_psbt>", "<node_b_return_to_node_a_psbt>"]') >> >> ** Node B verifies the content and signs the joined PSBT before sending >> it back to Node A *(bitcoin-cli walletprocesspsbt <joined_psbt>) >> >> ** Node A: Verifies the content and signs the joined PSBT *(bitcoin-cli >> walletprocesspsbt <joined_psbt>) >> >> ** Node A: Completes channel open by publishing the fully signed PSBT* >> >> >> ---------------------- >> --- Here is an example of the complete flow for a ring of channels >> between multiple nodes: >> ---------------------- >> >> ** Node A starts an Interactive open channel to Node B using psbt* >> (lncli openchannel --psbt --no_publish <node_b_pubkey> 2000000 1000000) >> ** Node A funds the channel address* (bitcoin-cli walletcreatefundedpsbt >> [] '[{"<channel_address>":0.02}]') >> >> ** Node B starts an Interactive open channel to Node C using psbt* >> (lncli openchannel --psbt --no_publish <node_b_pubkey> 2000000 1000000) >> ** Node B funds the channel address* (bitcoin-cli walletcreatefundedpsbt >> [] '[{"<channel_address>":0.02}]') >> >> ** Node C starts an Interactive open channel to Node A using psbt* >> (lncli openchannel --psbt <node_b_pubkey> 2000000 1000000) >> ** Node C funds the channel address *(bitcoin-cli walletcreatefundedpsbt >> [] '[{"<channel_address>":0.02}]') >> >> ** Node B and C sends Node A their PSBTs* >> >> ** Node A joins all the PSBTs* (bitcoin-cli joinpsbts >> '["<A_funded_channel_psbt>", "<B_funded_channel_psbt>", >> "<C_funded_channel_psbt>"]') >> >> Using (bitcoin-cli walletprocesspsbt <joined_psbt>): >> >> >> >> ** Node A verifies and signs the PSBT and sends it to Node B (1/3 >> signatures)* Node B verifies and signs the PSBT and sends it to Node C (2/3 >> signatures)* Node C verifies and signs the PSBT (3/3 signatures) before >> sending it to Node A and B.* >> >> >> ** Node A completes channel open (no_publish)* Node B completes channel >> open (no_publish)* Node C completes channel open and publishes the >> transaction.* >> >> -- >> Ole Henrik Skogstrøm >> >> _______________________________________________ >> Lightning-dev mailing list >> [email protected] >> https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev >> >
_______________________________________________ Lightning-dev mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev
