Dan Gould [ARCHIVE] on Nostr: π Original date posted:2022-11-08 π Original message:Funding channels on a ...
π
Original date posted:2022-11-08
π Original message:Funding channels on a lightning node can be a pain. First, I need to send funds to my node on-chain. Then I need to make another transaction to open channels. Instead, we can use the BIP 78 PayJoin P2EP protocol to fund and open channels in a single transaction.
We do not communicate over the shared blockchain, we share the blockchain by communicating.
Here is an illustration of how the BIP 78 protocol pairs with the BOLT 2 Channel establishment protocol:
ββββββββββββββββ βββββββββββββββββββ ββββββββ
βLightning Peerβ βMy Lightning Nodeβ βSenderβ
ββββββββ¬ββββββββ βββββββββ¬ββββββββββ βββββ¬βββ
β β β
β BOLT 2 ββββββββ Bip21 with ?pj= ββββββββΊβ
β Channel Establishment β β
β ββββββββ Original PSBT βββββββββββ€
β β β
β β β
ββββββββββ open_channel ββββββββββ€ β
β β β
βββββββββ accept_channel ββββββββΊβ β
β β BIP 78 β
β β β
βββββββββ funding_created ββββββββ€ β
β β β
βββββββββ funding_signed ββββββββΊβ β
β β β
β β PayJoin Proposal β
β βββββββ PSBT ββββββββΊβ
β β β
β β β
β β ββ PayJoin + Funding ββββββββ€
β β β Transaction β
β β β β
xβxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxβxxx βΌ xxxxxxxxxxxxxxxxxxxxxxxxxxβx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx BITCOIN NETWORK xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xβxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxβxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxβx
β β β
ββββββββββchannel_ready ββββββββββ€ β
β β β
βββββββββ channel_ready βββββββββΊβ β
β β β
We use P2EP to automate [PSBT Channel establishment](https://gist.github.com/yuyaogawa/3d69bfa03b0702b8ff12c210bc795a6a) communications. As an added benefit, The BIP 78 spec helps avoid surveillance heuristics as well. On-chain, these transactions look like regular PayJoins when using Taproot outputs.
I thank Martin HabovΕ‘tiak for the initial work on this idea. Thank you to Riccardo Casatta for developing the rust payjoin crate further. Thank you to Evan Lin for early hacking late nights on this idea. Thanks to my Legends of Lightning Tournament teammates Armin Sabouri and Nick Farrow.
We have released "nolooking," an experimental alpha that implements this work, on the Umbrel app store.
A brand new node can become totally connected in a single transaction that opens channels to outbound peers, and could immediately swap for inbound capacity. Just by scanning a single QR code.
[Source](https://github.com/chaincase-app/nolooking)
Want to help? The rust [payjoin crate](https://github.com/Kixunil/payjoin) needs love in the form of code review and unit testing. Donβt hesitate to reach out.
Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221108/fac7c62b/attachment-0001.html>
π Original message:Funding channels on a lightning node can be a pain. First, I need to send funds to my node on-chain. Then I need to make another transaction to open channels. Instead, we can use the BIP 78 PayJoin P2EP protocol to fund and open channels in a single transaction.
We do not communicate over the shared blockchain, we share the blockchain by communicating.
Here is an illustration of how the BIP 78 protocol pairs with the BOLT 2 Channel establishment protocol:
ββββββββββββββββ βββββββββββββββββββ ββββββββ
βLightning Peerβ βMy Lightning Nodeβ βSenderβ
ββββββββ¬ββββββββ βββββββββ¬ββββββββββ βββββ¬βββ
β β β
β BOLT 2 ββββββββ Bip21 with ?pj= ββββββββΊβ
β Channel Establishment β β
β ββββββββ Original PSBT βββββββββββ€
β β β
β β β
ββββββββββ open_channel ββββββββββ€ β
β β β
βββββββββ accept_channel ββββββββΊβ β
β β BIP 78 β
β β β
βββββββββ funding_created ββββββββ€ β
β β β
βββββββββ funding_signed ββββββββΊβ β
β β β
β β PayJoin Proposal β
β βββββββ PSBT ββββββββΊβ
β β β
β β β
β β ββ PayJoin + Funding ββββββββ€
β β β Transaction β
β β β β
xβxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxβxxx βΌ xxxxxxxxxxxxxxxxxxxxxxxxxxβx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx BITCOIN NETWORK xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xβxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxβxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxβx
β β β
ββββββββββchannel_ready ββββββββββ€ β
β β β
βββββββββ channel_ready βββββββββΊβ β
β β β
We use P2EP to automate [PSBT Channel establishment](https://gist.github.com/yuyaogawa/3d69bfa03b0702b8ff12c210bc795a6a) communications. As an added benefit, The BIP 78 spec helps avoid surveillance heuristics as well. On-chain, these transactions look like regular PayJoins when using Taproot outputs.
I thank Martin HabovΕ‘tiak for the initial work on this idea. Thank you to Riccardo Casatta for developing the rust payjoin crate further. Thank you to Evan Lin for early hacking late nights on this idea. Thanks to my Legends of Lightning Tournament teammates Armin Sabouri and Nick Farrow.
We have released "nolooking," an experimental alpha that implements this work, on the Umbrel app store.
A brand new node can become totally connected in a single transaction that opens channels to outbound peers, and could immediately swap for inbound capacity. Just by scanning a single QR code.
[Source](https://github.com/chaincase-app/nolooking)
Want to help? The rust [payjoin crate](https://github.com/Kixunil/payjoin) needs love in the form of code review and unit testing. Donβt hesitate to reach out.
Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221108/fac7c62b/attachment-0001.html>